@likec4/diagram 1.47.0 → 1.49.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 (389) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -10
  3. package/adhoc-editor/package.json +4 -0
  4. package/dist/LikeC4Diagram.d.ts +2 -1
  5. package/dist/LikeC4Diagram.js +85 -81
  6. package/dist/LikeC4Diagram.props.d.ts +10 -6
  7. package/dist/LikeC4ModelProvider.d.ts +4 -4
  8. package/dist/LikeC4ModelProvider.js +2 -2
  9. package/dist/LikeC4ProjectsOverview.d.ts +3 -2
  10. package/dist/LikeC4ProjectsProvider.d.ts +2 -1
  11. package/dist/LikeC4ProjectsProvider.js +10 -8
  12. package/dist/LikeC4Styles.d.ts +3 -6
  13. package/dist/LikeC4Styles.js +44 -43
  14. package/dist/LikeC4View.d.ts +22 -1
  15. package/dist/LikeC4View.js +40 -25
  16. package/dist/ReactLikeC4.d.ts +13 -2
  17. package/dist/ReactLikeC4.js +8 -4
  18. package/dist/StaticLikeC4Diagram.d.ts +2 -1
  19. package/dist/StaticLikeC4Diagram.js +1 -0
  20. package/dist/_virtual/store-1b2fbb72.cjs.js +3 -0
  21. package/dist/_virtual/xstate-store-react.cjs.js +5 -0
  22. package/dist/_virtual/xstate-store-react.cjs2.js +3 -0
  23. package/dist/adhoc-editor/EditorPanel.d.ts +1 -0
  24. package/dist/adhoc-editor/EditorPanel.js +105 -0
  25. package/dist/adhoc-editor/ElementsTree.d.ts +2 -0
  26. package/dist/adhoc-editor/ElementsTree.js +142 -0
  27. package/dist/adhoc-editor/LikeC4AdHocViewEditor.d.ts +4 -0
  28. package/dist/adhoc-editor/LikeC4AdHocViewEditor.js +74 -0
  29. package/dist/adhoc-editor/components/Tree.d.ts +48 -0
  30. package/dist/adhoc-editor/components/Tree.js +296 -0
  31. package/dist/adhoc-editor/hooks.d.ts +14 -0
  32. package/dist/adhoc-editor/hooks.js +29 -0
  33. package/dist/adhoc-editor/index.d.ts +2 -0
  34. package/dist/adhoc-editor/index.js +1 -0
  35. package/dist/adhoc-editor/state/ActorProvider.d.ts +5 -0
  36. package/dist/adhoc-editor/state/ActorProvider.js +40 -0
  37. package/dist/adhoc-editor/state/actor.d.ts +13 -0
  38. package/dist/adhoc-editor/state/actor.editor.d.ts +56 -0
  39. package/dist/adhoc-editor/state/actor.editor.js +205 -0
  40. package/dist/adhoc-editor/state/actor.js +16 -0
  41. package/dist/adhoc-editor/state/actor.layouter.d.ts +51 -0
  42. package/dist/adhoc-editor/state/actor.layouter.js +70 -0
  43. package/dist/adhoc-editor/state/actor.types.d.ts +63 -0
  44. package/dist/adhoc-editor/state/actor.types.js +29 -0
  45. package/dist/adhoc-editor/state/panel.d.ts +95 -0
  46. package/dist/adhoc-editor/state/panel.js +139 -0
  47. package/dist/adhoc-editor/state/utils.d.ts +17 -0
  48. package/dist/adhoc-editor/state/utils.js +32 -0
  49. package/dist/adhoc-editor/useElementsTree.d.ts +18 -0
  50. package/dist/adhoc-editor/useElementsTree.js +130 -0
  51. package/dist/adhoc-editor/viewrules/ViewRulesPanel.d.ts +6 -0
  52. package/dist/base/const.d.ts +2 -0
  53. package/dist/base/const.js +2 -1
  54. package/dist/base/updateEdges.js +26 -3
  55. package/dist/base/updateNodes.js +8 -5
  56. package/dist/base-primitives/Markdown.d.ts +1 -1
  57. package/dist/base-primitives/Markdown.js +1 -1
  58. package/dist/base-primitives/NodeHandles.d.ts +4 -2
  59. package/dist/base-primitives/NodeHandles.js +46 -19
  60. package/dist/base-primitives/compound/CompoundActionButton.js +28 -12
  61. package/dist/base-primitives/compound/CompoundDetailsButton.js +24 -9
  62. package/dist/base-primitives/compound/CompoundNodeContainer.js +11 -8
  63. package/dist/base-primitives/compound/CompoundTitle.js +1 -2
  64. package/dist/base-primitives/compound/actionbtns.css.d.ts +1 -1
  65. package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
  66. package/dist/base-primitives/edge/EdgeContainer.js +5 -2
  67. package/dist/base-primitives/edge/EdgeLabel.js +3 -4
  68. package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +2 -1
  69. package/dist/base-primitives/edge/EdgeLabelContainer.js +17 -20
  70. package/dist/base-primitives/element/ElementActionButtons.js +57 -59
  71. package/dist/base-primitives/element/ElementData.d.ts +7 -7
  72. package/dist/base-primitives/element/ElementData.js +61 -48
  73. package/dist/base-primitives/element/ElementDetailsButton.js +48 -18
  74. package/dist/base-primitives/element/ElementNodeContainer.d.ts +5 -5
  75. package/dist/base-primitives/element/ElementNodeContainer.js +24 -10
  76. package/dist/base-primitives/element/ElementShape.d.ts +2 -2
  77. package/dist/base-primitives/element/ElementShape.js +70 -7
  78. package/dist/base-primitives/element/ElementTags.d.ts +6 -2
  79. package/dist/base-primitives/element/ElementTags.js +55 -32
  80. package/dist/base-primitives/index.d.ts +1 -1
  81. package/dist/base-primitives/memoEdge.js +1 -1
  82. package/dist/base-primitives/memoNode.js +1 -1
  83. package/dist/components/ErrorFallback.js +1 -1
  84. package/dist/components/Link.js +3 -3
  85. package/dist/components/NavigationPanel.d.ts +2 -2
  86. package/dist/components/NavigationPanel.js +5 -26
  87. package/dist/components/PortalToContainer.js +3 -4
  88. package/dist/components/RootContainer.js +9 -19
  89. package/dist/components/ViewNotFound.d.ts +3 -3
  90. package/dist/components/ViewNotFound.js +30 -26
  91. package/dist/context/CurrentViewModelProvider.d.ts +2 -0
  92. package/dist/context/CurrentViewModelProvider.js +12 -0
  93. package/dist/context/DefaultMantineProvider.d.ts +2 -0
  94. package/dist/context/DefaultMantineProvider.js +75 -0
  95. package/dist/context/DiagramEventHandlers.d.ts +5 -5
  96. package/dist/context/DiagramEventHandlers.js +10 -4
  97. package/dist/context/DiagramFeatures.d.ts +8 -7
  98. package/dist/context/DiagramFeatures.js +16 -13
  99. package/dist/context/EnsureMantine.d.ts +0 -3
  100. package/dist/context/EnsureMantine.js +3 -4
  101. package/dist/context/FramerMotionConfig.d.ts +1 -3
  102. package/dist/context/IconRenderer.d.ts +19 -4
  103. package/dist/context/IconRenderer.js +52 -25
  104. package/dist/context/LikeC4ModelContext.d.ts +10 -5
  105. package/dist/context/LikeC4ModelContext.js +11 -3
  106. package/dist/context/LikeC4ProjectsContext.d.ts +3 -2
  107. package/dist/context/LikeC4ProjectsContext.js +6 -2
  108. package/dist/context/RootContainerContext.d.ts +10 -3
  109. package/dist/context/RootContainerContext.js +8 -3
  110. package/dist/context/TagStylesContext.js +13 -5
  111. package/dist/custom/hooks.d.ts +2 -2
  112. package/dist/custom/index.d.ts +1 -1
  113. package/dist/custom/index.js +16 -15
  114. package/dist/editor/LikeC4EditorCallbacks.d.ts +18 -0
  115. package/dist/editor/LikeC4EditorCallbacks.js +5 -0
  116. package/dist/editor/LikeC4EditorProvider.d.ts +30 -18
  117. package/dist/editor/LikeC4EditorProvider.js +3 -3
  118. package/dist/editor/applyChangesToManualLayout.js +7 -6
  119. package/dist/editor/editorActor.actions.d.ts +25 -25
  120. package/dist/editor/editorActor.actions.js +22 -22
  121. package/dist/editor/editorActor.setup.d.ts +84 -0
  122. package/dist/editor/editorActor.setup.js +38 -0
  123. package/dist/editor/editorActor.states.d.ts +9 -0
  124. package/dist/editor/{editorActor.js → editorActor.states.js} +21 -72
  125. package/dist/editor/index.d.ts +4 -3
  126. package/dist/editor/useEditorActorLogic.d.ts +2 -565
  127. package/dist/editor/useEditorActorLogic.js +14 -21
  128. package/dist/hooks/index.d.ts +3 -3
  129. package/dist/hooks/safeContext.d.ts +4 -5
  130. package/dist/hooks/useCallbackRef.d.ts +6 -0
  131. package/dist/hooks/useCallbackRef.js +7 -6
  132. package/dist/hooks/useCurrentView.js +5 -10
  133. package/dist/hooks/useCurrentViewModel.d.ts +8 -2
  134. package/dist/hooks/useCurrentViewModel.js +3 -7
  135. package/dist/hooks/useDiagram.d.ts +9 -1
  136. package/dist/hooks/useDiagram.js +10 -4
  137. package/dist/hooks/useDiagramCompareLayout.d.ts +6 -6
  138. package/dist/hooks/useDiagramCompareLayout.js +1 -1
  139. package/dist/hooks/useLikeC4ElementsTree.d.ts +1 -1
  140. package/dist/hooks/useLikeC4ElementsTree.js +2 -2
  141. package/dist/hooks/useLikeC4Model.d.ts +6 -2
  142. package/dist/hooks/useLikeC4Model.js +7 -9
  143. package/dist/hooks/useLikeC4Project.d.ts +4 -6
  144. package/dist/hooks/useLikeC4Project.js +19 -31
  145. package/dist/hooks/useLikeC4Styles.js +3 -9
  146. package/dist/hooks/useMantinePortalProps.d.ts +1 -1
  147. package/dist/hooks/useMediaPrint.d.ts +0 -2
  148. package/dist/hooks/useOverlaysActor.js +4 -4
  149. package/dist/hooks/useSearchActor.js +4 -4
  150. package/dist/hooks/useSetState.d.ts +6 -1
  151. package/dist/hooks/useSetState.js +7 -4
  152. package/dist/hooks/useXYFlow.d.ts +7 -1
  153. package/dist/hooks/useXYFlow.js +4 -4
  154. package/dist/index.d.ts +5 -4
  155. package/dist/index.js +3 -1
  156. package/dist/likec4diagram/DiagramUI.js +1 -3
  157. package/dist/likec4diagram/DiagramXYFlow.d.ts +2 -1
  158. package/dist/likec4diagram/DiagramXYFlow.js +29 -18
  159. package/dist/likec4diagram/convert-to-xyflow.d.ts +2 -1
  160. package/dist/likec4diagram/convert-to-xyflow.js +2 -6
  161. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +34 -37
  162. package/dist/likec4diagram/custom/edges/edges.css.js +2 -1
  163. package/dist/likec4diagram/custom/edges/useControlPoints.js +3 -3
  164. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.d.ts +3 -0
  165. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +52 -34
  166. package/dist/likec4diagram/custom/nodes/ElementActions.d.ts +1 -2
  167. package/dist/likec4diagram/custom/nodes/ElementActions.js +7 -10
  168. package/dist/likec4diagram/custom/nodes/NodeDrifts.d.ts +1 -2
  169. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +3 -20
  170. package/dist/likec4diagram/custom/nodes/NodeNotes.d.ts +6 -0
  171. package/dist/likec4diagram/custom/nodes/NodeNotes.js +286 -0
  172. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +10 -6
  173. package/dist/likec4diagram/custom/nodes/nodes.js +30 -8
  174. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +5 -4
  175. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.d.ts +6 -1
  176. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +14 -9
  177. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +4 -4
  178. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +3 -3
  179. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +16 -36
  180. package/dist/likec4diagram/relationship-popover/components.d.ts +7 -0
  181. package/dist/likec4diagram/relationship-popover/components.js +39 -0
  182. package/dist/likec4diagram/state/DiagramActorProvider.d.ts +4 -3
  183. package/dist/likec4diagram/state/DiagramActorProvider.js +39 -66
  184. package/dist/likec4diagram/state/assign.d.ts +1 -1
  185. package/dist/likec4diagram/state/createViewChange.js +16 -4
  186. package/dist/likec4diagram/state/diagram-api.d.ts +11 -0
  187. package/dist/likec4diagram/state/diagram-api.js +15 -0
  188. package/dist/likec4diagram/state/machine.actions.d.ts +92 -0
  189. package/dist/likec4diagram/state/machine.actions.js +127 -58
  190. package/dist/likec4diagram/state/machine.actions.layout.d.ts +23 -2
  191. package/dist/likec4diagram/state/machine.actions.layout.js +68 -15
  192. package/dist/likec4diagram/state/machine.d.ts +1 -1
  193. package/dist/likec4diagram/state/machine.js +35 -31
  194. package/dist/likec4diagram/state/machine.setup.d.ts +40 -7
  195. package/dist/likec4diagram/state/machine.setup.js +13 -4
  196. package/dist/likec4diagram/state/machine.state.initializing.d.ts +32 -2
  197. package/dist/likec4diagram/state/machine.state.navigating.d.ts +1 -1
  198. package/dist/likec4diagram/state/machine.state.navigating.js +82 -50
  199. package/dist/likec4diagram/state/machine.state.ready.d.ts +565 -579
  200. package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +17 -148
  201. package/dist/likec4diagram/state/machine.state.ready.focused.js +6 -14
  202. package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +11 -96
  203. package/dist/likec4diagram/state/machine.state.ready.idle.js +7 -12
  204. package/dist/likec4diagram/state/machine.state.ready.js +89 -70
  205. package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +4 -0
  206. package/dist/likec4diagram/state/machine.state.ready.printing.js +4 -3
  207. package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +145 -2
  208. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +29 -21
  209. package/dist/likec4diagram/state/types.d.ts +1 -1
  210. package/dist/likec4diagram/state/utils.d.ts +14 -14
  211. package/dist/likec4diagram/state/utils.js +12 -4
  212. package/dist/likec4diagram/types.d.ts +11 -3
  213. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +2 -2
  214. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
  215. package/dist/likec4diagram/useLayoutConstraints.d.ts +12 -12
  216. package/dist/likec4diagram/useLayoutConstraints.js +126 -84
  217. package/dist/likec4diagram/xyflow-diagram/diagram-view.d.ts +11 -3
  218. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +7 -3
  219. package/dist/likec4diagram/xyflow-sequence/sequence-layout.d.ts +7 -3
  220. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +15 -8
  221. package/dist/navigationpanel/NavigationPanel.js +4 -3
  222. package/dist/navigationpanel/NavigationPanelControls.js +4 -2
  223. package/dist/navigationpanel/NavigationPanelDropdown.js +13 -13
  224. package/dist/navigationpanel/_common.d.ts +1 -1
  225. package/dist/navigationpanel/_common.js +2 -3
  226. package/dist/navigationpanel/actor.js +1 -1
  227. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +2 -2
  228. package/dist/navigationpanel/comparepanel/ComparePanel.js +155 -29
  229. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +1 -1
  230. package/dist/navigationpanel/comparepanel/DriftsSummary.d.ts +1 -0
  231. package/dist/navigationpanel/comparepanel/DriftsSummary.js +264 -0
  232. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +4 -5
  233. package/dist/navigationpanel/controls/DetailsControls.js +7 -7
  234. package/dist/navigationpanel/controls/LayoutWarning.js +2 -2
  235. package/dist/navigationpanel/controls/LogoButton.js +1 -1
  236. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  237. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  238. package/dist/navigationpanel/controls/SearchControl.d.ts +1 -2
  239. package/dist/navigationpanel/controls/SearchControl.js +8 -12
  240. package/dist/navigationpanel/controls/ToggleReadonly.js +5 -6
  241. package/dist/navigationpanel/dropdown/ProjectsMenu.js +12 -6
  242. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  243. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  244. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  245. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
  246. package/dist/navigationpanel/editorpanel/styles.js +4 -4
  247. package/dist/navigationpanel/styles.css.d.ts +1 -1
  248. package/dist/navigationpanel/styles.css.js +1 -1
  249. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +6 -6
  250. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +77 -77
  251. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
  252. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +2 -2
  253. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
  254. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
  255. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +2 -2
  256. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
  257. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
  258. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
  259. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +1 -1
  260. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +2 -2
  261. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
  262. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
  263. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
  264. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
  265. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +14 -0
  266. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +2 -2
  267. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +2 -2
  268. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +1 -1
  269. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
  270. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
  271. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js +2 -2
  272. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +14 -0
  273. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
  274. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
  275. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +14 -0
  276. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
  277. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +2 -2
  278. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +2 -2
  279. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +2 -2
  280. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +2 -2
  281. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +2 -2
  282. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +2 -2
  283. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +2 -2
  284. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +2 -2
  285. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
  286. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
  287. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +2 -2
  288. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +2 -2
  289. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
  290. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
  291. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
  292. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
  293. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +2 -2
  294. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +2 -2
  295. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +14 -0
  296. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +2 -2
  297. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
  298. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
  299. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
  300. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +2 -2
  301. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
  302. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js +14 -0
  303. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
  304. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
  305. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.3 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
  306. package/dist/node_modules/.pnpm/@xstate_store@3.14.0_react@19.2.4/node_modules/@xstate/store/dist/store-1b2fbb72.cjs.js +742 -0
  307. package/dist/node_modules/.pnpm/@xstate_store@3.14.0_react@19.2.4/node_modules/@xstate/store/react/dist/xstate-store-react.cjs.js +175 -0
  308. package/dist/overlays/element-details/ElementDetailsCard.css.js +15 -15
  309. package/dist/overlays/element-details/ElementDetailsCard.js +39 -40
  310. package/dist/overlays/element-details/MetadataValue.js +11 -12
  311. package/dist/overlays/element-details/TabPanelDeployments.js +8 -6
  312. package/dist/overlays/element-details/TabPanelRelationships.css.js +10 -30
  313. package/dist/overlays/element-details/TabPanelRelationships.js +4 -5
  314. package/dist/overlays/element-details/TabPanelStructure.css.js +3 -3
  315. package/dist/overlays/element-details/TabPanelStructure.js +3 -2
  316. package/dist/overlays/overlaysActor.js +19 -1
  317. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +0 -5
  318. package/dist/overlays/relationship-details/RelationshipDetails.js +4 -4
  319. package/dist/overlays/relationship-details/SelectEdge.css.js +6 -6
  320. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  321. package/dist/overlays/relationship-details/compute.js +1 -1
  322. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  323. package/dist/overlays/relationship-details/custom/nodeTypes.js +14 -1
  324. package/dist/overlays/relationship-details/layout.js +1 -1
  325. package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +0 -5
  326. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +116 -21
  327. package/dist/overlays/relationships-browser/SelectElement.css.js +2 -2
  328. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  329. package/dist/overlays/relationships-browser/actor.js +1 -1
  330. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  331. package/dist/overlays/relationships-browser/custom/EmptyNode.js +21 -6
  332. package/dist/overlays/relationships-browser/custom/nodeTypes.js +14 -1
  333. package/dist/overlays/relationships-browser/layout.d.ts +1 -1
  334. package/dist/overlays/relationships-browser/layout.js +1 -1
  335. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +1 -1
  336. package/dist/projects-overview/ProjectsOverview.js +2 -2
  337. package/dist/projects-overview/ProjectsOverviewXY.d.ts +1 -5
  338. package/dist/projects-overview/ProjectsOverviewXY.js +1 -1
  339. package/dist/projects-overview/actor.d.ts +1 -1
  340. package/dist/projects-overview/actor.js +8 -31
  341. package/dist/projects-overview/context.d.ts +2 -2
  342. package/dist/projects-overview/context.js +2 -1
  343. package/dist/projects-overview/custom/nodeTypes.js +1 -1
  344. package/dist/projects-overview/panel/ProjectsOverviewPanel.js +1 -1
  345. package/dist/search/Search.d.ts +2 -4
  346. package/dist/search/Search.js +67 -44
  347. package/dist/search/components/ElementsColumn.css.js +6 -6
  348. package/dist/search/components/ElementsColumn.js +93 -60
  349. package/dist/search/components/PickView.d.ts +3 -1
  350. package/dist/search/components/PickView.js +12 -7
  351. package/dist/search/components/SearchByTags.js +1 -1
  352. package/dist/search/components/SearchInput.js +2 -2
  353. package/dist/search/components/ViewsColum.d.ts +2 -1
  354. package/dist/search/components/ViewsColum.js +39 -35
  355. package/dist/search/components/ViewsColumn.css.js +1 -1
  356. package/dist/search/components/_shared.css.d.ts +1 -1
  357. package/dist/search/components/_shared.css.js +12 -12
  358. package/dist/search/components/utils.js +1 -4
  359. package/dist/search/hooks.d.ts +1 -6
  360. package/dist/search/hooks.js +15 -9
  361. package/dist/search/searchActor.d.ts +12 -2
  362. package/dist/search/searchActor.js +60 -4
  363. package/dist/shadowroot/ShadowRoot.d.ts +5 -2
  364. package/dist/shadowroot/ShadowRoot.js +25 -22
  365. package/dist/shadowroot/styles.css.d.ts +0 -2
  366. package/dist/shadowroot/styles.css.js +4 -36
  367. package/dist/styles-font.css2.js +1 -1
  368. package/dist/styles.css2.js +1 -1
  369. package/dist/utils/view-bounds.d.ts +3 -2
  370. package/dist/utils/view-bounds.js +10 -6
  371. package/dist/utils/xyflow.d.ts +27 -6
  372. package/dist/utils/xyflow.js +68 -23
  373. package/package.json +39 -37
  374. package/panda.buildinfo.json +226 -161
  375. package/styles-font.css +1 -1
  376. package/styles-min.css +1 -1
  377. package/styles.css +1 -1
  378. package/bundle/index.js +0 -51974
  379. package/bundle/package.json +0 -4
  380. package/dist/editor/__tests__/fixture.d.ts +0 -205
  381. package/dist/editor/editorActor.d.ts +0 -653
  382. package/dist/likec4diagram/relationship-popover/styles.css.d.ts +0 -2
  383. package/dist/likec4diagram/relationship-popover/styles.css.js +0 -28
  384. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -14
  385. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -14
  386. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -14
  387. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -14
  388. package/dist/overlays/relationships-browser/custom/styles.css.d.ts +0 -1
  389. package/dist/overlays/relationships-browser/custom/styles.css.js +0 -14
@@ -0,0 +1,175 @@
1
+ import { __exports as xstateStoreReact_cjs } from '../../../../../../../../_virtual/xstate-store-react.cjs2.js';
2
+ import require$$0 from 'react';
3
+ import { __require as requireStore1b2fbb72_cjs } from '../../dist/store-1b2fbb72.cjs.js';
4
+
5
+ var hasRequiredXstateStoreReact_cjs;
6
+
7
+ function requireXstateStoreReact_cjs () {
8
+ if (hasRequiredXstateStoreReact_cjs) return xstateStoreReact_cjs;
9
+ hasRequiredXstateStoreReact_cjs = 1;
10
+
11
+ Object.defineProperty(xstateStoreReact_cjs, '__esModule', { value: true });
12
+
13
+ var react = require$$0;
14
+ var store = /*@__PURE__*/ requireStore1b2fbb72_cjs();
15
+
16
+ function defaultCompare(a, b) {
17
+ return a === b;
18
+ }
19
+ function identity(snapshot) {
20
+ return snapshot;
21
+ }
22
+ function useSelectorWithCompare(selector, compare) {
23
+ const previous = react.useRef(undefined);
24
+ return snapshot => {
25
+ const next = selector(snapshot);
26
+ return previous.current && compare(previous.current, next) ? previous.current : previous.current = next;
27
+ };
28
+ }
29
+
30
+ /**
31
+ * A React hook that subscribes to the `store` and selects a value from the
32
+ * store's snapshot via a selector function, with an optional compare function.
33
+ *
34
+ * @example
35
+ *
36
+ * ```ts
37
+ * function Component() {
38
+ * const count = useSelector(store, (s) => s.count);
39
+ *
40
+ * return <div>{count}</div>;
41
+ * }
42
+ * ```
43
+ *
44
+ * @param store The store, created from `createStore(…)`
45
+ * @param selector A function which takes in the `snapshot` and returns a
46
+ * selected value
47
+ * @param compare An optional function which compares the selected value to the
48
+ * previous value
49
+ * @returns The selected value
50
+ */
51
+
52
+ /**
53
+ * A React hook that subscribes to the `store` and selects a value from the
54
+ * store's snapshot via an optional selector function (identity by default),
55
+ * with an optional compare function.
56
+ *
57
+ * @example
58
+ *
59
+ * ```ts
60
+ * function Component() {
61
+ * const countSnapshot = useSelector(store);
62
+ *
63
+ * return <div>{countSnapshot.context.count}</div>;
64
+ * }
65
+ * ```
66
+ *
67
+ * @param store The store, created from `createStore(…)`
68
+ * @param selector An optional function which takes in the `snapshot` and
69
+ * returns a selected value
70
+ * @param compare An optional function which compares the selected value to the
71
+ * previous value
72
+ * @returns The selected value
73
+ */
74
+
75
+ function useSelector(store, selector = identity, compare = defaultCompare) {
76
+ const selectorWithCompare = useSelectorWithCompare(selector, compare);
77
+ return react.useSyncExternalStore(react.useCallback(handleStoreChange => store.subscribe(handleStoreChange).unsubscribe, [store]), () => selectorWithCompare(store.get()), () => selectorWithCompare(store.get()));
78
+ }
79
+ const useStore = function useStoreImpl(definition) {
80
+ const storeRef = react.useRef(undefined);
81
+ if (!storeRef.current) {
82
+ storeRef.current = store.createStore(definition);
83
+ }
84
+ return storeRef.current;
85
+ };
86
+
87
+ /**
88
+ * A React hook that subscribes to the `atom` and returns the current value of
89
+ * the atom.
90
+ *
91
+ * @example
92
+ *
93
+ * ```ts
94
+ * const atom = createAtom(0);
95
+ *
96
+ * const Component = () => {
97
+ * const count = useAtom(atom);
98
+ *
99
+ * return (
100
+ * <div>
101
+ * <div>{count}</div>
102
+ * <button onClick={() => atom.set((c) => c + 1)}>Increment</button>
103
+ * </div>
104
+ * );
105
+ * };
106
+ * ```
107
+ *
108
+ * @param atom The atom, created from `createAtom(…)`
109
+ * @param selector An optional function which takes in the `snapshot` and
110
+ * returns a selected value
111
+ * @param compare An optional function which compares the selected value to the
112
+ * previous value
113
+ */
114
+
115
+ function useAtom(atom, selector = identity, compare = defaultCompare) {
116
+ const state = useSelector(atom, selector, compare);
117
+ return state;
118
+ }
119
+
120
+ /**
121
+ * Creates a custom hook that returns the selected value and the store from a
122
+ * store configuration object.
123
+ *
124
+ * @example
125
+ *
126
+ * ```ts
127
+ * const useCountStore = createStoreHook({
128
+ * context: { count: 0 },
129
+ * on: {
130
+ * inc: (context, event: { by: number }) => ({
131
+ * ...context,
132
+ * count: context.count + event.by
133
+ * })
134
+ * }
135
+ * });
136
+ *
137
+ * function Component() {
138
+ * const [count, store] = useCountStore(s => s.context.count);
139
+ *
140
+ * return (
141
+ * <div>
142
+ * {count}
143
+ * <button onClick={() => store.trigger.inc({ by: 1 })}>+</button>
144
+ * </div>
145
+ * );
146
+ * }
147
+ * ```
148
+ *
149
+ * @param definition The store configuration object
150
+ * @returns A custom hook that returns [selectedValue, store]
151
+ */
152
+ function createStoreHook(definition) {
153
+ const store$1 = store.createStore(definition);
154
+ function useStoreHook(selector, compare = defaultCompare) {
155
+ // If no selector provided, return full snapshot
156
+ if (!selector) {
157
+ const snapshot = useSelector(store$1, identity, defaultCompare);
158
+ return [snapshot, store$1];
159
+ }
160
+
161
+ // Use selector with comparison
162
+ const selectedValue = useSelector(store$1, selector ?? identity, compare);
163
+ return [selectedValue, store$1];
164
+ }
165
+ return useStoreHook;
166
+ }
167
+
168
+ xstateStoreReact_cjs.createStoreHook = createStoreHook;
169
+ xstateStoreReact_cjs.useAtom = useAtom;
170
+ xstateStoreReact_cjs.useSelector = useSelector;
171
+ xstateStoreReact_cjs.useStore = useStore;
172
+ return xstateStoreReact_cjs;
173
+ }
174
+
175
+ export { requireXstateStoreReact_cjs as __require };
@@ -29,7 +29,7 @@ const card = css({
29
29
  padding: "4",
30
30
  gap: "lg",
31
31
  justifyContent: "stretch",
32
- color: "mantine.colors.text",
32
+ color: "text",
33
33
  boxShadow: "md",
34
34
  overflow: "hidden",
35
35
  border: "none",
@@ -56,7 +56,7 @@ const title = css({
56
56
  fontFamily: "likec4.element",
57
57
  fontOpticalSizing: "auto",
58
58
  fontStyle: "normal",
59
- fontWeight: 600,
59
+ fontWeight: "bold",
60
60
  fontSize: "24px",
61
61
  // lineHeight: 1.15,
62
62
  lineHeight: "xs"
@@ -95,19 +95,19 @@ const iconColor = "--icon-color";
95
95
  const viewButton = css({
96
96
  // display: 'flex',
97
97
  width: "100%",
98
- background: "mantine.colors.body",
98
+ background: "body",
99
99
  borderRadius: "sm",
100
100
  padding: `[10px 8px]`,
101
101
  // gap: 6,
102
102
  // alignItems: 'flex-start',
103
103
  transition: "fast",
104
104
  border: `1px dashed`,
105
- borderColor: "mantine.colors.defaultBorder",
105
+ borderColor: "default.border",
106
106
  [viewTitleColor]: "{colors.mantine.colors.dark[1]}",
107
107
  _hover: {
108
- background: "mantine.colors.defaultHover",
108
+ background: "default.hover",
109
109
  [iconColor]: "{colors.mantine.colors.dark[1]}",
110
- [viewTitleColor]: "{colors.mantine.colors.defaultColor}"
110
+ [viewTitleColor]: "{colors.default.color}"
111
111
  },
112
112
  _dark: {
113
113
  background: "mantine.colors.dark[6]"
@@ -125,7 +125,7 @@ const viewButton = css({
125
125
  color: `[var(${iconColor}, {colors.mantine.colors.dark[2]})]`,
126
126
  "--ti-size": "22px",
127
127
  _hover: {
128
- color: "mantine.colors.defaultColor"
128
+ color: "default.color"
129
129
  }
130
130
  },
131
131
  "& > *": {
@@ -140,7 +140,7 @@ const viewButtonTitle = css({
140
140
  transition: "fast",
141
141
  color: `[var(${viewTitleColor}, {colors.mantine.colors.gray[7]})]`,
142
142
  fontSize: "15px",
143
- fontWeight: 500,
143
+ fontWeight: "medium",
144
144
  lineHeight: "1.4"
145
145
  });
146
146
  const tabsRoot = css({
@@ -165,7 +165,7 @@ const tabsList = css({
165
165
  });
166
166
  const tabsTab = css({
167
167
  fontSize: "xs",
168
- fontWeight: 500,
168
+ fontWeight: "medium",
169
169
  flexGrow: 1,
170
170
  padding: "[6px 8px]",
171
171
  transition: "fast",
@@ -173,23 +173,23 @@ const tabsTab = css({
173
173
  color: "mantine.colors.gray[7]",
174
174
  _hover: {
175
175
  transitionTimingFunction: "out",
176
- color: "mantine.colors.defaultColor",
176
+ color: "default.color",
177
177
  background: "mantine.colors.gray[3]"
178
178
  },
179
179
  ["&[data-active]"]: {
180
180
  transition: "none",
181
- background: "mantine.colors.white",
181
+ background: "white",
182
182
  shadow: "xs",
183
- color: "mantine.colors.defaultColor"
183
+ color: "default.color"
184
184
  },
185
185
  _dark: {
186
186
  color: "mantine.colors.dark[1]",
187
187
  _hover: {
188
- color: "mantine.colors.white",
188
+ color: "white",
189
189
  background: "mantine.colors.dark[6]"
190
190
  },
191
191
  [`&:is([data-active])`]: {
192
- color: "mantine.colors.white",
192
+ color: "white",
193
193
  background: "mantine.colors.dark[5]"
194
194
  }
195
195
  }
@@ -233,7 +233,7 @@ const resizeHandle = css({
233
233
  borderColor: "mantine.colors.dark[3]",
234
234
  borderTop: "none",
235
235
  borderLeft: "none",
236
- borderRadius: "2px",
236
+ borderRadius: "xs",
237
237
  bottom: "0.5",
238
238
  right: "0.5",
239
239
  transition: "fast",
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { cx, css } from '@likec4/styles/css';
3
3
  import { HStack } from '@likec4/styles/jsx';
4
- import { RemoveScroll, Text, CloseButton, Badge, Flex, ActionIconGroup, ActionIcon, Tooltip as Tooltip$1, Tabs, TabsList, TabsTab, TabsPanel, ScrollArea, Box, Stack, Divider as Divider$1, UnstyledButton, Group, ThemeIcon } from '@mantine/core';
4
+ import { RemoveScroll, Text, CloseButton, Badge, ActionIconGroup, ActionIcon, Tabs, TabsList, TabsTab, TabsPanel, ScrollArea, Box, Stack, Flex, Tooltip as Tooltip$1, Divider as Divider$1, UnstyledButton, Group, ThemeIcon } from '@mantine/core';
5
5
  import { useViewportSize, useSessionStorage } from '@mantine/hooks';
6
- import { useSyncedRef, useDebouncedCallback, useTimeoutEffect } from '@react-hookz/web';
6
+ import { useDebouncedCallback, useTimeoutEffect } from '@react-hookz/web';
7
7
  import { useDragControls, useMotionValue, m } from 'motion/react';
8
8
  import { useState, useCallback, useRef } from 'react';
9
9
  import { pipe, map, partition, only, clamp, isNullish, entries } from 'remeda';
@@ -13,6 +13,7 @@ import { useCurrentViewModel } from '../../hooks/useCurrentViewModel.js';
13
13
  import '@xstate/react';
14
14
  import 'fast-equals';
15
15
  import { useDiagram } from '../../hooks/safeContext.js';
16
+ import { useCallbackRef } from '../../hooks/useCallbackRef.js';
16
17
  import { elementIcon, card, cardHeader, title, tabsPanel, tabsTab, tabsList, tabsRoot, propertiesGrid, resizeHandle, backdropOpacity, backdropBlur, dialog, propertyLabel, viewButton, viewButtonTitle } from './ElementDetailsCard.css.js';
17
18
  import { MetadataProvider, MetadataValue } from './MetadataValue.js';
18
19
  import { TabPanelDeployments } from './TabPanelDeployments.js';
@@ -21,12 +22,12 @@ import { TabPanelStructure } from './TabPanelStructure.js';
21
22
  import { useUpdateEffect } from '../../hooks/useUpdateEffect.js';
22
23
  import { IconRenderer } from '../../context/IconRenderer.js';
23
24
  import { stopPropagation } from '../../utils/xyflow.js';
24
- import IconExternalLink from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js';
25
+ import IconExternalLink from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js';
25
26
  import { IfEnabled, DiagramFeatures } from '../../context/DiagramFeatures.js';
26
- import IconFileSymlink from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js';
27
- import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
27
+ import IconFileSymlink from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js';
28
+ import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
28
29
  import { Markdown } from '../../base-primitives/Markdown.js';
29
- import IconStack2 from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js';
30
+ import IconStack2 from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js';
30
31
 
31
32
  const Divider = Divider$1.withProps({
32
33
  mb: 8,
@@ -126,16 +127,17 @@ function ElementDetailsCard({
126
127
  const handleDrag = useCallback((_, info) => {
127
128
  width.set(Math.max(width.get() + info.delta.x, 320));
128
129
  height.set(Math.max(height.get() + info.delta.y, 300));
129
- }, []);
130
+ }, [width, height]);
130
131
  const ref = useRef(null);
131
- const onCloseRef = useSyncedRef(onClose);
132
132
  const close = useDebouncedCallback(
133
- () => {
134
- onCloseRef.current();
135
- },
133
+ useCallbackRef(onClose),
136
134
  [],
137
135
  50
138
136
  );
137
+ const triggerClose = useCallbackRef((event) => {
138
+ event?.stopPropagation();
139
+ close();
140
+ });
139
141
  const notation = nodeModel?.$node.notation ?? null;
140
142
  const elementIcon$1 = IconRenderer({
141
143
  element: {
@@ -182,10 +184,7 @@ function ElementDetailsCard({
182
184
  },
183
185
  onDoubleClick: stopPropagation,
184
186
  onPointerDown: stopPropagation,
185
- onClose: (e) => {
186
- e.stopPropagation();
187
- close();
188
- },
187
+ onClose: triggerClose,
189
188
  children: /* @__PURE__ */ jsx(RemoveScroll, { forwardProps: true, removeScrollBar: false, children: /* @__PURE__ */ jsxs(
190
189
  m.div,
191
190
  {
@@ -241,16 +240,7 @@ function ElementDetailsCard({
241
240
  notation && /* @__PURE__ */ jsx(Text, { component: "div", c: "dimmed", fz: "sm", fw: 500, lh: 1.3, lineClamp: 1, children: notation })
242
241
  ] })
243
242
  ] }),
244
- /* @__PURE__ */ jsx(
245
- CloseButton,
246
- {
247
- size: "lg",
248
- onClick: (e) => {
249
- e.stopPropagation();
250
- close();
251
- }
252
- }
253
- )
243
+ /* @__PURE__ */ jsx(CloseButton, { size: "lg", onClick: triggerClose })
254
244
  ] }),
255
245
  /* @__PURE__ */ jsxs(HStack, { alignItems: "baseline", gap: "sm", flexWrap: "nowrap", children: [
256
246
  /* @__PURE__ */ jsxs("div", { children: [
@@ -275,21 +265,13 @@ function ElementDetailsCard({
275
265
  ] }),
276
266
  /* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
277
267
  /* @__PURE__ */ jsx(SmallLabel, { children: "tags" }),
278
- /* @__PURE__ */ jsxs(Flex, { gap: 4, flex: 1, mt: 6, wrap: "wrap", children: [
279
- elementModel.tags.map((tag) => /* @__PURE__ */ jsx(
280
- ElementTag,
281
- {
282
- tag,
283
- cursor: "pointer",
284
- onClick: (e) => {
285
- e.stopPropagation();
286
- diagram.openSearch(`#${tag}`);
287
- }
288
- },
289
- tag
290
- )),
291
- elementModel.tags.length === 0 && /* @__PURE__ */ jsx(Badge, { radius: "sm", size: "sm", fw: 600, color: "gray", children: "—" })
292
- ] })
268
+ /* @__PURE__ */ jsx(
269
+ ElementTags,
270
+ {
271
+ tags: elementModel.tags,
272
+ onClick: (tag) => diagram.openSearch(`#${tag}`)
273
+ }
274
+ )
293
275
  ] }),
294
276
  /* @__PURE__ */ jsxs(
295
277
  ActionIconGroup,
@@ -498,5 +480,22 @@ function ElementMetata({
498
480
  )
499
481
  ] }) });
500
482
  }
483
+ function ElementTags({ tags, onClick }) {
484
+ return /* @__PURE__ */ jsxs(Flex, { gap: 4, flex: 1, mt: 6, wrap: "wrap", children: [
485
+ tags.map((tag) => /* @__PURE__ */ jsx(
486
+ ElementTag,
487
+ {
488
+ tag,
489
+ cursor: "pointer",
490
+ onClick: (e) => {
491
+ e.stopPropagation();
492
+ onClick(tag);
493
+ }
494
+ },
495
+ tag
496
+ )),
497
+ tags.length === 0 && /* @__PURE__ */ jsx(Badge, { radius: "sm", size: "sm", fw: 600, color: "gray", children: "—" })
498
+ ] });
499
+ }
501
500
 
502
501
  export { ElementDetailsCard };
@@ -2,8 +2,8 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { css } from '@likec4/styles/css';
3
3
  import { UnstyledButton, Flex, Text, Box, Stack, Tooltip } from '@mantine/core';
4
4
  import { useState, useRef, useEffect } from 'react';
5
- import IconChevronDown from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js';
6
- import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
5
+ import IconChevronDown from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js';
6
+ import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
7
7
 
8
8
  function MetadataProvider({ children }) {
9
9
  return /* @__PURE__ */ jsx(Fragment, { children });
@@ -32,7 +32,7 @@ function TruncatedValue({ value, isExpanded }) {
32
32
  fontSize: "sm",
33
33
  padding: "xs",
34
34
  userSelect: "all",
35
- color: "mantine.colors.text",
35
+ color: "text",
36
36
  lineHeight: 1.4,
37
37
  whiteSpace: isExpanded ? "pre-wrap" : "nowrap",
38
38
  overflow: isExpanded ? "visible" : "hidden",
@@ -59,7 +59,7 @@ function MultiValueDisplay({
59
59
  className: css({
60
60
  fontSize: "xs",
61
61
  color: "mantine.colors.gray[5]",
62
- fontWeight: 500,
62
+ fontWeight: "medium",
63
63
  flexShrink: 0,
64
64
  _dark: {
65
65
  color: "mantine.colors.dark[3]"
@@ -104,8 +104,8 @@ function MultiValueDisplay({
104
104
  className: css({
105
105
  fontSize: "sm",
106
106
  padding: "[4px 8px]",
107
- backgroundColor: "mantine.colors.white",
108
- color: "mantine.colors.text",
107
+ backgroundColor: "white",
108
+ color: "text",
109
109
  borderRadius: "sm",
110
110
  border: "1px solid",
111
111
  borderColor: "mantine.colors.gray[3]",
@@ -118,7 +118,6 @@ function MultiValueDisplay({
118
118
  userSelect: "all",
119
119
  _dark: {
120
120
  backgroundColor: "mantine.colors.dark[9]",
121
- color: "mantine.colors.text",
122
121
  borderColor: "mantine.colors.dark[4]"
123
122
  }
124
123
  }),
@@ -132,7 +131,7 @@ function MultiValueDisplay({
132
131
  className: css({
133
132
  fontSize: "xs",
134
133
  color: "mantine.colors.gray[5]",
135
- fontWeight: 500,
134
+ fontWeight: "medium",
136
135
  flexShrink: 0,
137
136
  _dark: {
138
137
  color: "mantine.colors.dark[3]"
@@ -159,7 +158,7 @@ function MetadataValue({ label, value }) {
159
158
  onClick: handleToggle,
160
159
  className: css({
161
160
  fontSize: "xs",
162
- color: "mantine.colors.dimmed",
161
+ color: "text.dimmed",
163
162
  justifySelf: "end",
164
163
  textAlign: "right",
165
164
  userSelect: "none",
@@ -191,7 +190,7 @@ function MetadataValue({ label, value }) {
191
190
  component: "span",
192
191
  className: css({
193
192
  fontSize: "xs",
194
- fontWeight: 500,
193
+ fontWeight: "medium",
195
194
  color: "mantine.colors.gray[6]",
196
195
  backgroundColor: "mantine.colors.gray[1]",
197
196
  padding: "[1px 4px]",
@@ -213,13 +212,13 @@ function MetadataValue({ label, value }) {
213
212
  component: "div",
214
213
  className: css({
215
214
  fontSize: "xs",
216
- color: "mantine.colors.dimmed",
215
+ color: "text.dimmed",
217
216
  justifySelf: "end",
218
217
  textAlign: "right",
219
218
  userSelect: "none",
220
219
  whiteSpace: "nowrap",
221
220
  padding: "[4px 8px]",
222
- fontWeight: 700
221
+ fontWeight: "[700]"
223
222
  }),
224
223
  children: [
225
224
  label,
@@ -1,15 +1,15 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useTree, Alert, Tree, Box, rem, Button, Group, Text, ThemeIcon, Menu } from '@mantine/core';
2
+ import { useTree, Alert, Tree, Box, Button, rem, Group, Text, ThemeIcon, Menu } from '@mantine/core';
3
3
  import { memo, useMemo, useEffect } from 'react';
4
4
  import '@xstate/react';
5
5
  import 'fast-equals';
6
6
  import { useDiagram } from '../../hooks/safeContext.js';
7
7
  import { useLikeC4Model } from '../../hooks/useLikeC4Model.js';
8
8
  import { treeNodeLabel, treeNode, nodeLabel, instanceLabel } from './TabPanelDeployments.css.js';
9
- import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
10
- import IconTarget from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js';
9
+ import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
10
+ import IconTarget from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js';
11
11
  import { stopPropagation } from '../../utils/xyflow.js';
12
- import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.3/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
12
+ import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
13
13
 
14
14
  const DeploymentNodeRenderer = ({
15
15
  node
@@ -20,6 +20,7 @@ const DeploymentNodeRenderer = ({
20
20
  ] }),
21
21
  /* @__PURE__ */ jsx(Text, { component: "div", fz: "sm", fw: "500", children: node.title })
22
22
  ] });
23
+ const zoomIcon = /* @__PURE__ */ jsx(ThemeIcon, { size: "sm", variant: "transparent", color: "gray", children: /* @__PURE__ */ jsx(IconZoomScan, { stroke: 1.8, opacity: 0.65 }) });
23
24
  const DeployedInstanceRenderer = ({
24
25
  instance
25
26
  }) => {
@@ -54,7 +55,7 @@ const DeployedInstanceRenderer = ({
54
55
  px: "xs",
55
56
  py: 4,
56
57
  disabled: view.id === currentViewId,
57
- leftSection: /* @__PURE__ */ jsx(ThemeIcon, { size: "sm", variant: "transparent", color: "gray", children: /* @__PURE__ */ jsx(IconZoomScan, { stroke: 1.8, opacity: 0.65 }) }),
58
+ leftSection: zoomIcon,
58
59
  styles: {
59
60
  itemSection: {
60
61
  marginInlineEnd: rem(8)
@@ -74,6 +75,7 @@ const DeployedInstanceRenderer = ({
74
75
  ] })
75
76
  ] });
76
77
  };
78
+ const infoIcon = /* @__PURE__ */ jsx(IconInfoCircle, {});
77
79
  const setHoveredNode = () => {
78
80
  };
79
81
  const TabPanelDeployments = memo(({ elementFqn }) => {
@@ -121,7 +123,7 @@ const TabPanelDeployments = memo(({ elementFqn }) => {
121
123
  tree.expandAllNodes();
122
124
  }, [data]);
123
125
  if (deployments.length === 0) {
124
- return /* @__PURE__ */ jsx(Alert, { variant: "light", color: "gray", icon: /* @__PURE__ */ jsx(IconInfoCircle, {}), children: "This element does not have any deployments" });
126
+ return /* @__PURE__ */ jsx(Alert, { variant: "light", color: "gray", icon: infoIcon, children: "This element does not have any deployments" });
125
127
  }
126
128
  return (
127
129
  // <Box></Box>
@@ -3,29 +3,19 @@ import { css } from '@likec4/styles/css';
3
3
  const fqn = css({
4
4
  display: "inline-block",
5
5
  fontSize: "sm",
6
- fontWeight: 500,
6
+ fontWeight: "medium",
7
7
  whiteSpace: "nowrap",
8
8
  padding: "[3px 6px]",
9
- borderRadius: 3,
9
+ borderRadius: "xs",
10
10
  background: `var(--likec4-palette-fill)/75`,
11
11
  lineHeight: 1.2,
12
12
  color: "var(--likec4-palette-hiContrast)"
13
- // selectors: {
14
- // [`${whereDark} &`]: {
15
- // }
16
- // }
17
13
  });
18
14
  const relationshipStat = css({
19
15
  _light: {
20
16
  background: "mantine.colors.gray[1]",
21
17
  "&[data-missing": {}
22
18
  },
23
- // [`&[data-zero]`]: {
24
- // color: mantine.colors.dimmed
25
- // },
26
- // [`${whereLight} &[data-zero]`]: {
27
- // background: mantine.colors.gray[3]
28
- // },
29
19
  [`&[data-missing]`]: {
30
20
  color: "mantine.colors.orange[4]",
31
21
  background: `mantine.colors.orange[8]/15`,
@@ -40,8 +30,8 @@ const xyflow = css({
40
30
  position: "relative",
41
31
  width: "100%",
42
32
  height: "100%",
43
- background: "mantine.colors.body",
44
- border: `1px solid {colors.mantine.colors.defaultBorder}`,
33
+ background: "body",
34
+ border: "default",
45
35
  borderRadius: "sm",
46
36
  _light: {
47
37
  borderColor: "mantine.colors.gray[3]",
@@ -55,9 +45,9 @@ css({
55
45
  top: "0",
56
46
  left: "2",
57
47
  fontSize: "xxs",
58
- fontWeight: 500,
48
+ fontWeight: "medium",
59
49
  lineHeight: "1",
60
- color: "mantine.colors.dimmed",
50
+ color: "text.dimmed",
61
51
  opacity: 0.85,
62
52
  transform: "translateY(-100%) translateY(-2px)"
63
53
  },
@@ -70,30 +60,20 @@ css({
70
60
  css({
71
61
  display: "inline-block",
72
62
  fontSize: "xl",
73
- fontWeight: 600,
63
+ fontWeight: "bold",
74
64
  padding: "[1px 5px]",
75
- minWidth: 24,
65
+ minWidth: "24px",
76
66
  textAlign: "center",
77
67
  borderRadius: "sm",
78
68
  background: "mantine.colors.dark[7]",
79
- color: "mantine.colors.defaultColor",
69
+ color: "default.color",
80
70
  [`&[data-zero]`]: {
81
- color: "mantine.colors.dimmed"
71
+ color: "text.dimmed"
82
72
  },
83
73
  [`&[data-missing]`]: {
84
74
  color: "mantine.colors.orange[4]",
85
75
  background: `mantine.colors.orange[8]/20`
86
76
  }
87
- // _light: {
88
- // background: 'mantine.colors.gray[4]',
89
- // color: 'mantine.colors.dark[6]',
90
- // [`&[data-zero]`]: {
91
- // background: 'mantine.colors.gray[3]',
92
- // },
93
- // [`&[data-missing]`]: {
94
- // color: 'mantine.colors.orange[8]',
95
- // },
96
- // },
97
77
  });
98
78
 
99
79
  export { fqn, relationshipStat, xyflow };