@likec4/diagram 1.48.0 → 1.50.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 (307) hide show
  1. package/README.md +7 -9
  2. package/adhoc-editor/package.json +4 -0
  3. package/dist/LikeC4Diagram.d.ts +2 -1
  4. package/dist/LikeC4Diagram.js +77 -79
  5. package/dist/LikeC4Diagram.props.d.ts +9 -1
  6. package/dist/LikeC4ModelProvider.d.ts +4 -4
  7. package/dist/LikeC4ModelProvider.js +2 -2
  8. package/dist/LikeC4ProjectsOverview.d.ts +3 -2
  9. package/dist/LikeC4ProjectsProvider.d.ts +2 -1
  10. package/dist/LikeC4ProjectsProvider.js +4 -4
  11. package/dist/LikeC4Styles.d.ts +2 -1
  12. package/dist/LikeC4View.d.ts +14 -1
  13. package/dist/LikeC4View.js +31 -18
  14. package/dist/ReactLikeC4.d.ts +2 -1
  15. package/dist/ReactLikeC4.js +3 -1
  16. package/dist/StaticLikeC4Diagram.d.ts +2 -1
  17. package/dist/StaticLikeC4Diagram.js +1 -0
  18. package/dist/_virtual/store-1b2fbb72.cjs.js +3 -0
  19. package/dist/_virtual/xstate-store-react.cjs.js +5 -0
  20. package/dist/_virtual/xstate-store-react.cjs2.js +3 -0
  21. package/dist/adhoc-editor/EditorPanel.d.ts +1 -0
  22. package/dist/adhoc-editor/EditorPanel.js +105 -0
  23. package/dist/adhoc-editor/ElementsTree.d.ts +2 -0
  24. package/dist/adhoc-editor/ElementsTree.js +142 -0
  25. package/dist/adhoc-editor/LikeC4AdHocViewEditor.d.ts +1 -1
  26. package/dist/adhoc-editor/LikeC4AdHocViewEditor.js +46 -43
  27. package/dist/adhoc-editor/components/Tree.d.ts +48 -0
  28. package/dist/adhoc-editor/components/Tree.js +296 -0
  29. package/dist/adhoc-editor/hooks.d.ts +3 -3
  30. package/dist/adhoc-editor/hooks.js +5 -23
  31. package/dist/adhoc-editor/index.d.ts +1 -1
  32. package/dist/adhoc-editor/index.js +1 -0
  33. package/dist/adhoc-editor/{ActorProvider.d.ts → state/ActorProvider.d.ts} +1 -3
  34. package/dist/adhoc-editor/{ActorProvider.js → state/ActorProvider.js} +10 -11
  35. package/dist/adhoc-editor/state/actor.d.ts +13 -0
  36. package/dist/adhoc-editor/{actor.editor.d.ts → state/actor.editor.d.ts} +6 -4
  37. package/dist/adhoc-editor/state/actor.editor.js +205 -0
  38. package/dist/adhoc-editor/{actor.js → state/actor.js} +2 -6
  39. package/dist/adhoc-editor/{actor.layouter.d.ts → state/actor.layouter.d.ts} +7 -4
  40. package/dist/adhoc-editor/{actor.layouter.js → state/actor.layouter.js} +17 -13
  41. package/dist/adhoc-editor/{actor.types.d.ts → state/actor.types.d.ts} +12 -6
  42. package/dist/adhoc-editor/{actor.types.js → state/actor.types.js} +8 -1
  43. package/dist/adhoc-editor/state/panel.d.ts +95 -0
  44. package/dist/adhoc-editor/state/panel.js +139 -0
  45. package/dist/adhoc-editor/state/utils.d.ts +17 -0
  46. package/dist/adhoc-editor/state/utils.js +32 -0
  47. package/dist/adhoc-editor/useElementsTree.d.ts +18 -0
  48. package/dist/adhoc-editor/useElementsTree.js +130 -0
  49. package/dist/adhoc-editor/viewrules/ViewRulesPanel.d.ts +1 -1
  50. package/dist/base/const.d.ts +1 -0
  51. package/dist/base-primitives/compound/CompoundActionButton.js +26 -12
  52. package/dist/base-primitives/compound/CompoundDetailsButton.js +22 -9
  53. package/dist/base-primitives/compound/CompoundNodeContainer.js +5 -4
  54. package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
  55. package/dist/base-primitives/edge/EdgeLabel.js +3 -4
  56. package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +2 -1
  57. package/dist/base-primitives/edge/EdgeLabelContainer.js +12 -19
  58. package/dist/base-primitives/edge/EdgeMarkers.js +3 -3
  59. package/dist/base-primitives/element/ElementActionButtons.js +35 -10
  60. package/dist/base-primitives/element/ElementDetailsButton.js +47 -18
  61. package/dist/base-primitives/element/ElementNodeContainer.d.ts +3 -3
  62. package/dist/base-primitives/element/ElementNodeContainer.js +23 -10
  63. package/dist/base-primitives/element/ElementShape.d.ts +4 -4
  64. package/dist/base-primitives/element/ElementShape.js +71 -8
  65. package/dist/components/ErrorFallback.js +1 -1
  66. package/dist/components/Link.js +3 -3
  67. package/dist/components/Logo.js +1 -1
  68. package/dist/components/NavigationPanel.js +2 -4
  69. package/dist/components/PortalToContainer.js +3 -4
  70. package/dist/components/RootContainer.js +9 -16
  71. package/dist/components/ViewNotFound.d.ts +3 -3
  72. package/dist/components/ViewNotFound.js +30 -26
  73. package/dist/context/CurrentViewModelProvider.d.ts +2 -0
  74. package/dist/context/CurrentViewModelProvider.js +12 -0
  75. package/dist/context/DefaultMantineProvider.d.ts +1 -1
  76. package/dist/context/DefaultMantineProvider.js +10 -1
  77. package/dist/context/DiagramEventHandlers.d.ts +5 -5
  78. package/dist/context/DiagramEventHandlers.js +10 -4
  79. package/dist/context/DiagramFeatures.d.ts +8 -7
  80. package/dist/context/DiagramFeatures.js +5 -3
  81. package/dist/context/FramerMotionConfig.d.ts +1 -3
  82. package/dist/context/IconRenderer.d.ts +5 -4
  83. package/dist/context/IconRenderer.js +51 -24
  84. package/dist/context/LikeC4ModelContext.d.ts +10 -5
  85. package/dist/context/LikeC4ModelContext.js +11 -3
  86. package/dist/context/LikeC4ProjectsContext.d.ts +3 -2
  87. package/dist/context/LikeC4ProjectsContext.js +6 -2
  88. package/dist/context/RootContainerContext.d.ts +10 -3
  89. package/dist/context/RootContainerContext.js +8 -3
  90. package/dist/context/TagStylesContext.js +1 -1
  91. package/dist/custom/index.js +16 -15
  92. package/dist/editor/LikeC4EditorProvider.js +1 -1
  93. package/dist/editor/applyChangesToManualLayout.js +7 -7
  94. package/dist/editor/editorActor.actions.js +20 -20
  95. package/dist/editor/editorActor.setup.js +1 -1
  96. package/dist/editor/editorActor.states.js +0 -9
  97. package/dist/editor/useEditorActorLogic.d.ts +1 -2
  98. package/dist/editor/useEditorActorLogic.js +8 -11
  99. package/dist/hooks/index.d.ts +2 -2
  100. package/dist/hooks/safeContext.d.ts +4 -5
  101. package/dist/hooks/useCallbackRef.js +7 -6
  102. package/dist/hooks/useCurrentView.js +5 -10
  103. package/dist/hooks/useCurrentViewModel.d.ts +2 -6
  104. package/dist/hooks/useCurrentViewModel.js +3 -7
  105. package/dist/hooks/useDiagram.d.ts +9 -1
  106. package/dist/hooks/useDiagram.js +8 -2
  107. package/dist/hooks/useDiagramCompareLayout.d.ts +5 -5
  108. package/dist/hooks/useLikeC4ElementsTree.d.ts +1 -1
  109. package/dist/hooks/useLikeC4ElementsTree.js +1 -1
  110. package/dist/hooks/useLikeC4Model.d.ts +6 -2
  111. package/dist/hooks/useLikeC4Model.js +7 -9
  112. package/dist/hooks/useLikeC4Project.d.ts +4 -6
  113. package/dist/hooks/useLikeC4Project.js +19 -31
  114. package/dist/hooks/useLikeC4Styles.js +3 -9
  115. package/dist/hooks/useMantinePortalProps.d.ts +1 -1
  116. package/dist/hooks/useMediaPrint.d.ts +0 -2
  117. package/dist/hooks/useOverlaysActor.js +4 -4
  118. package/dist/hooks/useSearchActor.js +4 -4
  119. package/dist/index.d.ts +1 -3
  120. package/dist/index.js +2 -2
  121. package/dist/likec4diagram/DiagramXYFlow.d.ts +2 -1
  122. package/dist/likec4diagram/DiagramXYFlow.js +5 -7
  123. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +22 -24
  124. package/dist/likec4diagram/custom/edges/edges.css.js +2 -1
  125. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +40 -55
  126. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
  127. package/dist/likec4diagram/custom/nodes/NodeDrifts.d.ts +1 -2
  128. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +3 -20
  129. package/dist/likec4diagram/custom/nodes/NodeNotes.d.ts +6 -0
  130. package/dist/likec4diagram/custom/nodes/NodeNotes.js +286 -0
  131. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +4 -2
  132. package/dist/likec4diagram/custom/nodes/nodes.js +5 -2
  133. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +12 -8
  134. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +3 -3
  135. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +1 -1
  136. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +8 -28
  137. package/dist/likec4diagram/state/DiagramActorProvider.js +30 -56
  138. package/dist/likec4diagram/state/diagram-api.d.ts +11 -0
  139. package/dist/likec4diagram/state/diagram-api.js +15 -0
  140. package/dist/likec4diagram/state/machine.actions.d.ts +27 -0
  141. package/dist/likec4diagram/state/machine.actions.js +78 -21
  142. package/dist/likec4diagram/state/machine.actions.layout.d.ts +1 -0
  143. package/dist/likec4diagram/state/machine.actions.layout.js +38 -3
  144. package/dist/likec4diagram/state/machine.js +4 -1
  145. package/dist/likec4diagram/state/machine.setup.d.ts +19 -2
  146. package/dist/likec4diagram/state/machine.state.navigating.js +1 -1
  147. package/dist/likec4diagram/state/machine.state.ready.d.ts +61 -1
  148. package/dist/likec4diagram/state/machine.state.ready.js +11 -3
  149. package/dist/likec4diagram/state/utils.d.ts +2 -1
  150. package/dist/likec4diagram/state/utils.js +1 -1
  151. package/dist/likec4diagram/types.d.ts +2 -2
  152. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +1 -1
  153. package/dist/likec4diagram/ui/notation/NotationPanel.d.ts +1 -1
  154. package/dist/likec4diagram/ui/notation/NotationPanel.js +6 -29
  155. package/dist/likec4diagram/useLayoutConstraints.d.ts +12 -12
  156. package/dist/likec4diagram/useLayoutConstraints.js +125 -86
  157. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +2 -0
  158. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +7 -2
  159. package/dist/navigationpanel/NavigationPanel.js +2 -2
  160. package/dist/navigationpanel/NavigationPanelDropdown.js +13 -13
  161. package/dist/navigationpanel/_common.js +2 -2
  162. package/dist/navigationpanel/actor.js +1 -1
  163. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +2 -2
  164. package/dist/navigationpanel/comparepanel/ComparePanel.js +155 -29
  165. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +1 -1
  166. package/dist/navigationpanel/comparepanel/DriftsSummary.d.ts +1 -0
  167. package/dist/navigationpanel/comparepanel/DriftsSummary.js +264 -0
  168. package/dist/navigationpanel/controls/DetailsControls.js +4 -4
  169. package/dist/navigationpanel/controls/LayoutWarning.js +1 -1
  170. package/dist/navigationpanel/controls/LogoButton.js +1 -1
  171. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  172. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  173. package/dist/navigationpanel/controls/SearchControl.js +1 -1
  174. package/dist/navigationpanel/controls/ToggleReadonly.js +3 -3
  175. package/dist/navigationpanel/dropdown/ProjectsMenu.js +1 -1
  176. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  177. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  178. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  179. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
  180. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +6 -6
  181. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +16 -16
  182. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
  183. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +1 -1
  184. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
  185. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
  186. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +2 -2
  187. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
  188. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
  189. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
  190. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +1 -1
  191. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +2 -2
  192. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
  193. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
  194. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
  195. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
  196. 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
  197. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +2 -2
  198. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +2 -2
  199. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +1 -1
  200. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
  201. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
  202. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js +2 -2
  203. 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
  204. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
  205. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
  206. 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
  207. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
  208. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +2 -2
  209. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +2 -2
  210. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +2 -2
  211. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +2 -2
  212. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +2 -2
  213. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +2 -2
  214. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +2 -2
  215. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +2 -2
  216. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
  217. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
  218. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +2 -2
  219. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +2 -2
  220. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
  221. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
  222. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
  223. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
  224. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +2 -2
  225. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +2 -2
  226. 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
  227. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +2 -2
  228. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
  229. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
  230. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
  231. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +2 -2
  232. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
  233. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js +1 -1
  234. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
  235. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
  236. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.36.0_react@19.2.4 → @tabler_icons-react@3.36.1_react@19.2.4}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
  237. 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
  238. 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
  239. package/dist/overlays/element-details/ElementDetailsCard.css.js +11 -11
  240. package/dist/overlays/element-details/ElementDetailsCard.js +44 -45
  241. package/dist/overlays/element-details/MetadataValue.js +7 -7
  242. package/dist/overlays/element-details/TabPanelDeployments.js +4 -4
  243. package/dist/overlays/element-details/TabPanelRelationships.css.js +5 -5
  244. package/dist/overlays/element-details/TabPanelRelationships.js +4 -5
  245. package/dist/overlays/element-details/TabPanelStructure.css.js +3 -3
  246. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  247. package/dist/overlays/element-details/actorContext.d.ts +1 -1
  248. package/dist/overlays/overlaysActor.js +1 -1
  249. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
  250. package/dist/overlays/relationship-details/SelectEdge.css.js +4 -4
  251. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  252. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
  253. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +6 -6
  254. package/dist/overlays/relationships-browser/SelectElement.css.js +2 -2
  255. package/dist/overlays/relationships-browser/SelectElement.js +2 -2
  256. package/dist/overlays/relationships-browser/actor.js +1 -1
  257. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
  258. package/dist/overlays/relationships-browser/custom/EmptyNode.js +1 -1
  259. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +1 -1
  260. package/dist/projects-overview/ProjectsOverview.js +2 -2
  261. package/dist/projects-overview/ProjectsOverviewXY.d.ts +1 -5
  262. package/dist/projects-overview/ProjectsOverviewXY.js +1 -1
  263. package/dist/projects-overview/actor.d.ts +1 -1
  264. package/dist/projects-overview/context.d.ts +2 -2
  265. package/dist/projects-overview/context.js +2 -1
  266. package/dist/projects-overview/custom/nodeTypes.js +1 -1
  267. package/dist/search/Search.d.ts +2 -1
  268. package/dist/search/Search.js +108 -87
  269. package/dist/search/components/ElementsColumn.css.js +3 -3
  270. package/dist/search/components/ElementsColumn.js +93 -59
  271. package/dist/search/components/PickView.js +8 -4
  272. package/dist/search/components/SearchByTags.js +1 -1
  273. package/dist/search/components/SearchInput.js +2 -2
  274. package/dist/search/components/ViewsColum.d.ts +2 -1
  275. package/dist/search/components/ViewsColum.js +39 -35
  276. package/dist/search/components/ViewsColumn.css.js +1 -1
  277. package/dist/search/components/_shared.css.js +11 -11
  278. package/dist/search/components/utils.js +1 -4
  279. package/dist/search/hooks.js +4 -1
  280. package/dist/search/searchActor.d.ts +12 -2
  281. package/dist/search/searchActor.js +60 -4
  282. package/dist/shadowroot/ShadowRoot.d.ts +5 -2
  283. package/dist/shadowroot/ShadowRoot.js +7 -5
  284. package/dist/shadowroot/styles.css.js +3 -2
  285. package/dist/styles.css2.js +1 -1
  286. package/dist/utils/view-bounds.d.ts +3 -2
  287. package/dist/utils/view-bounds.js +1 -1
  288. package/dist/utils/xyflow.d.ts +10 -5
  289. package/dist/utils/xyflow.js +24 -22
  290. package/package.json +33 -32
  291. package/panda.buildinfo.json +176 -87
  292. package/styles-min.css +1 -1
  293. package/styles.css +1 -1
  294. package/bundle/index.js +0 -52554
  295. package/bundle/package.json +0 -4
  296. package/dist/adhoc-editor/EditorNavigationPanel.d.ts +0 -1
  297. package/dist/adhoc-editor/EditorNavigationPanel.js +0 -32
  298. package/dist/adhoc-editor/SelectElementOverlay.d.ts +0 -1
  299. package/dist/adhoc-editor/SelectElementOverlay.js +0 -124
  300. package/dist/adhoc-editor/actor.d.ts +0 -131
  301. package/dist/adhoc-editor/actor.editor.js +0 -96
  302. package/dist/adhoc-editor/viewrules/ViewRulesPanel.js +0 -104
  303. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCirclePlus.js +0 -14
  304. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -14
  305. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -14
  306. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -14
  307. package/dist/node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.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",
@@ -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
  "& > *": {
@@ -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
  }
@@ -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.4/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.4/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.4/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.4/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,
@@ -89,7 +90,7 @@ function ElementDetailsCard({
89
90
  const isCompound = (nodeModel?.$node.children?.length ?? 0) > 0;
90
91
  const _width = Math.min(700, windowWidth - MIN_PADDING * 2);
91
92
  const _height = Math.min(650, windowHeight - MIN_PADDING * 2);
92
- const fromPositon = rectFromNode ? {
93
+ const fromPosition = rectFromNode ? {
93
94
  x: rectFromNode.x + (isCompound ? rectFromNode.width - _width / 2 : rectFromNode.width / 2),
94
95
  y: rectFromNode.y + (isCompound ? 0 : rectFromNode.height / 2)
95
96
  } : {
@@ -98,22 +99,22 @@ function ElementDetailsCard({
98
99
  };
99
100
  const fromScale = rectFromNode ? Math.min(rectFromNode.width / _width, rectFromNode.height / _height, 0.9) : 1;
100
101
  const left = Math.round(
101
- clamp(fromPositon.x - _width / 2, {
102
+ clamp(fromPosition.x - _width / 2, {
102
103
  min: MIN_PADDING,
103
104
  max: windowWidth - _width - MIN_PADDING
104
105
  })
105
106
  );
106
107
  const top = Math.round(
107
- clamp(fromPositon.y - (isCompound ? 0 : 60), {
108
+ clamp(fromPosition.y - (isCompound ? 0 : 60), {
108
109
  min: MIN_PADDING,
109
110
  max: windowHeight - _height - MIN_PADDING
110
111
  })
111
112
  );
112
- const originX = clamp((fromPositon.x - left) / _width, {
113
+ const originX = clamp((fromPosition.x - left) / _width, {
113
114
  min: 0.1,
114
115
  max: 0.9
115
116
  });
116
- const originY = clamp((fromPositon.y - top) / _height, {
117
+ const originY = clamp((fromPosition.y - top) / _height, {
117
118
  min: 0.1,
118
119
  max: 0.9
119
120
  });
@@ -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.4/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.4/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",
@@ -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]",
@@ -158,7 +158,7 @@ function MetadataValue({ label, value }) {
158
158
  onClick: handleToggle,
159
159
  className: css({
160
160
  fontSize: "xs",
161
- color: "mantine.colors.dimmed",
161
+ color: "text.dimmed",
162
162
  justifySelf: "end",
163
163
  textAlign: "right",
164
164
  userSelect: "none",
@@ -212,7 +212,7 @@ function MetadataValue({ label, value }) {
212
212
  component: "div",
213
213
  className: css({
214
214
  fontSize: "xs",
215
- color: "mantine.colors.dimmed",
215
+ color: "text.dimmed",
216
216
  justifySelf: "end",
217
217
  textAlign: "right",
218
218
  userSelect: "none",
@@ -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.4/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.4/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.4/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
@@ -30,8 +30,8 @@ const xyflow = css({
30
30
  position: "relative",
31
31
  width: "100%",
32
32
  height: "100%",
33
- background: "mantine.colors.body",
34
- border: `1px solid {colors.mantine.colors.defaultBorder}`,
33
+ background: "body",
34
+ border: "default",
35
35
  borderRadius: "sm",
36
36
  _light: {
37
37
  borderColor: "mantine.colors.gray[3]",
@@ -47,7 +47,7 @@ css({
47
47
  fontSize: "xxs",
48
48
  fontWeight: "medium",
49
49
  lineHeight: "1",
50
- color: "mantine.colors.dimmed",
50
+ color: "text.dimmed",
51
51
  opacity: 0.85,
52
52
  transform: "translateY(-100%) translateY(-2px)"
53
53
  },
@@ -66,9 +66,9 @@ css({
66
66
  textAlign: "center",
67
67
  borderRadius: "sm",
68
68
  background: "mantine.colors.dark[7]",
69
- color: "mantine.colors.defaultColor",
69
+ color: "default.color",
70
70
  [`&[data-zero]`]: {
71
- color: "mantine.colors.dimmed"
71
+ color: "text.dimmed"
72
72
  },
73
73
  [`&[data-missing]`]: {
74
74
  color: "mantine.colors.orange[4]",
@@ -1,17 +1,16 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { nameFromFqn } from '@likec4/core';
3
- import { Stack, Group, Box, ThemeIcon, Text, Tooltip as Tooltip$1, ActionIcon, Paper } from '@mantine/core';
3
+ import { Stack, Group, Box, ThemeIcon, Text, ActionIcon, Paper, Tooltip as Tooltip$1 } from '@mantine/core';
4
4
  import { useSelector } from '@xstate/react';
5
5
  import { useCallback } from 'react';
6
6
  import { unique } from 'remeda';
7
7
  import { RelationshipsBrowser } from '../relationships-browser/RelationshipsBrowser.js';
8
8
  import { useElementDetailsActorRef } from './actorContext.js';
9
9
  import { fqn, xyflow, relationshipStat } from './TabPanelRelationships.css.js';
10
+ import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js';
11
+ 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';
12
+ 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';
10
13
  import { useDiagram } from '../../hooks/safeContext.js';
11
- import 'fast-equals';
12
- import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js';
13
- import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
14
- import IconExternalLink from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js';
15
14
 
16
15
  const Tooltip = Tooltip$1.withProps({
17
16
  color: "dark",
@@ -8,7 +8,7 @@ const elementLabel = css({
8
8
  display: "inline-flex",
9
9
  transition: "fast",
10
10
  border: `1px dashed`,
11
- borderColor: "mantine.colors.defaultBorder",
11
+ borderColor: "default.border",
12
12
  borderRadius: "sm",
13
13
  px: "md",
14
14
  py: "xs",
@@ -24,8 +24,8 @@ const elementLabel = css({
24
24
  _hover: {
25
25
  transitionTimingFunction: "out",
26
26
  borderStyle: "solid",
27
- color: "mantine.colors.defaultColor",
28
- background: "mantine.colors.defaultHover",
27
+ color: "default.color",
28
+ background: "default.hover",
29
29
  "& > *": {
30
30
  transitionTimingFunction: "out",
31
31
  transform: "translateX(1px)"
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useTree, Alert, Anchor, Tree, Box, Text, Pill } from '@mantine/core';
3
3
  import { useMemo, useEffect } from 'react';
4
4
  import { treeNodeLabel, elementLabel } from './TabPanelStructure.css.js';
5
- import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
5
+ 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';
6
6
 
7
7
  const ElementLabel = ({
8
8
  element
@@ -1,7 +1,7 @@
1
1
  import { ElementDetailsActorRef } from './actor';
2
2
  import { Context } from 'react';
3
3
  /**
4
- * To improve experience with HMR, we use `createSafeContext` as a boundary for hoooks
4
+ * To improve experience with HMR, we use `createSafeContext` as a boundary for hooks
5
5
  */
6
6
  export declare const ElementDetailsActorContext: Context<ElementDetailsActorRef>;
7
7
  export declare const useElementDetailsActorRef: () => ElementDetailsActorRef;
@@ -1,6 +1,6 @@
1
1
  import { getHotkeyHandler } from '@mantine/hooks';
2
2
  import { last, isString, reverse } from 'remeda';
3
- import { setup, fromCallback, assertEvent } from 'xstate';
3
+ import { setup, assertEvent, fromCallback } from 'xstate';
4
4
  import { elementDetailsLogic } from './element-details/actor.js';
5
5
  import { relationshipDetailsLogic } from './relationship-details/actor.js';
6
6
  import { relationshipsBrowserLogic } from './relationships-browser/actor.js';
@@ -17,9 +17,9 @@ import { layoutRelationshipDetails } from './layout.js';
17
17
  import { SelectEdge } from './SelectEdge.js';
18
18
  import { RelationshipEdge } from './custom/edgeTypes.js';
19
19
  import { CompoundNode, ElementNode } from './custom/nodeTypes.js';
20
- import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
21
- import IconChevronLeft from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js';
22
- import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
20
+ import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
21
+ import IconChevronLeft from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js';
22
+ 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';
23
23
 
24
24
  const nodeTypes = {
25
25
  element: ElementNode,
@@ -5,7 +5,7 @@ const edgeEnpoint = css.raw({
5
5
  alignItems: "center",
6
6
  padding: "[6px 2px 0 2px]",
7
7
  "& .mantine-Text-root": {
8
- color: "mantine.colors.text/90",
8
+ color: "text/90",
9
9
  fontSize: "xs",
10
10
  fontWeight: "medium",
11
11
  lineHeight: "1.2"
@@ -30,7 +30,7 @@ const edgeLabel = cx(
30
30
  gridColumnStart: 1,
31
31
  gridColumnEnd: 4,
32
32
  borderBottom: `1px solid`,
33
- borderBottomColor: "mantine.colors.defaultBorder",
33
+ borderBottomColor: "default.border",
34
34
  marginBottom: "0",
35
35
  padding: "[0 4px 5px 4px]",
36
36
  width: "100%",
@@ -38,7 +38,7 @@ const edgeLabel = cx(
38
38
  fontSize: "xxs",
39
39
  fontWeight: "normal",
40
40
  lineHeight: "xs",
41
- color: "mantine.colors.dimmed"
41
+ color: "text.dimmed"
42
42
  }
43
43
  })
44
44
  );
@@ -54,7 +54,7 @@ const edgeRow = css({
54
54
  "&:is(:hover, [data-selected=true]) > *": {
55
55
  transition: "all 0.15s ease-out",
56
56
  cursor: "pointer",
57
- backgroundColor: "mantine.colors.defaultHover"
57
+ backgroundColor: "default.hover"
58
58
  }
59
59
  });
60
60
  const edgeGrid = css({
@@ -3,8 +3,8 @@ import { Popover, PopoverTarget, Button, Box, Text, ThemeIcon, PopoverDropdown,
3
3
  import { useRef } from 'react';
4
4
  import { useRelationshipDetails } from './hooks.js';
5
5
  import { edgeSource, edgeTarget, scrollArea, edgeGrid, edgeRow, edgeArrow, edgeLabel } from './SelectEdge.css.js';
6
- import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js';
7
- import IconSelector from '../../node_modules/.pnpm/@tabler_icons-react@3.36.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js';
6
+ import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js';
7
+ import IconSelector from '../../node_modules/.pnpm/@tabler_icons-react@3.36.1_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js';
8
8
 
9
9
  const SelectEdge = ({
10
10
  edge,