@likec4/diagram 1.41.0 → 1.42.1

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 (624) hide show
  1. package/README.md +1 -1
  2. package/bundle/index.js +44390 -25365
  3. package/bundle/package.json +4 -0
  4. package/custom/package.json +4 -0
  5. package/dist/LikeC4Diagram.d.ts +7 -1
  6. package/dist/LikeC4Diagram.js +66 -33
  7. package/dist/LikeC4Diagram.props.d.ts +40 -40
  8. package/dist/LikeC4ModelProvider.js +1 -1
  9. package/dist/LikeC4ProjectsProvider.js +1 -1
  10. package/dist/LikeC4Styles.d.ts +6 -2
  11. package/dist/LikeC4Styles.js +22 -54
  12. package/dist/{bundle/LikeC4View.props.d.ts → LikeC4View.d.ts} +29 -25
  13. package/dist/LikeC4View.js +173 -0
  14. package/dist/{bundle/ReactLikeC4.d.ts → ReactLikeC4.d.ts} +15 -9
  15. package/dist/ReactLikeC4.js +65 -0
  16. package/dist/StaticLikeC4Diagram.d.ts +7 -1
  17. package/dist/StaticLikeC4Diagram.js +0 -1
  18. package/dist/base/BaseXYFlow.d.ts +3 -3
  19. package/dist/base/BaseXYFlow.js +11 -9
  20. package/dist/base/index.d.ts +1 -1
  21. package/dist/base/types.d.ts +65 -65
  22. package/dist/base/types.js +44 -45
  23. package/dist/base/updateEdges.d.ts +3 -3
  24. package/dist/base/updateNodes.d.ts +3 -3
  25. package/dist/{base/primitives/MarkdownBlock.d.ts → base-primitives/Markdown.d.ts} +4 -4
  26. package/dist/{base/primitives/MarkdownBlock.js → base-primitives/Markdown.js} +6 -5
  27. package/dist/{base/primitives → base-primitives}/NodeHandles.js +8 -1
  28. package/dist/{base/primitives → base-primitives}/compound/CompoundActionButton.d.ts +2 -2
  29. package/dist/{base/primitives → base-primitives}/compound/CompoundActionButton.js +2 -2
  30. package/dist/{base/primitives → base-primitives}/compound/CompoundDetailsButton.d.ts +2 -2
  31. package/dist/{base/primitives → base-primitives}/compound/CompoundDetailsButton.js +2 -2
  32. package/dist/{base/primitives → base-primitives}/compound/CompoundNodeContainer.d.ts +3 -3
  33. package/dist/{base/primitives → base-primitives}/compound/CompoundNodeContainer.js +1 -2
  34. package/dist/base-primitives/compound/CompoundTitle.d.ts +13 -0
  35. package/dist/{base/primitives → base-primitives}/compound/CompoundTitle.js +3 -7
  36. package/dist/{base/primitives → base-primitives}/compound/actionbtns.css.d.ts +1 -1
  37. package/dist/{base/primitives → base-primitives}/edge/EdgeActionButton.js +2 -2
  38. package/dist/{base/primitives → base-primitives}/edge/EdgeContainer.d.ts +2 -2
  39. package/dist/{base/primitives → base-primitives}/edge/EdgeLabel.d.ts +2 -2
  40. package/dist/{base/primitives → base-primitives}/edge/EdgeLabel.js +2 -1
  41. package/dist/{base/primitives → base-primitives}/edge/EdgeLabelContainer.d.ts +2 -2
  42. package/dist/{base/primitives → base-primitives}/edge/EdgeLabelContainer.js +2 -2
  43. package/dist/{base/primitives → base-primitives}/edge/EdgePath.d.ts +2 -2
  44. package/dist/base-primitives/element/ElementActionButtons.d.ts +40 -0
  45. package/dist/base-primitives/element/ElementActionButtons.js +86 -0
  46. package/dist/base-primitives/element/ElementData.d.ts +65 -0
  47. package/dist/base-primitives/element/ElementData.js +121 -0
  48. package/dist/{base/primitives → base-primitives}/element/ElementDetailsButton.d.ts +4 -2
  49. package/dist/{base/primitives → base-primitives}/element/ElementDetailsButton.js +2 -2
  50. package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.d.ts +8 -13
  51. package/dist/base-primitives/element/ElementShape.d.ts +18 -0
  52. package/dist/{base/primitives → base-primitives}/element/ElementShape.js +31 -43
  53. package/dist/{base/primitives → base-primitives}/element/ElementTags.d.ts +2 -2
  54. package/dist/{base/primitives → base-primitives}/element/ElementTags.js +4 -4
  55. package/dist/{base/primitives → base-primitives}/index.d.ts +4 -4
  56. package/dist/base-primitives/memoEdge.d.ts +3 -0
  57. package/dist/{base/primitives/customEdge.js → base-primitives/memoEdge.js} +2 -2
  58. package/dist/base-primitives/memoNode.d.ts +3 -0
  59. package/dist/{base/primitives/customNode.js → base-primitives/memoNode.js} +12 -3
  60. package/dist/bundle/index.d.ts +1 -8
  61. package/dist/components/ErrorFallback.js +36 -17
  62. package/dist/components/Link.js +2 -2
  63. package/dist/components/Logo.d.ts +5 -0
  64. package/dist/components/Logo.js +42 -0
  65. package/dist/components/PortalToContainer.d.ts +6 -0
  66. package/dist/components/PortalToContainer.js +14 -0
  67. package/dist/{context → components}/RootContainer.d.ts +1 -6
  68. package/dist/components/RootContainer.js +43 -0
  69. package/dist/{bundle → components}/ViewNotFound.js +2 -2
  70. package/dist/context/DiagramEventHandlers.d.ts +3 -3
  71. package/dist/context/DiagramEventHandlers.js +20 -16
  72. package/dist/context/DiagramFeatures.d.ts +1 -1
  73. package/dist/context/DiagramFeatures.js +0 -1
  74. package/dist/context/IconRenderer.d.ts +4 -3
  75. package/dist/context/IconRenderer.js +10 -8
  76. package/dist/context/RootContainerContext.d.ts +22 -0
  77. package/dist/context/RootContainerContext.js +31 -0
  78. package/dist/context/TagStylesContext.js +22 -25
  79. package/dist/context/index.d.ts +1 -1
  80. package/dist/custom/builtins.d.ts +1 -0
  81. package/dist/custom/customNodes.d.ts +30 -43
  82. package/dist/custom/customNodes.js +21 -10
  83. package/dist/custom/hooks.d.ts +5 -6
  84. package/dist/custom/index.d.ts +11 -1
  85. package/dist/custom/index.js +25 -20
  86. package/dist/custom/primitives.d.ts +1 -0
  87. package/dist/hooks/index.d.ts +6 -0
  88. package/dist/hooks/safeContext.d.ts +1 -1
  89. package/dist/{likec4model → hooks}/useCurrentViewModel.d.ts +2 -1
  90. package/dist/hooks/useCurrentViewModel.js +12 -0
  91. package/dist/hooks/useDiagram.d.ts +23 -15
  92. package/dist/hooks/useDiagram.js +1 -1
  93. package/dist/{likec4model → hooks}/useLikeC4Model.d.ts +1 -0
  94. package/dist/{likec4model → hooks}/useLikeC4Model.js +5 -2
  95. package/dist/{likec4model → hooks}/useLikeC4Project.d.ts +1 -1
  96. package/dist/{likec4model → hooks}/useLikeC4Project.js +2 -2
  97. package/dist/hooks/useLikeC4Styles.d.ts +2 -0
  98. package/dist/hooks/useLikeC4Styles.js +18 -0
  99. package/dist/hooks/useMantinePortalProps.js +2 -2
  100. package/dist/hooks/useReducedGraphics.d.ts +1 -1
  101. package/dist/hooks/useXYFlow.d.ts +10 -10
  102. package/dist/hooks/useXYFlow.js +11 -5
  103. package/dist/index.d.ts +14 -6
  104. package/dist/index.js +9 -13
  105. package/dist/likec4diagram/DiagramUI.d.ts +1 -1
  106. package/dist/likec4diagram/DiagramUI.js +10 -16
  107. package/dist/likec4diagram/DiagramXYFlow.js +130 -118
  108. package/dist/likec4diagram/convert-to-xyflow.js +2 -2
  109. package/dist/likec4diagram/custom/edges/RelationshipEdge.d.ts +3 -51
  110. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +8 -9
  111. package/dist/likec4diagram/custom/edges/SequenceStepEdge.d.ts +1 -2
  112. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +5 -5
  113. package/dist/likec4diagram/custom/index.d.ts +16 -0
  114. package/dist/likec4diagram/custom/index.js +12 -12
  115. package/dist/likec4diagram/custom/nodes/CompoundActions.d.ts +1 -2
  116. package/dist/likec4diagram/custom/nodes/CompoundActions.js +1 -1
  117. package/dist/likec4diagram/custom/nodes/ElementActions.d.ts +61 -5
  118. package/dist/likec4diagram/custom/nodes/ElementActions.js +8 -8
  119. package/dist/likec4diagram/custom/nodes/SequenceActorNode.d.ts +2 -3
  120. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +12 -24
  121. package/dist/likec4diagram/custom/nodes/nodes.d.ts +10 -10
  122. package/dist/likec4diagram/custom/nodes/nodes.js +25 -28
  123. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.d.ts +3 -2
  124. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +17 -12
  125. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.d.ts +2 -6
  126. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.d.ts +2 -6
  127. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +3 -3
  128. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.d.ts +2 -3
  129. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +5 -19
  130. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +11 -22
  131. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +50 -49
  132. package/dist/likec4diagram/relationship-popover/actor.d.ts +1 -1
  133. package/dist/{state → likec4diagram/state}/DiagramActorProvider.d.ts +1 -1
  134. package/dist/{state → likec4diagram/state}/DiagramActorProvider.js +39 -13
  135. package/dist/{state → likec4diagram/state}/assign.d.ts +1 -1
  136. package/dist/{state → likec4diagram/state}/assign.js +3 -4
  137. package/dist/{state → likec4diagram/state}/diagram-machine.d.ts +178 -138
  138. package/dist/{state → likec4diagram/state}/diagram-machine.js +34 -24
  139. package/dist/{state → likec4diagram/state}/persistence.d.ts +1 -1
  140. package/dist/{state → likec4diagram/state}/syncManualLayoutActor.d.ts +1 -1
  141. package/dist/{state → likec4diagram/state}/syncManualLayoutActor.js +2 -2
  142. package/dist/{state → likec4diagram/state}/types.d.ts +2 -2
  143. package/dist/{state → likec4diagram/state}/utils.d.ts +2 -2
  144. package/dist/likec4diagram/types.d.ts +51 -34
  145. package/dist/likec4diagram/ui/index.d.ts +0 -3
  146. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +4 -1
  147. package/dist/likec4diagram/ui/notation/NotationPanel.js +6 -6
  148. package/dist/likec4diagram/useLayoutConstraints.d.ts +1 -1
  149. package/dist/likec4diagram/xyflow-diagram/diagram-view.d.ts +1 -1
  150. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +12 -9
  151. package/dist/likec4diagram/xyflow-sequence/const.js +1 -8
  152. package/dist/likec4diagram/xyflow-sequence/sequence-layout.d.ts +7 -0
  153. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +181 -0
  154. package/dist/navigationpanel/NavigationPanel.js +5 -6
  155. package/dist/navigationpanel/NavigationPanelControls.js +3 -4
  156. package/dist/navigationpanel/NavigationPanelDropdown.js +37 -13
  157. package/dist/navigationpanel/_common.js +1 -1
  158. package/dist/navigationpanel/actor.d.ts +1 -1
  159. package/dist/navigationpanel/controls/BurgerButton.js +46 -8
  160. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  161. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  162. package/dist/navigationpanel/controls/SearchControl.js +1 -1
  163. package/dist/navigationpanel/controls/ToggleReadonly.js +2 -2
  164. package/dist/navigationpanel/controls/ViewDetailsCard.js +8 -10
  165. package/dist/navigationpanel/dropdown/ProjectsMenu.js +2 -2
  166. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  167. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  168. package/dist/navigationpanel/editorpanel/LayoutDriftNotification.js +1 -1
  169. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  170. package/dist/navigationpanel/hooks.d.ts +3 -3
  171. package/dist/navigationpanel/hooks.js +2 -2
  172. package/dist/navigationpanel/styles.css.d.ts +1 -1
  173. package/dist/navigationpanel/styles.css.js +1 -1
  174. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
  175. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +107 -107
  176. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +3 -13
  177. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +2 -2
  178. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
  179. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
  180. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +1 -1
  181. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
  182. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
  183. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
  184. package/dist/node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +14 -0
  185. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +1 -1
  186. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
  187. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
  188. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
  189. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
  190. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +1 -1
  191. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +1 -1
  192. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +1 -1
  193. package/dist/node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +14 -0
  194. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
  195. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
  196. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +1 -1
  197. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
  198. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
  199. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +1 -1
  200. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
  201. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +1 -1
  202. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +1 -1
  203. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +1 -1
  204. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +1 -1
  205. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +1 -1
  206. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +1 -1
  207. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +1 -1
  208. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +1 -1
  209. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
  210. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
  211. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +1 -1
  212. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +1 -1
  213. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
  214. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
  215. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
  216. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
  217. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +1 -1
  218. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +1 -1
  219. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +1 -1
  220. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +1 -1
  221. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
  222. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
  223. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
  224. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +1 -1
  225. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
  226. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
  227. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
  228. package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
  229. package/dist/overlays/element-details/ElementDetailsCard.css.js +1 -1
  230. package/dist/overlays/element-details/ElementDetailsCard.js +31 -27
  231. package/dist/overlays/element-details/TabPanelDeployments.js +4 -4
  232. package/dist/overlays/element-details/TabPanelRelationships.js +5 -7
  233. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  234. package/dist/overlays/element-details/actor.d.ts +14 -16620
  235. package/dist/overlays/element-details/actor.js +2 -1
  236. package/dist/overlays/overlay/Overlay.js +9 -6
  237. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +3 -43
  238. package/dist/overlays/relationship-details/RelationshipDetails.js +6 -6
  239. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  240. package/dist/overlays/relationship-details/_types.d.ts +29 -12
  241. package/dist/overlays/relationship-details/actor.d.ts +14 -54
  242. package/dist/overlays/relationship-details/actor.js +4 -3
  243. package/dist/overlays/relationship-details/compute.d.ts +2 -1
  244. package/dist/overlays/relationship-details/custom/ElementActions.d.ts +1 -4
  245. package/dist/overlays/relationship-details/custom/ElementActions.js +4 -4
  246. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +3 -43
  247. package/dist/overlays/relationship-details/custom/edgeTypes.js +7 -9
  248. package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +10 -0
  249. package/dist/overlays/relationship-details/custom/nodeTypes.js +19 -17
  250. package/dist/overlays/relationship-details/hooks.d.ts +5 -377
  251. package/dist/overlays/relationship-details/layout-to-xyflow.js +11 -10
  252. package/dist/overlays/relationship-details/layout.d.ts +2 -2
  253. package/dist/overlays/relationship-details/layout.js +6 -6
  254. package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +3 -44
  255. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +12 -8
  256. package/dist/overlays/relationships-browser/SelectElement.js +4 -4
  257. package/dist/overlays/relationships-browser/_types.d.ts +30 -13
  258. package/dist/overlays/relationships-browser/actor.d.ts +17 -523
  259. package/dist/overlays/relationships-browser/actor.js +5 -4
  260. package/dist/overlays/relationships-browser/const.d.ts +6 -2
  261. package/dist/overlays/relationships-browser/custom/ElementActions.d.ts +1 -4
  262. package/dist/overlays/relationships-browser/custom/ElementActions.js +4 -4
  263. package/dist/overlays/relationships-browser/custom/EmptyNode.d.ts +1 -4
  264. package/dist/overlays/relationships-browser/custom/edgeTypes.d.ts +3 -44
  265. package/dist/overlays/relationships-browser/custom/edgeTypes.js +7 -8
  266. package/dist/overlays/relationships-browser/custom/index.d.ts +2 -1
  267. package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +5 -12
  268. package/dist/overlays/relationships-browser/custom/nodeTypes.js +16 -21
  269. package/dist/overlays/relationships-browser/layout.js +12 -11
  270. package/dist/overlays/relationships-browser/useViewToNodesEdges.d.ts +2 -2
  271. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +11 -10
  272. package/dist/search/components/ElementsColumn.js +5 -4
  273. package/dist/search/components/PickView.js +2 -2
  274. package/dist/search/components/SearchByTags.js +3 -3
  275. package/dist/search/components/SearchInput.js +2 -2
  276. package/dist/search/components/ViewsColum.js +4 -4
  277. package/dist/search/components/_shared.css.d.ts +2 -2
  278. package/dist/{bundle → shadowroot}/ShadowRoot.d.ts +5 -1
  279. package/dist/shadowroot/ShadowRoot.js +69 -0
  280. package/dist/{bundle → shadowroot}/styles.css.d.ts +4 -4
  281. package/dist/{bundle → shadowroot}/styles.css.js +17 -24
  282. package/dist/styles.css2.js +1 -1
  283. package/dist/utils/get-view-bounds.d.ts +3 -0
  284. package/dist/utils/get-view-bounds.js +14 -0
  285. package/dist/utils/index.d.ts +1 -0
  286. package/dist/utils/xyflow.d.ts +5 -2
  287. package/dist/utils/xyflow.js +2 -0
  288. package/package.json +48 -39
  289. package/panda.buildinfo.json +129 -180
  290. package/{dist/styles-min.css → styles-min.css} +1 -1
  291. package/styles.css +1 -0
  292. package/bundle/chunk-FGcODVxo.js +0 -21865
  293. package/bundle/custom.js +0 -82
  294. package/dist/base/primitives/compound/CompoundTitle.d.ts +0 -6
  295. package/dist/base/primitives/customEdge.d.ts +0 -4
  296. package/dist/base/primitives/customNode.d.ts +0 -4
  297. package/dist/base/primitives/edge/xyvars.d.ts +0 -24
  298. package/dist/base/primitives/element/ElementActionButtons.d.ts +0 -13
  299. package/dist/base/primitives/element/ElementActionButtons.js +0 -79
  300. package/dist/base/primitives/element/ElementShape.d.ts +0 -32
  301. package/dist/base/primitives/element/ElementTitle.d.ts +0 -12
  302. package/dist/base/primitives/element/ElementTitle.js +0 -76
  303. package/dist/bundle/LikeC4ModelProvider.d.ts +0 -9
  304. package/dist/bundle/LikeC4ModelProvider.js +0 -5
  305. package/dist/bundle/LikeC4View.d.ts +0 -3
  306. package/dist/bundle/LikeC4View.js +0 -186
  307. package/dist/bundle/ReactLikeC4.js +0 -91
  308. package/dist/bundle/ShadowRoot.js +0 -46
  309. package/dist/bundle/custom.d.ts +0 -1
  310. package/dist/bundle/custom.js +0 -33
  311. package/dist/bundle/index.js +0 -17
  312. package/dist/components/SearchControl.css.js +0 -79
  313. package/dist/components/SearchControl.js +0 -17
  314. package/dist/context/ControlsCustomLayout.d.ts +0 -12
  315. package/dist/context/ControlsCustomLayout.js +0 -8
  316. package/dist/context/ReduceGraphics.d.ts +0 -12
  317. package/dist/context/ReduceGraphics.js +0 -26
  318. package/dist/context/RootContainer.js +0 -39
  319. package/dist/custom/components.d.ts +0 -5
  320. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.d.ts +0 -2
  321. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +0 -159
  322. package/dist/likec4diagram/ui/controls/Controls.d.ts +0 -2
  323. package/dist/likec4diagram/ui/controls/Controls.js +0 -154
  324. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.d.ts +0 -2
  325. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +0 -50
  326. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.d.ts +0 -2
  327. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +0 -145
  328. package/dist/likec4diagram/ui/controls/NavigationButtons.d.ts +0 -1
  329. package/dist/likec4diagram/ui/controls/NavigationButtons.js +0 -61
  330. package/dist/likec4diagram/ui/controls/ToggleReadonly.d.ts +0 -1
  331. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +0 -29
  332. package/dist/likec4diagram/ui/controls/_shared.d.ts +0 -7
  333. package/dist/likec4diagram/ui/controls/_shared.js +0 -22
  334. package/dist/likec4diagram/ui/controls/styles.css.d.ts +0 -8
  335. package/dist/likec4diagram/ui/controls/styles.css.js +0 -79
  336. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.d.ts +0 -3
  337. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +0 -49
  338. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.d.ts +0 -1
  339. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +0 -164
  340. package/dist/likec4diagram/ui/diagram-title/Link.d.ts +0 -4
  341. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.d.ts +0 -4
  342. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.js +0 -67
  343. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.d.ts +0 -1
  344. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +0 -124
  345. package/dist/likec4diagram/xyflow-sequence/layouter.js +0 -408
  346. package/dist/likec4diagram/xyflow-sequence/sequence-view.js +0 -273
  347. package/dist/likec4diagram/xyflow-sequence/utils.js +0 -92
  348. package/dist/likec4model/index.d.ts +0 -4
  349. package/dist/likec4model/useCurrentViewModel.js +0 -15
  350. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu.js +0 -14
  351. package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu2.js +0 -14
  352. package/dist/overlays/overlay/Overlay.css.d.ts +0 -60
  353. package/dist/overlays/overlay/Overlay.css.js +0 -122
  354. package/dist/src/index.ts.d.ts +0 -2
  355. package/dist/styles.css +0 -1
  356. package/src/LikeC4Diagram.props.ts +0 -350
  357. package/src/LikeC4Diagram.tsx +0 -172
  358. package/src/LikeC4ModelProvider.tsx +0 -22
  359. package/src/LikeC4ProjectsProvider.tsx +0 -41
  360. package/src/LikeC4Styles.tsx +0 -137
  361. package/src/StaticLikeC4Diagram.tsx +0 -62
  362. package/src/base/Background.tsx +0 -31
  363. package/src/base/BaseXYFlow.tsx +0 -218
  364. package/src/base/const.ts +0 -22
  365. package/src/base/index.ts +0 -12
  366. package/src/base/primitives/MarkdownBlock.tsx +0 -82
  367. package/src/base/primitives/NodeHandles.tsx +0 -18
  368. package/src/base/primitives/compound/CompoundActionButton.tsx +0 -62
  369. package/src/base/primitives/compound/CompoundDetailsButton.tsx +0 -56
  370. package/src/base/primitives/compound/CompoundNodeContainer.tsx +0 -83
  371. package/src/base/primitives/compound/CompoundTitle.tsx +0 -34
  372. package/src/base/primitives/compound/actionbtns.css.ts +0 -18
  373. package/src/base/primitives/customEdge.ts +0 -34
  374. package/src/base/primitives/customNode.tsx +0 -29
  375. package/src/base/primitives/edge/EdgeActionButton.tsx +0 -24
  376. package/src/base/primitives/edge/EdgeContainer.tsx +0 -68
  377. package/src/base/primitives/edge/EdgeLabel.tsx +0 -94
  378. package/src/base/primitives/edge/EdgeLabelContainer.tsx +0 -102
  379. package/src/base/primitives/edge/EdgeMarkers.tsx +0 -198
  380. package/src/base/primitives/edge/EdgePath.tsx +0 -126
  381. package/src/base/primitives/edge/edge.css.ts +0 -74
  382. package/src/base/primitives/edge/xyvars.ts +0 -31
  383. package/src/base/primitives/element/ElementActionButtons.tsx +0 -95
  384. package/src/base/primitives/element/ElementDetailsButton.tsx +0 -80
  385. package/src/base/primitives/element/ElementNodeContainer.css.ts +0 -51
  386. package/src/base/primitives/element/ElementNodeContainer.tsx +0 -98
  387. package/src/base/primitives/element/ElementShape.tsx +0 -250
  388. package/src/base/primitives/element/ElementTags.tsx +0 -190
  389. package/src/base/primitives/element/ElementTitle.tsx +0 -94
  390. package/src/base/primitives/index.ts +0 -20
  391. package/src/base/types.ts +0 -174
  392. package/src/base/updateEdges.ts +0 -38
  393. package/src/base/updateNodes.ts +0 -43
  394. package/src/bundle/LikeC4ModelProvider.tsx +0 -12
  395. package/src/bundle/LikeC4View.props.ts +0 -288
  396. package/src/bundle/LikeC4View.tsx +0 -194
  397. package/src/bundle/ReactLikeC4.tsx +0 -127
  398. package/src/bundle/ShadowRoot.tsx +0 -54
  399. package/src/bundle/ViewNotFound.tsx +0 -25
  400. package/src/bundle/custom.ts +0 -1
  401. package/src/bundle/index.ts +0 -27
  402. package/src/bundle/react-dom-server-mock.ts +0 -3
  403. package/src/bundle/styles.css.ts +0 -172
  404. package/src/components/ErrorFallback.tsx +0 -45
  405. package/src/components/GithubIcon.tsx +0 -16
  406. package/src/components/Link.tsx +0 -112
  407. package/src/components/NavigationLink.tsx +0 -32
  408. package/src/components/SearchControl.css.ts +0 -79
  409. package/src/components/SearchControl.tsx +0 -30
  410. package/src/context/ControlsCustomLayout.ts +0 -15
  411. package/src/context/DiagramEventHandlers.tsx +0 -68
  412. package/src/context/DiagramFeatures.tsx +0 -141
  413. package/src/context/EnsureMantine.tsx +0 -25
  414. package/src/context/FramerMotionConfig.tsx +0 -25
  415. package/src/context/IconRenderer.tsx +0 -117
  416. package/src/context/ReduceGraphics.tsx +0 -42
  417. package/src/context/RootContainer.tsx +0 -54
  418. package/src/context/TagStylesContext.tsx +0 -98
  419. package/src/context/index.ts +0 -13
  420. package/src/custom/components.ts +0 -51
  421. package/src/custom/customNodes.ts +0 -282
  422. package/src/custom/hooks.ts +0 -52
  423. package/src/custom/index.ts +0 -5
  424. package/src/hooks/index.ts +0 -6
  425. package/src/hooks/safeContext.tsx +0 -18
  426. package/src/hooks/useCurrentViewId.ts +0 -15
  427. package/src/hooks/useDiagram.ts +0 -310
  428. package/src/hooks/useId.ts +0 -5
  429. package/src/hooks/useMantinePortalProps.ts +0 -17
  430. package/src/hooks/useOverlaysActor.ts +0 -11
  431. package/src/hooks/useReducedGraphics.ts +0 -1
  432. package/src/hooks/useSearchActor.ts +0 -11
  433. package/src/hooks/useSetState.ts +0 -19
  434. package/src/hooks/useUpdateEffect.ts +0 -46
  435. package/src/hooks/useXYFlow.ts +0 -41
  436. package/src/index.ts +0 -50
  437. package/src/likec4diagram/DiagramUI.tsx +0 -46
  438. package/src/likec4diagram/DiagramXYFlow.tsx +0 -240
  439. package/src/likec4diagram/convert-to-xyflow.ts +0 -45
  440. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +0 -373
  441. package/src/likec4diagram/custom/edges/SequenceStepEdge.tsx +0 -65
  442. package/src/likec4diagram/custom/edges/edges.css.ts +0 -45
  443. package/src/likec4diagram/custom/edges/utils.ts +0 -125
  444. package/src/likec4diagram/custom/index.ts +0 -28
  445. package/src/likec4diagram/custom/nodes/CompoundActions.tsx +0 -27
  446. package/src/likec4diagram/custom/nodes/ElementActions.tsx +0 -120
  447. package/src/likec4diagram/custom/nodes/SequenceActorNode.tsx +0 -175
  448. package/src/likec4diagram/custom/nodes/index.ts +0 -18
  449. package/src/likec4diagram/custom/nodes/nodes.tsx +0 -129
  450. package/src/likec4diagram/custom/nodes/toolbar/ColorButton.tsx +0 -175
  451. package/src/likec4diagram/custom/nodes/toolbar/CompoundToolbar.tsx +0 -122
  452. package/src/likec4diagram/custom/nodes/toolbar/ElementToolbar.tsx +0 -140
  453. package/src/likec4diagram/custom/nodes/toolbar/Toolbar.tsx +0 -82
  454. package/src/likec4diagram/custom/nodes/toolbar/_shared.tsx +0 -151
  455. package/src/likec4diagram/custom/nodes/toolbar/styles.css.ts +0 -13
  456. package/src/likec4diagram/relationship-popover/RelationshipPopover.tsx +0 -549
  457. package/src/likec4diagram/relationship-popover/actor.ts +0 -192
  458. package/src/likec4diagram/relationship-popover/styles.css.ts +0 -27
  459. package/src/likec4diagram/types.ts +0 -240
  460. package/src/likec4diagram/ui/controls/ChangeAutoLayoutButton.tsx +0 -202
  461. package/src/likec4diagram/ui/controls/Controls.tsx +0 -153
  462. package/src/likec4diagram/ui/controls/LayoutDriftNotification.tsx +0 -50
  463. package/src/likec4diagram/ui/controls/ManualLayoutToolsButton.tsx +0 -125
  464. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +0 -61
  465. package/src/likec4diagram/ui/controls/ToggleReadonly.tsx +0 -30
  466. package/src/likec4diagram/ui/controls/_shared.ts +0 -21
  467. package/src/likec4diagram/ui/controls/styles.css.ts +0 -84
  468. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +0 -51
  469. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +0 -175
  470. package/src/likec4diagram/ui/diagram-title/Link.tsx +0 -40
  471. package/src/likec4diagram/ui/index.ts +0 -4
  472. package/src/likec4diagram/ui/notation/NotationPanel.css.ts +0 -99
  473. package/src/likec4diagram/ui/notation/NotationPanel.tsx +0 -252
  474. package/src/likec4diagram/ui/notation/index.ts +0 -1
  475. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.ts +0 -70
  476. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.tsx +0 -130
  477. package/src/likec4diagram/useLayoutConstraints.ts +0 -281
  478. package/src/likec4diagram/xyflow-diagram/diagram-view.ts +0 -275
  479. package/src/likec4diagram/xyflow-sequence/_types.ts +0 -45
  480. package/src/likec4diagram/xyflow-sequence/const.ts +0 -37
  481. package/src/likec4diagram/xyflow-sequence/layouter.ts +0 -567
  482. package/src/likec4diagram/xyflow-sequence/sequence-view.ts +0 -337
  483. package/src/likec4diagram/xyflow-sequence/utils.ts +0 -112
  484. package/src/likec4model/LikeC4ModelContext.tsx +0 -19
  485. package/src/likec4model/LikeC4ProjectsContext.ts +0 -9
  486. package/src/likec4model/index.ts +0 -19
  487. package/src/likec4model/useCurrentViewModel.ts +0 -14
  488. package/src/likec4model/useLikeC4ElementsTree.ts +0 -39
  489. package/src/likec4model/useLikeC4Model.ts +0 -35
  490. package/src/likec4model/useLikeC4Project.ts +0 -61
  491. package/src/navigationpanel/NavigationPanel.tsx +0 -136
  492. package/src/navigationpanel/NavigationPanelControls.tsx +0 -133
  493. package/src/navigationpanel/NavigationPanelDropdown.tsx +0 -547
  494. package/src/navigationpanel/_common.tsx +0 -84
  495. package/src/navigationpanel/actor.ts +0 -320
  496. package/src/navigationpanel/controls/BurgerButton.tsx +0 -30
  497. package/src/navigationpanel/controls/NavigationButtons.tsx +0 -40
  498. package/src/navigationpanel/controls/OpenSource.tsx +0 -28
  499. package/src/navigationpanel/controls/SearchControl.tsx +0 -66
  500. package/src/navigationpanel/controls/ToggleReadonly.tsx +0 -66
  501. package/src/navigationpanel/controls/ViewDetailsCard.tsx +0 -263
  502. package/src/navigationpanel/controls/index.ts +0 -6
  503. package/src/navigationpanel/dropdown/ProjectsMenu.tsx +0 -78
  504. package/src/navigationpanel/editorpanel/CenterCamera.tsx +0 -15
  505. package/src/navigationpanel/editorpanel/ChangeAutoLayoutButton.tsx +0 -199
  506. package/src/navigationpanel/editorpanel/EditorPanel.tsx +0 -49
  507. package/src/navigationpanel/editorpanel/LayoutDriftNotification.tsx +0 -56
  508. package/src/navigationpanel/editorpanel/ManualLayoutToolsButton.tsx +0 -148
  509. package/src/navigationpanel/editorpanel/_common.tsx +0 -14
  510. package/src/navigationpanel/editorpanel/index.ts +0 -1
  511. package/src/navigationpanel/editorpanel/styles.ts +0 -84
  512. package/src/navigationpanel/hooks.tsx +0 -70
  513. package/src/navigationpanel/index.ts +0 -1
  514. package/src/navigationpanel/styles.css.ts +0 -28
  515. package/src/navigationpanel/walkthrough/ActiveWalkthroughControls.tsx +0 -132
  516. package/src/navigationpanel/walkthrough/DynamicViewControls.tsx +0 -125
  517. package/src/navigationpanel/walkthrough/WalkthroughPanel.css.ts +0 -21
  518. package/src/navigationpanel/walkthrough/WalkthroughPanel.tsx +0 -88
  519. package/src/navigationpanel/walkthrough/index.tsx +0 -2
  520. package/src/overlays/Overlays.tsx +0 -121
  521. package/src/overlays/element-details/ElementDetails.tsx +0 -33
  522. package/src/overlays/element-details/ElementDetailsCard.css.ts +0 -263
  523. package/src/overlays/element-details/ElementDetailsCard.tsx +0 -665
  524. package/src/overlays/element-details/TabPanelDeployments.css.ts +0 -64
  525. package/src/overlays/element-details/TabPanelDeployments.tsx +0 -220
  526. package/src/overlays/element-details/TabPanelRelationships.css.ts +0 -102
  527. package/src/overlays/element-details/TabPanelRelationships.tsx +0 -186
  528. package/src/overlays/element-details/TabPanelStructure.css.ts +0 -36
  529. package/src/overlays/element-details/TabPanelStructure.tsx +0 -121
  530. package/src/overlays/element-details/actor.ts +0 -104
  531. package/src/overlays/element-details/actorContext.tsx +0 -16
  532. package/src/overlays/overlay/Overlay.css.ts +0 -123
  533. package/src/overlays/overlay/Overlay.tsx +0 -169
  534. package/src/overlays/overlaysActor.ts +0 -284
  535. package/src/overlays/relationship-details/RelationshipDetails.tsx +0 -334
  536. package/src/overlays/relationship-details/SelectEdge.css.ts +0 -88
  537. package/src/overlays/relationship-details/SelectEdge.tsx +0 -141
  538. package/src/overlays/relationship-details/_types.ts +0 -88
  539. package/src/overlays/relationship-details/actor.ts +0 -397
  540. package/src/overlays/relationship-details/compute.ts +0 -177
  541. package/src/overlays/relationship-details/custom/ElementActions.tsx +0 -53
  542. package/src/overlays/relationship-details/custom/edgeTypes.tsx +0 -49
  543. package/src/overlays/relationship-details/custom/index.ts +0 -2
  544. package/src/overlays/relationship-details/custom/nodeTypes.tsx +0 -126
  545. package/src/overlays/relationship-details/custom/styles.css.ts +0 -13
  546. package/src/overlays/relationship-details/hooks.ts +0 -51
  547. package/src/overlays/relationship-details/layout-to-xyflow.ts +0 -173
  548. package/src/overlays/relationship-details/layout.ts +0 -477
  549. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +0 -282
  550. package/src/overlays/relationships-browser/SelectElement.css.ts +0 -22
  551. package/src/overlays/relationships-browser/SelectElement.tsx +0 -229
  552. package/src/overlays/relationships-browser/_types.ts +0 -102
  553. package/src/overlays/relationships-browser/actor.ts +0 -592
  554. package/src/overlays/relationships-browser/const.ts +0 -8
  555. package/src/overlays/relationships-browser/custom/ElementActions.tsx +0 -57
  556. package/src/overlays/relationships-browser/custom/EmptyNode.tsx +0 -18
  557. package/src/overlays/relationships-browser/custom/edgeTypes.tsx +0 -103
  558. package/src/overlays/relationships-browser/custom/index.ts +0 -2
  559. package/src/overlays/relationships-browser/custom/nodeTypes.tsx +0 -146
  560. package/src/overlays/relationships-browser/custom/styles.css.ts +0 -12
  561. package/src/overlays/relationships-browser/hooks.ts +0 -63
  562. package/src/overlays/relationships-browser/layout.ts +0 -630
  563. package/src/overlays/relationships-browser/useViewToNodesEdges.ts +0 -210
  564. package/src/overlays/types.ts +0 -39
  565. package/src/search/Search.tsx +0 -220
  566. package/src/search/components/ElementsColumn.css.ts +0 -84
  567. package/src/search/components/ElementsColumn.tsx +0 -318
  568. package/src/search/components/PickView.tsx +0 -134
  569. package/src/search/components/SearchByTags.tsx +0 -112
  570. package/src/search/components/SearchInput.tsx +0 -265
  571. package/src/search/components/ViewsColum.tsx +0 -167
  572. package/src/search/components/ViewsColumn.css.ts +0 -34
  573. package/src/search/components/_shared.css.ts +0 -176
  574. package/src/search/components/styles.css.ts +0 -72
  575. package/src/search/components/utils.ts +0 -64
  576. package/src/search/hooks.ts +0 -38
  577. package/src/search/searchActor.ts +0 -99
  578. package/src/state/DiagramActorProvider.tsx +0 -160
  579. package/src/state/aligners.ts +0 -500
  580. package/src/state/assign.ts +0 -425
  581. package/src/state/diagram-machine.ts +0 -1422
  582. package/src/state/hotkeyActor.ts +0 -41
  583. package/src/state/inspector.ts +0 -5
  584. package/src/state/persistence.ts +0 -22
  585. package/src/state/syncManualLayoutActor.ts +0 -218
  586. package/src/state/types.ts +0 -34
  587. package/src/state/utils.ts +0 -152
  588. package/src/styles-font.css +0 -251
  589. package/src/styles-min.css +0 -2
  590. package/src/styles-xyflow.css +0 -1
  591. package/src/styles.css +0 -3
  592. package/src/utils/css.ts +0 -7
  593. package/src/utils/index.ts +0 -15
  594. package/src/utils/roundDpr.ts +0 -27
  595. package/src/utils/vector.ts +0 -57
  596. package/src/utils/xyflow.ts +0 -105
  597. /package/dist/{base/primitives → base-primitives}/NodeHandles.d.ts +0 -0
  598. /package/dist/{base/primitives → base-primitives}/compound/actionbtns.css.js +0 -0
  599. /package/dist/{base/primitives → base-primitives}/edge/EdgeActionButton.d.ts +0 -0
  600. /package/dist/{base/primitives → base-primitives}/edge/EdgeContainer.js +0 -0
  601. /package/dist/{base/primitives → base-primitives}/edge/EdgeMarkers.d.ts +0 -0
  602. /package/dist/{base/primitives → base-primitives}/edge/EdgeMarkers.js +0 -0
  603. /package/dist/{base/primitives → base-primitives}/edge/EdgePath.js +0 -0
  604. /package/dist/{base/primitives → base-primitives}/edge/edge.css.d.ts +0 -0
  605. /package/dist/{base/primitives → base-primitives}/edge/edge.css.js +0 -0
  606. /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.css.d.ts +0 -0
  607. /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.css.js +0 -0
  608. /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.js +0 -0
  609. /package/dist/{bundle → components}/ViewNotFound.d.ts +0 -0
  610. /package/dist/{likec4model → context}/LikeC4ModelContext.d.ts +0 -0
  611. /package/dist/{likec4model → context}/LikeC4ModelContext.js +0 -0
  612. /package/dist/{likec4model → context}/LikeC4ProjectsContext.d.ts +0 -0
  613. /package/dist/{likec4model → context}/LikeC4ProjectsContext.js +0 -0
  614. /package/dist/{likec4model → hooks}/useLikeC4ElementsTree.d.ts +0 -0
  615. /package/dist/{likec4model → hooks}/useLikeC4ElementsTree.js +0 -0
  616. /package/dist/{state → likec4diagram/state}/aligners.d.ts +0 -0
  617. /package/dist/{state → likec4diagram/state}/aligners.js +0 -0
  618. /package/dist/{state → likec4diagram/state}/hotkeyActor.d.ts +0 -0
  619. /package/dist/{state → likec4diagram/state}/hotkeyActor.js +0 -0
  620. /package/dist/{state → likec4diagram/state}/inspector.d.ts +0 -0
  621. /package/dist/{state → likec4diagram/state}/persistence.js +0 -0
  622. /package/dist/{state → likec4diagram/state}/utils.js +0 -0
  623. /package/{dist/styles-font.css → styles-font.css} +0 -0
  624. /package/{dist/styles-xyflow.css → styles-xyflow.css} +0 -0
@@ -1,27 +1,22 @@
1
1
  import { Color, ElementShape, ElementStyle } from '@likec4/core/types';
2
2
  import { MotionNodeLayoutOptions } from 'motion/react';
3
- import { CSSProperties, ReactNode, ForwardRefExoticComponent, RefAttributes } from 'react';
4
- import { NodeProps } from '../../types';
5
- export type RequiredData = {
3
+ import { CSSProperties, ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
4
+ import { BaseNodePropsWithData } from '../../base/types';
5
+ type RequiredData = {
6
6
  color: Color;
7
7
  shape: ElementShape;
8
8
  style?: ElementStyle;
9
9
  };
10
- export type ElementNodeContainerProps = {
11
- nodeProps: NodeProps<RequiredData>;
12
- children?: ReactNode | undefined;
13
- className?: string | undefined;
14
- style?: CSSProperties | undefined;
15
- [key: `data-${string}`]: string | undefined;
16
- } & MotionNodeLayoutOptions;
17
10
  /**
18
11
  * Top-level primitive to compose leaf nodes renderers.
19
12
  * This container provides the state via data-* attributes
20
13
  */
21
14
  export declare const ElementNodeContainer: ForwardRefExoticComponent<{
22
15
  [key: `data-${string}`]: string | undefined;
23
- nodeProps: NodeProps<RequiredData>;
24
- children?: ReactNode | undefined;
16
+ nodeProps: BaseNodePropsWithData<RequiredData>;
25
17
  className?: string | undefined;
26
18
  style?: CSSProperties | undefined;
27
- } & MotionNodeLayoutOptions & RefAttributes<HTMLDivElement>>;
19
+ } & MotionNodeLayoutOptions & {
20
+ children?: ReactNode | undefined;
21
+ } & RefAttributes<HTMLDivElement>>;
22
+ export {};
@@ -0,0 +1,18 @@
1
+ import { ComputedNodeStyle, ElementShape } from '@likec4/core/types';
2
+ type Data = {
3
+ shape: ElementShape;
4
+ width: number;
5
+ height: number;
6
+ style?: ComputedNodeStyle;
7
+ };
8
+ type ElementShapeProps = {
9
+ data: Data;
10
+ width?: number | undefined;
11
+ height?: number | undefined;
12
+ /**
13
+ * @default true
14
+ */
15
+ showSeletionOutline?: boolean | undefined;
16
+ };
17
+ export declare function ElementShape({ data, width, height, showSeletionOutline }: ElementShapeProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -1,8 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { nonexhaustive } from '@likec4/core';
3
- import { Box } from '@likec4/styles/jsx';
4
3
  import { elementShapeRecipe } from '@likec4/styles/recipes';
5
- import { roundDpr } from '../../../utils/roundDpr.js';
4
+ import { roundDpr } from '../../utils/roundDpr.js';
6
5
 
7
6
  function cylinderSVGPath(diameter, height, tilt = 0.065) {
8
7
  const radius = Math.round(diameter / 2);
@@ -132,25 +131,41 @@ function ShapeSvg({ shape, w, h }) {
132
131
  /* @__PURE__ */ jsx("ellipse", { cx: rx, cy: ry, ry, rx: rx - 0.75, "data-likec4-fill": "mix-stroke", strokeWidth: 2 })
133
132
  ] });
134
133
  }
135
- case "rectangle": {
136
- return /* @__PURE__ */ jsx(
134
+ default: {
135
+ return nonexhaustive(shape);
136
+ }
137
+ }
138
+ }
139
+ function ShapeSvgOutline({ shape, w, h }) {
140
+ let svg;
141
+ switch (shape) {
142
+ case "queue":
143
+ svg = /* @__PURE__ */ jsx("path", { d: queueSVGPath(w, h).path });
144
+ break;
145
+ case "storage":
146
+ case "cylinder": {
147
+ svg = /* @__PURE__ */ jsx("path", { d: cylinderSVGPath(w, h).path });
148
+ break;
149
+ }
150
+ default: {
151
+ svg = /* @__PURE__ */ jsx(
137
152
  "rect",
138
153
  {
139
- width: w,
140
- height: h,
141
- rx: 6,
142
- strokeWidth: 0
154
+ x: -1,
155
+ y: -1,
156
+ width: w + 2,
157
+ height: h + 2,
158
+ rx: 6
143
159
  }
144
160
  );
145
- }
146
- default: {
147
- return nonexhaustive(shape);
161
+ break;
148
162
  }
149
163
  }
164
+ return /* @__PURE__ */ jsx("g", { className: "likec4-shape-outline", children: svg });
150
165
  }
151
166
  function ShapeHtml({ multiple, withOutLine }) {
152
167
  return /* @__PURE__ */ jsxs(
153
- Box,
168
+ "div",
154
169
  {
155
170
  className: elementShapeRecipe({
156
171
  shapetype: "html"
@@ -162,12 +177,12 @@ function ShapeHtml({ multiple, withOutLine }) {
162
177
  }
163
178
  );
164
179
  }
165
- function ElementShape({ data, width, height, withSelectedIndicator = true }) {
180
+ function ElementShape({ data, width, height, showSeletionOutline = true }) {
166
181
  let w = !!width && width > 10 ? width : data.width;
167
182
  let h = !!height && height > 10 ? height : data.height;
168
183
  const isMultiple = data.style?.multiple ?? false;
169
184
  if (data.shape === "rectangle") {
170
- return /* @__PURE__ */ jsx(ShapeHtml, { multiple: isMultiple, withOutLine: withSelectedIndicator });
185
+ return /* @__PURE__ */ jsx(ShapeHtml, { multiple: isMultiple, withOutLine: showSeletionOutline });
171
186
  }
172
187
  const className = elementShapeRecipe({
173
188
  shapetype: "svg"
@@ -175,37 +190,10 @@ function ElementShape({ data, width, height, withSelectedIndicator = true }) {
175
190
  return /* @__PURE__ */ jsxs(Fragment, { children: [
176
191
  isMultiple && /* @__PURE__ */ jsx("svg", { className, "data-likec4-shape-multiple": "true", viewBox: `0 0 ${w} ${h}`, children: /* @__PURE__ */ jsx(ShapeSvg, { shape: data.shape, w, h }) }),
177
192
  /* @__PURE__ */ jsxs("svg", { className, viewBox: `0 0 ${w} ${h}`, children: [
178
- withSelectedIndicator && /* @__PURE__ */ jsx(SelectedIndicator, { shape: data.shape, w, h }),
193
+ showSeletionOutline && /* @__PURE__ */ jsx(ShapeSvgOutline, { shape: data.shape, w, h }),
179
194
  /* @__PURE__ */ jsx(ShapeSvg, { shape: data.shape, w, h })
180
195
  ] })
181
196
  ] });
182
197
  }
183
- function SelectedIndicator({ shape, w, h }) {
184
- let svg;
185
- switch (shape) {
186
- case "queue":
187
- svg = /* @__PURE__ */ jsx("path", { d: queueSVGPath(w, h).path });
188
- break;
189
- case "storage":
190
- case "cylinder": {
191
- svg = /* @__PURE__ */ jsx("path", { d: cylinderSVGPath(w, h).path });
192
- break;
193
- }
194
- default: {
195
- svg = /* @__PURE__ */ jsx(
196
- "rect",
197
- {
198
- x: -1,
199
- y: -1,
200
- width: w + 2,
201
- height: h + 2,
202
- rx: 6
203
- }
204
- );
205
- break;
206
- }
207
- }
208
- return /* @__PURE__ */ jsx("g", { className: "likec4-shape-outline", children: svg });
209
- }
210
198
 
211
- export { ElementShape, SelectedIndicator, cylinderSVGPath };
199
+ export { ElementShape };
@@ -1,5 +1,5 @@
1
1
  import { BoxProps } from '@likec4/styles/jsx';
2
- import { NodeProps } from '../../types';
2
+ import { BaseNodePropsWithData } from '../../base/types';
3
3
  import { ForwardRefExoticComponent, RefAttributes, MemoExoticComponent } from 'react';
4
4
  export type ElementTagProps = {
5
5
  tag: string;
@@ -10,6 +10,6 @@ type Data = {
10
10
  tags: readonly string[] | null | undefined;
11
11
  width: number;
12
12
  };
13
- type ElementTagsProps = NodeProps<Data>;
13
+ type ElementTagsProps = BaseNodePropsWithData<Data>;
14
14
  export declare const ElementTags: MemoExoticComponent<({ id, data: { tags, width, hovered } }: ElementTagsProps) => import("react/jsx-runtime").JSX.Element | null>;
15
15
  export {};
@@ -8,10 +8,10 @@ import { useHover, useDebouncedState } from '@mantine/hooks';
8
8
  import { NodeToolbar, Position } from '@xyflow/react';
9
9
  import { deepEqual } from 'fast-equals';
10
10
  import { forwardRef, memo, useEffect, useCallback } from 'react';
11
- import { useTagSpecification } from '../../../context/TagStylesContext.js';
12
- import { useDiagram } from '../../../hooks/useDiagram.js';
13
- import { useCurrentZoom } from '../../../hooks/useXYFlow.js';
14
- import { stopPropagation } from '../../../utils/xyflow.js';
11
+ import { useTagSpecification } from '../../context/TagStylesContext.js';
12
+ import { useDiagram } from '../../hooks/useDiagram.js';
13
+ import { useCurrentZoom } from '../../hooks/useXYFlow.js';
14
+ import { stopPropagation } from '../../utils/xyflow.js';
15
15
 
16
16
  const ElementTag = forwardRef(
17
17
  ({ tag, cursor, className, style, ...props }, ref) => {
@@ -2,8 +2,6 @@ export { CompoundActionButton } from './compound/CompoundActionButton';
2
2
  export { CompoundDetailsButton } from './compound/CompoundDetailsButton';
3
3
  export { CompoundNodeContainer } from './compound/CompoundNodeContainer';
4
4
  export { CompoundTitle } from './compound/CompoundTitle';
5
- export { customEdge } from './customEdge';
6
- export { customNode } from './customNode';
7
5
  export { EdgeActionButton } from './edge/EdgeActionButton';
8
6
  export { EdgeContainer } from './edge/EdgeContainer';
9
7
  export { EdgeLabel } from './edge/EdgeLabel';
@@ -11,10 +9,12 @@ export { EdgeLabelContainer } from './edge/EdgeLabelContainer';
11
9
  export { arrowTypeToMarker, EdgeMarkers, type EdgeMarkerType } from './edge/EdgeMarkers';
12
10
  export { EdgePath } from './edge/EdgePath';
13
11
  export { ElementActionButtons } from './element/ElementActionButtons';
12
+ export { ElementData } from './element/ElementData';
14
13
  export { ElementDetailsButton } from './element/ElementDetailsButton';
15
14
  export { ElementNodeContainer } from './element/ElementNodeContainer';
16
15
  export { ElementShape } from './element/ElementShape';
17
16
  export { ElementTag, ElementTags } from './element/ElementTags';
18
- export { ElementTitle } from './element/ElementTitle';
19
- export { MarkdownBlock } from './MarkdownBlock';
17
+ export { Markdown } from './Markdown';
18
+ export { memoEdge } from './memoEdge';
19
+ export { memoNode } from './memoNode';
20
20
  export { DefaultHandles } from './NodeHandles';
@@ -0,0 +1,3 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { BaseEdgeProps } from '../base/types';
3
+ export declare function memoEdge<P extends BaseEdgeProps>(Edge: FunctionComponent<P>): FunctionComponent<P>;
@@ -5,8 +5,8 @@ const isSame = (a, b) => {
5
5
  return Math.abs(a - b) < 2.5;
6
6
  };
7
7
  const edgePropsEqual = (prev, next) => prev.id === next.id && deepEqual(prev.selected ?? false, next.selected ?? false) && deepEqual(prev.animated ?? false, next.animated ?? false) && deepEqual(prev.source, next.source) && deepEqual(prev.sourceHandleId ?? null, next.sourceHandleId ?? null) && deepEqual(prev.sourcePosition, next.sourcePosition) && deepEqual(prev.target, next.target) && deepEqual(prev.targetHandleId ?? null, next.targetHandleId ?? null) && deepEqual(prev.targetPosition, next.targetPosition) && isSame(prev.sourceX, next.sourceX) && isSame(prev.sourceY, next.sourceY) && isSame(prev.targetX, next.targetX) && isSame(prev.targetY, next.targetY) && deepEqual(prev.data, next.data);
8
- function customEdge(Edge) {
8
+ function memoEdge(Edge) {
9
9
  return memo(Edge, edgePropsEqual);
10
10
  }
11
11
 
12
- export { customEdge, edgePropsEqual };
12
+ export { memoEdge };
@@ -0,0 +1,3 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { BaseNodeProps } from '../base/types';
3
+ export declare function memoNode<P extends BaseNodeProps>(Node: FunctionComponent<P>): FunctionComponent<P>;
@@ -4,13 +4,22 @@ import { memo } from 'react';
4
4
  function nodePropsEqual(prev, next) {
5
5
  return prev.id === next.id && deepEqual(prev.selected ?? false, next.selected ?? false) && deepEqual(prev.dragging ?? false, next.dragging ?? false) && deepEqual(prev.width ?? 0, next.width ?? 0) && deepEqual(prev.height ?? 0, next.height ?? 0) && deepEqual(prev.zIndex ?? 0, next.zIndex ?? 0) && deepEqual(prev.data, next.data);
6
6
  }
7
- function customNode(Node) {
7
+ const isMemoized = Symbol.for("isMemoized");
8
+ function memoNode(Node) {
9
+ if (Node.hasOwnProperty(isMemoized)) {
10
+ return Node;
11
+ }
8
12
  const NodeComponent = memo(
9
13
  Node,
10
- (prev, next) => nodePropsEqual(prev, next)
14
+ nodePropsEqual
11
15
  );
12
16
  NodeComponent.displayName = "Node";
17
+ Object.defineProperty(NodeComponent, isMemoized, {
18
+ enumerable: false,
19
+ writable: false,
20
+ value: true
21
+ });
13
22
  return NodeComponent;
14
23
  }
15
24
 
16
- export { customNode, nodePropsEqual };
25
+ export { memoNode };
@@ -1,8 +1 @@
1
- export type { ChangeEvent, CustomNodes, DiagramNodeWithNavigate, ElementIconRenderer, LikeC4ColorScheme, LikeC4DiagramEventHandlers, OnCanvasClick, OnChange, OnEdgeClick, OnNavigateTo, OnNodeClick, OpenSourceParams, PaddingUnit, PaddingWithUnit, WhereOperator, } from '../LikeC4Diagram.props';
2
- export { LikeC4View } from './LikeC4View';
3
- export type { LikeC4BrowserProps, LikeC4ViewProps } from './LikeC4View.props';
4
- export { ReactLikeC4, type ReactLikeC4Props } from './ReactLikeC4';
5
- export { LikeC4ProjectsProvider, type LikeC4ProjectsProviderProps } from '../LikeC4ProjectsProvider';
6
- export { LikeC4ModelProvider, type LikeC4ModelProviderProps } from './LikeC4ModelProvider';
7
- export { ViewNotFound } from './ViewNotFound';
8
- export * from '../custom/hooks';
1
+ export * from '../index';
@@ -2,29 +2,48 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { Box } from '@likec4/styles/jsx';
3
3
  import { Notification, ScrollAreaAutosize, Code, Group, Button } from '@mantine/core';
4
4
  import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
5
- import IconX from '../node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
5
+ import IconX from '../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
6
6
 
7
7
  function ErrorFallback({ error, resetErrorBoundary }) {
8
8
  const errorString = error instanceof Error ? error.message : "Unknown error";
9
- return /* @__PURE__ */ jsx(Box, { pos: "fixed", top: "0", left: "0", w: "100%", p: "0", style: { zIndex: 1e3 }, children: /* @__PURE__ */ jsxs(
10
- Notification,
9
+ return /* @__PURE__ */ jsx(
10
+ Box,
11
11
  {
12
- icon: /* @__PURE__ */ jsx(IconX, { style: { width: 16, height: 16 } }),
13
- styles: {
14
- icon: {
15
- alignSelf: "flex-start"
16
- }
12
+ css: {
13
+ position: "absolute",
14
+ top: "0",
15
+ left: "0",
16
+ width: "100%",
17
+ height: "100%",
18
+ padding: "0",
19
+ backdropFilter: `blur(5px)`,
20
+ backgroundColor: {
21
+ _dark: `[rgb(34 34 34 / 10%)]`,
22
+ _light: `[rgb(15 15 15/ 20%)]`
23
+ },
24
+ zIndex: 1e3
17
25
  },
18
- color: "red",
19
- title: "Oops, something went wrong",
20
- p: "xl",
21
- withCloseButton: false,
22
- children: [
23
- /* @__PURE__ */ jsx(ScrollAreaAutosize, { maw: "100%", mah: 400, children: /* @__PURE__ */ jsx(Code, { block: true, children: errorString }) }),
24
- /* @__PURE__ */ jsx(Group, { gap: "xs", mt: "xl", children: /* @__PURE__ */ jsx(Button, { color: "gray", size: "xs", variant: "light", onClick: () => resetErrorBoundary(), children: "Reset" }) })
25
- ]
26
+ children: /* @__PURE__ */ jsxs(
27
+ Notification,
28
+ {
29
+ icon: /* @__PURE__ */ jsx(IconX, { style: { width: 16, height: 16 } }),
30
+ styles: {
31
+ icon: {
32
+ alignSelf: "flex-start"
33
+ }
34
+ },
35
+ color: "red",
36
+ title: "Oops, something went wrong",
37
+ p: "xl",
38
+ withCloseButton: false,
39
+ children: [
40
+ /* @__PURE__ */ jsx(ScrollAreaAutosize, { maw: "100%", mah: 400, children: /* @__PURE__ */ jsx(Code, { block: true, children: errorString }) }),
41
+ /* @__PURE__ */ jsx(Group, { gap: "xs", mt: "xl", children: /* @__PURE__ */ jsx(Button, { color: "gray", size: "xs", variant: "light", onClick: () => resetErrorBoundary(), children: "Reset" }) })
42
+ ]
43
+ }
44
+ )
26
45
  }
27
- ) });
46
+ );
28
47
  }
29
48
  function ErrorBoundary(props) {
30
49
  return /* @__PURE__ */ jsx(
@@ -4,8 +4,8 @@ import { styled } from '@likec4/styles/jsx';
4
4
  import { Badge, CopyButton, ActionIcon } from '@mantine/core';
5
5
  import { forwardRef } from 'react';
6
6
  import { GithubIcon } from './GithubIcon.js';
7
- import IconCheck from '../node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js';
8
- import IconCopy from '../node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js';
7
+ import IconCheck from '../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js';
8
+ import IconCopy from '../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js';
9
9
 
10
10
  const GITHUB_PREFIX = "https://github.com/";
11
11
  const Link = forwardRef(
@@ -0,0 +1,5 @@
1
+ import { SVGProps, ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ type LogoProps = Omit<SVGProps<SVGSVGElement>, 'viewBox'>;
3
+ export declare const Logo: ForwardRefExoticComponent<Omit<LogoProps, "ref"> & RefAttributes<SVGSVGElement>>;
4
+ export declare const LogoIcon: ForwardRefExoticComponent<Omit<LogoProps, "ref"> & RefAttributes<SVGSVGElement>>;
5
+ export {};
@@ -0,0 +1,42 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { css } from '@likec4/styles/css';
3
+ import { forwardRef } from 'react';
4
+
5
+ const Logo = forwardRef(
6
+ (props, ref) => {
7
+ return /* @__PURE__ */ jsxs("svg", { ref, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 222 56", ...props, children: [
8
+ /* @__PURE__ */ jsx(
9
+ "path",
10
+ {
11
+ fill: "#5E98AF",
12
+ d: "M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z"
13
+ }
14
+ ),
15
+ /* @__PURE__ */ jsx(
16
+ "path",
17
+ {
18
+ className: css({
19
+ fill: "[#FCFBF7]",
20
+ _light: {
21
+ fill: "[#222221]"
22
+ }
23
+ }),
24
+ d: "M71.61 12.08c-.06 3.61.3 29.95.23 31.87 0 1.8 0 3.6.06 5.41 0 .3.18.58.47.58 4.1.18 8.13-.17 12.22-.11 1.34.05 2.69 0 3.97 0 1.29-.06 1.4-.59 1.35-1.63-.06-1.63-.06-3.08-.06-4.65-.06-.82-.53-1.11-1.23-1.11-2.4.06-4.8-.06-7.19.06-.4.06-.82.06-1.23.06-.7-.06-.87-.24-.93-1v-.86c-.18-4.83.17-9.83.17-14.66-.06-4.07 0-7.73-.06-11.34 0-1.57 0-3.14-.05-4.65-.06-.93 0-1.92-.24-2.85-.11-.35-.29-.81-.7-.81h-5.5c-.93 0-1.22.64-1.28 1.57v4.12ZM103.81 35c-.17-6.63-.1-13.67-.05-20.24 0-2.04-.12-4.25-.12-6.28 0-2.21-.87-2.1-2.04-2.15-1.7-.06-2.46-.06-4.15-.06-1.11-.06-1.58.23-1.58 1.34 0 5.7-.18 21.8-.12 24.13.06 2.33.3 12.91.18 15.24-.06.81 0 1.62.06 2.44.05.29.23.58.7.58 1.93-.12 3.74-.12 5.67-.17.7-.06 1.28-.24 1.58-1 .05-.4-.12-11.04-.12-13.83Zm13.92 4.47c0-2.03-.3-7.56-.23-8.72 0-.17.11-.4.17-.4.12 0 .35.11.41.17 1.87 2.44 10.64 19.36 11.7 19.42.28.06.58.06.87.06 1.99-.12 3.74 0 5.73 0 2.04 0 .7-1.98.35-2.5-.53-.76-7.48-13.14-7.9-13.9-1.16-1.98-2.16-4.13-3.32-6.05-.12-.23-.24-.58-.18-.81.12-.7.3-1.34.59-1.98a93.18 93.18 0 0 1 4.55-8.14c1.88-2.97 2.93-4.83 4.45-7.5.35-.64.58-1.34.82-2.1.05-.29-.18-.58-.53-.58-1.11-.05-5.15 0-6.43 0-.59 0-1.17.12-1.46.64-.76 1.46-8.6 15.7-9.35 16.98-.06.12-.24.18-.41.18 0 0-.12-.18-.12-.3-.06-3.25.53-13.9.4-16.04-.05-1.28-.28-1.4-1.57-1.46-1.4-.05-3.33-.05-4.73-.05-1.3 0-1.4.7-1.58 1.62-.06.18-.06 5.64-.06 8.09 0 3.54-.3 25.76.11 32.8 0 .7.18 1.1.77 1.1 1.57-.12 3.91 0 5.49 0 1.11 0 1.29-.12 1.29-1.98 0-2.5.23-4.77.23-7.85 0-.23-.06-.46-.06-.7Zm25.66-1.4h-.06c0 1.46-.05 2.97 0 4.49.06 1.86.18 3.72.3 5.58 0 .64.17.81.76.93 1.22.29 2.4.35 3.62.35 3.16-.12 6.31.11 9.47 0 1.29-.06 1.87.06 3.16-.18 1.17-.23 1.58-.87 1.58-2.61-.12-1.1-.06-1.57-.06-2.91 0-1.92-1.35-2.56-2.52-2.5-.81.06-4.73-.06-6.31-.06-2.63.06-2.22.4-2.22-2.33 0-2.2.06-5.05.06-7.32 0-1.22.11-1.63 1.28-1.63h7.31c1.17.17 1.99-.64 1.99-1.86 0-1.22.12-1.28.12-2.5l-.18-1.75c-.12-.99-.47-1.33-1.46-1.33-.64 0-1.29.05-1.93.11-2.52.18-3.68-.17-6.14 0-.82 0-.93-.11-1-.87-.23-2.27 0-4.77.24-7.04.06-.93.3-1.1 1.17-1.16l8.24-.06c1.11-.11 1.46-.06 1.4-1.16-.11-1.69.06-3.43-.11-5.12-.12-.93-.41-1.1-1.46-1.1-1.76.05-2.17.05-3.92.17-1.75.06-8.77.06-10.46.06-2.46 0-2.63-.18-2.7 2.8-.1 2.32-.05 4.7-.05 7.09 0 4.07-.23 18.66-.12 21.92Zm47.76-24.82c.06-1.92 0-3.5 0-5.35 0-2.15-3.92-1.92-5.32-1.86a18.95 18.95 0 0 0-15.08 9.77c-.82 1.57-1.4 3.2-1.81 4.88a34 34 0 0 0-.59 12.15c.41 3.78 1.4 7.56 3.74 10.59 4.04 5.3 11.46 7.15 17.83 6.16.3-.06.59-.11.82-.29.18-.11.35-.35.35-.58l.18-3.31c.06-1.05 0-1 0-2.04 0-1.4-2.93-.35-4.74-.35-1.75 0-3.62-.06-5.2-.87-2.8-1.57-4.38-4.71-5.26-7.68-1-3.2-1.23-6.63-.64-9.88.7-4.25 2.74-9.13 7.25-10.59 2.57-.87 5.31-.58 7.89-.29.35.06.58-.17.58-.46Zm26.77 15.3c.06-2.5 0-14.84 0-18.38.06-.82 0-1.63-.11-2.45-.06-.99-.24-1.28-1.29-1.33h-4.44c-.82 0-1.35.4-1.82 1.27-1.34 3.2-10.75 24.02-12.15 26.58-.53.99-1 1.63-1 2.68v4.24c0 .76-.06 1.28 1.23 1.28l11.1-.06c1.47 0 1.47.3 1.47 1.1 0 .88-.12 4.9-.12 5.3 0 .58.12 1.16 1.23 1.16h5.08c1.23 0 1.23-.7 1.23-2.03.06-1.17-.06-3.5-.06-4.66 0-.93.18-.98 1.76-.98 1.22 0 1.75-.12 1.75-.88.06-1.57 0-2.67 0-4.42 0-1.04-.93-.98-2.92-.98-.65 0-.7-.18-.7-1.05-.12-1.8-.24-4.6-.24-6.4Zm-7.25-5.94c-.05.7-.11 10.82-.11 12.27-.06.81-.24 1.05-1 1.1-1.93.06-3.85.06-5.78.06-.47 0-.65-.4-.41-.87.23-.4 4.85-11.57 6.13-14.48.18-.17.24-.35.41-.52.18-.12.41-.18.59-.23.06 0 .23.29.23.46 0 .76-.06 1.51-.06 2.21Z"
25
+ }
26
+ )
27
+ ] });
28
+ }
29
+ );
30
+ const LogoIcon = forwardRef(
31
+ (props, ref) => {
32
+ return /* @__PURE__ */ jsx("svg", { ref, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 56 56", ...props, children: /* @__PURE__ */ jsx(
33
+ "path",
34
+ {
35
+ fill: "#5E98AF",
36
+ d: "M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z"
37
+ }
38
+ ) });
39
+ }
40
+ );
41
+
42
+ export { Logo, LogoIcon };
@@ -0,0 +1,6 @@
1
+ import { PropsWithChildren } from 'react';
2
+ /**
3
+ * PortalToContainer is used to render elements outside the LikeC4DiagramXYFlow, but inside the container.
4
+ * It is used internally by the library.
5
+ */
6
+ export declare function PortalToContainer({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { Portal } from '@mantine/core';
3
+ import { useContext } from 'react';
4
+ import { RootContainerContext } from '../context/RootContainerContext.js';
5
+
6
+ function PortalToContainer({ children }) {
7
+ const ctx = useContext(RootContainerContext);
8
+ if (!ctx) {
9
+ throw new Error("PortalToContainer must be used within RootContainer");
10
+ }
11
+ return /* @__PURE__ */ jsx(Portal, { target: ctx.ref.current ?? `#${ctx.id}`, children });
12
+ }
13
+
14
+ export { PortalToContainer };
@@ -1,11 +1,6 @@
1
- import { PropsWithChildren, RefObject } from 'react';
1
+ import { PropsWithChildren } from 'react';
2
2
  export declare function RootContainer({ id, className, reduceGraphics, children, }: PropsWithChildren<{
3
3
  id: string;
4
4
  className?: string | undefined;
5
5
  reduceGraphics?: boolean;
6
6
  }>): import("react/jsx-runtime").JSX.Element;
7
- export declare function useRootContainerRef(): RefObject<HTMLDivElement | null>;
8
- /**
9
- * NOTE: Non-reactive
10
- */
11
- export declare function useRootContainer(): HTMLDivElement | null;
@@ -0,0 +1,43 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { cx } from '@likec4/styles/css';
3
+ import { useIsomorphicLayoutEffect } from '@react-hookz/web';
4
+ import { atom } from 'nanostores';
5
+ import { useState, useRef, useEffect, useMemo } from 'react';
6
+ import { PanningAtomSafeCtx, ReduceGraphicsModeCtx, RootContainerContext } from '../context/RootContainerContext.js';
7
+
8
+ function RootContainer({
9
+ id,
10
+ className,
11
+ reduceGraphics = false,
12
+ children
13
+ }) {
14
+ const [mounted, setMounted] = useState(false);
15
+ const ref = useRef(null);
16
+ const $isPanningRef = useRef(null);
17
+ if (!$isPanningRef.current) {
18
+ $isPanningRef.current = atom(false);
19
+ }
20
+ useIsomorphicLayoutEffect(() => {
21
+ setMounted(true);
22
+ }, []);
23
+ useEffect(() => {
24
+ return $isPanningRef.current?.subscribe((isPanning) => {
25
+ ref.current?.setAttribute("data-likec4-diagram-panning", isPanning ? "true" : "false");
26
+ });
27
+ }, []);
28
+ const ctx = useMemo(() => ({ id, ref }), [id, ref]);
29
+ return /* @__PURE__ */ jsx(PanningAtomSafeCtx, { value: $isPanningRef.current, children: /* @__PURE__ */ jsx(ReduceGraphicsModeCtx.Provider, { value: reduceGraphics, children: /* @__PURE__ */ jsx(
30
+ "div",
31
+ {
32
+ id,
33
+ className: cx("likec4-root", className),
34
+ ref,
35
+ ...reduceGraphics && {
36
+ ["data-likec4-reduced-graphics"]: true
37
+ },
38
+ children: mounted && !!ctx.ref.current && /* @__PURE__ */ jsx(RootContainerContext.Provider, { value: ctx, children })
39
+ }
40
+ ) }) });
41
+ }
42
+
43
+ export { RootContainer };
@@ -1,10 +1,10 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
 
3
3
  const ErrorMessage = ({ children }) => /* @__PURE__ */ jsx(
4
4
  "div",
5
5
  {
6
6
  style: {
7
- margin: "[1rem 0]"
7
+ margin: "1rem 0"
8
8
  },
9
9
  children: /* @__PURE__ */ jsx(
10
10
  "div",
@@ -4,11 +4,11 @@ import { LikeC4DiagramEventHandlers } from '../LikeC4Diagram.props';
4
4
  type RequiredOrNull<T> = {
5
5
  [P in keyof T]-?: NonNullable<T[P]> | null;
6
6
  };
7
- export type DiagramEventHandlersContext = RequiredOrNull<LikeC4DiagramEventHandlers<aux.Any>> & {
8
- handlersRef: RefObject<LikeC4DiagramEventHandlers<aux.Any>>;
7
+ export type DiagramEventHandlersContext = RequiredOrNull<LikeC4DiagramEventHandlers> & {
8
+ handlersRef: RefObject<Required<LikeC4DiagramEventHandlers>>;
9
9
  };
10
10
  export declare function DiagramEventHandlers<A extends aux.Any>({ handlers, children, }: PropsWithChildren<{
11
- handlers: LikeC4DiagramEventHandlers<A>;
11
+ handlers: Required<LikeC4DiagramEventHandlers<A>>;
12
12
  }>): import("react/jsx-runtime").JSX.Element;
13
13
  export declare function useDiagramEventHandlers(): DiagramEventHandlersContext;
14
14
  export declare function useDiagramEventHandlersRef<A extends aux.Any = aux.Any>(): RefObject<LikeC4DiagramEventHandlers<A>>;
@@ -1,32 +1,36 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useSyncedRef } from '@react-hookz/web';
3
3
  import { useContext, createContext, useMemo } from 'react';
4
- import { isFunction, mapToObj } from 'remeda';
4
+ import { keys, isFunction, mapToObj } from 'remeda';
5
5
 
6
- const HandlerNames = [
7
- "onBurgerMenuClick",
8
- "onNavigateTo",
9
- "onOpenSource",
10
- "onCanvasClick",
11
- "onCanvasContextMenu",
12
- "onEdgeClick",
13
- "onEdgeContextMenu",
14
- "onNodeClick",
15
- "onNodeContextMenu",
16
- "onChange",
17
- "onCanvasDblClick"
18
- ];
6
+ const defaultHandlers = {
7
+ onChange: null,
8
+ onNavigateTo: null,
9
+ onNodeClick: null,
10
+ onNodeContextMenu: null,
11
+ onCanvasContextMenu: null,
12
+ onEdgeClick: null,
13
+ onEdgeContextMenu: null,
14
+ onCanvasClick: null,
15
+ onCanvasDblClick: null,
16
+ onBurgerMenuClick: null,
17
+ onOpenSource: null,
18
+ onInitialized: null
19
+ };
20
+ const HandlerNames = keys(defaultHandlers);
19
21
  const DiagramEventHandlersReactContext = createContext({
20
22
  ...mapToObj(HandlerNames, (name) => [name, null]),
21
23
  handlersRef: {
22
- current: {}
24
+ current: defaultHandlers
23
25
  }
24
26
  });
25
27
  function DiagramEventHandlers({
26
28
  handlers,
27
29
  children
28
30
  }) {
29
- const handlersRef = useSyncedRef(handlers);
31
+ const handlersRef = useSyncedRef(
32
+ handlers
33
+ );
30
34
  const deps = HandlerNames.map((name) => isFunction(handlers[name]));
31
35
  const value = useMemo(() => ({
32
36
  ...mapToObj(HandlerNames, (name) => {
@@ -1,6 +1,6 @@
1
1
  import { ExclusiveUnion } from '@likec4/core/types';
2
2
  import { PropsWithChildren } from 'react';
3
- declare const FeatureNames: readonly ["Controls", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "EdgeEditing", "ViewTitle", "FitView", "Vscode", "ElementTags"];
3
+ declare const FeatureNames: readonly ["Controls", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "EdgeEditing", "FitView", "Vscode", "ElementTags"];
4
4
  export type FeatureName = typeof FeatureNames[number];
5
5
  type CustomFeatures = {
6
6
  enableControls: 'next' | boolean;
@@ -16,7 +16,6 @@ const FeatureNames = [
16
16
  "Notations",
17
17
  "DynamicViewWalkthrough",
18
18
  "EdgeEditing",
19
- "ViewTitle",
20
19
  "FitView",
21
20
  /**
22
21
  * Running in VSCode
@@ -1,16 +1,17 @@
1
1
  import { ElementShape } from '@likec4/core';
2
- import { PropsWithChildren } from 'react';
2
+ import { CSSProperties, PropsWithChildren } from 'react';
3
3
  import { ElementIconRenderer } from '../LikeC4Diagram.props';
4
4
  export declare function IconRendererProvider({ value, children, }: PropsWithChildren<{
5
5
  value: ElementIconRenderer | null;
6
6
  }>): import("react/jsx-runtime").JSX.Element;
7
- export declare function IconRenderer({ element, className, }: {
7
+ export declare function IconRenderer({ element, className, style, }: {
8
8
  element?: {
9
9
  id: string;
10
10
  title: string;
11
11
  icon?: string | null | undefined;
12
12
  };
13
- className: string;
13
+ className?: string | undefined;
14
+ style?: CSSProperties | undefined;
14
15
  }): import("react/jsx-runtime").JSX.Element | null;
15
16
  export declare function IconOrShapeRenderer({ element, className, }: {
16
17
  element: {