@likec4/diagram 1.41.0 → 1.42.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 (615) hide show
  1. package/README.md +1 -1
  2. package/bundle/index.js +44211 -25318
  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 +35 -28
  7. package/dist/LikeC4Diagram.props.d.ts +40 -30
  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/PortalToContainer.d.ts +6 -0
  65. package/dist/components/PortalToContainer.js +14 -0
  66. package/dist/{context → components}/RootContainer.d.ts +1 -6
  67. package/dist/{context → components}/RootContainer.js +12 -11
  68. package/dist/{bundle → components}/ViewNotFound.js +2 -2
  69. package/dist/context/DiagramEventHandlers.d.ts +3 -3
  70. package/dist/context/DiagramEventHandlers.js +20 -16
  71. package/dist/context/DiagramFeatures.d.ts +1 -1
  72. package/dist/context/DiagramFeatures.js +0 -1
  73. package/dist/context/IconRenderer.d.ts +4 -3
  74. package/dist/context/IconRenderer.js +10 -8
  75. package/dist/context/RootContainerContext.d.ts +11 -0
  76. package/dist/context/RootContainerContext.js +18 -0
  77. package/dist/context/TagStylesContext.js +22 -25
  78. package/dist/context/index.d.ts +1 -1
  79. package/dist/custom/builtins.d.ts +1 -0
  80. package/dist/custom/customNodes.d.ts +30 -43
  81. package/dist/custom/customNodes.js +21 -10
  82. package/dist/custom/hooks.d.ts +5 -6
  83. package/dist/custom/index.d.ts +11 -1
  84. package/dist/custom/index.js +25 -20
  85. package/dist/custom/primitives.d.ts +1 -0
  86. package/dist/hooks/index.d.ts +6 -0
  87. package/dist/hooks/safeContext.d.ts +1 -1
  88. package/dist/{likec4model → hooks}/useCurrentViewModel.d.ts +2 -1
  89. package/dist/hooks/useCurrentViewModel.js +12 -0
  90. package/dist/hooks/useDiagram.d.ts +23 -15
  91. package/dist/hooks/useDiagram.js +1 -1
  92. package/dist/{likec4model → hooks}/useLikeC4Model.d.ts +1 -0
  93. package/dist/{likec4model → hooks}/useLikeC4Model.js +5 -2
  94. package/dist/{likec4model → hooks}/useLikeC4Project.d.ts +1 -1
  95. package/dist/{likec4model → hooks}/useLikeC4Project.js +2 -2
  96. package/dist/hooks/useLikeC4Styles.d.ts +2 -0
  97. package/dist/hooks/useLikeC4Styles.js +18 -0
  98. package/dist/hooks/useMantinePortalProps.js +2 -2
  99. package/dist/hooks/useXYFlow.d.ts +10 -10
  100. package/dist/hooks/useXYFlow.js +11 -5
  101. package/dist/index.d.ts +14 -5
  102. package/dist/index.js +9 -13
  103. package/dist/likec4diagram/DiagramUI.d.ts +1 -1
  104. package/dist/likec4diagram/DiagramUI.js +10 -16
  105. package/dist/likec4diagram/DiagramXYFlow.js +131 -117
  106. package/dist/likec4diagram/convert-to-xyflow.js +2 -2
  107. package/dist/likec4diagram/custom/edges/RelationshipEdge.d.ts +3 -51
  108. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +8 -9
  109. package/dist/likec4diagram/custom/edges/SequenceStepEdge.d.ts +1 -2
  110. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +5 -5
  111. package/dist/likec4diagram/custom/index.d.ts +16 -0
  112. package/dist/likec4diagram/custom/index.js +12 -12
  113. package/dist/likec4diagram/custom/nodes/CompoundActions.d.ts +1 -2
  114. package/dist/likec4diagram/custom/nodes/CompoundActions.js +1 -1
  115. package/dist/likec4diagram/custom/nodes/ElementActions.d.ts +61 -5
  116. package/dist/likec4diagram/custom/nodes/ElementActions.js +8 -8
  117. package/dist/likec4diagram/custom/nodes/SequenceActorNode.d.ts +2 -3
  118. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +12 -24
  119. package/dist/likec4diagram/custom/nodes/nodes.d.ts +10 -10
  120. package/dist/likec4diagram/custom/nodes/nodes.js +25 -28
  121. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.d.ts +3 -2
  122. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +17 -12
  123. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.d.ts +2 -6
  124. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.d.ts +2 -6
  125. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +3 -3
  126. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.d.ts +2 -3
  127. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +5 -19
  128. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +11 -22
  129. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +50 -49
  130. package/dist/likec4diagram/relationship-popover/actor.d.ts +1 -1
  131. package/dist/{state → likec4diagram/state}/DiagramActorProvider.d.ts +1 -1
  132. package/dist/{state → likec4diagram/state}/DiagramActorProvider.js +37 -10
  133. package/dist/{state → likec4diagram/state}/assign.d.ts +1 -1
  134. package/dist/{state → likec4diagram/state}/assign.js +3 -4
  135. package/dist/{state → likec4diagram/state}/diagram-machine.d.ts +178 -138
  136. package/dist/{state → likec4diagram/state}/diagram-machine.js +34 -24
  137. package/dist/{state → likec4diagram/state}/persistence.d.ts +1 -1
  138. package/dist/{state → likec4diagram/state}/syncManualLayoutActor.d.ts +1 -1
  139. package/dist/{state → likec4diagram/state}/syncManualLayoutActor.js +2 -2
  140. package/dist/{state → likec4diagram/state}/types.d.ts +2 -2
  141. package/dist/{state → likec4diagram/state}/utils.d.ts +2 -2
  142. package/dist/likec4diagram/types.d.ts +51 -34
  143. package/dist/likec4diagram/ui/index.d.ts +0 -3
  144. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +4 -1
  145. package/dist/likec4diagram/ui/notation/NotationPanel.js +6 -6
  146. package/dist/likec4diagram/useLayoutConstraints.d.ts +1 -1
  147. package/dist/likec4diagram/xyflow-diagram/diagram-view.d.ts +1 -1
  148. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +12 -9
  149. package/dist/likec4diagram/xyflow-sequence/const.js +1 -8
  150. package/dist/likec4diagram/xyflow-sequence/sequence-layout.d.ts +7 -0
  151. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +181 -0
  152. package/dist/navigationpanel/NavigationPanel.js +5 -6
  153. package/dist/navigationpanel/NavigationPanelControls.js +1 -2
  154. package/dist/navigationpanel/NavigationPanelDropdown.js +7 -7
  155. package/dist/navigationpanel/_common.js +1 -1
  156. package/dist/navigationpanel/actor.d.ts +1 -1
  157. package/dist/navigationpanel/controls/BurgerButton.js +1 -1
  158. package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
  159. package/dist/navigationpanel/controls/OpenSource.js +1 -1
  160. package/dist/navigationpanel/controls/SearchControl.js +1 -1
  161. package/dist/navigationpanel/controls/ToggleReadonly.js +2 -2
  162. package/dist/navigationpanel/controls/ViewDetailsCard.js +8 -10
  163. package/dist/navigationpanel/dropdown/ProjectsMenu.js +2 -2
  164. package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
  165. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
  166. package/dist/navigationpanel/editorpanel/LayoutDriftNotification.js +1 -1
  167. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
  168. package/dist/navigationpanel/hooks.d.ts +3 -3
  169. package/dist/navigationpanel/hooks.js +2 -2
  170. package/dist/navigationpanel/styles.css.d.ts +1 -1
  171. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
  172. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +107 -107
  173. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +3 -13
  174. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +2 -2
  175. 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
  176. 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
  177. 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
  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/icons/IconArrowDownRight.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/icons/IconArrowLeft.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/IconArrowRight.js +1 -1
  181. 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
  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/IconBrowser.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/IconCheck.js +1 -1
  184. 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
  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/IconChevronLeft.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/IconChevronRight.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/IconCopy.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/IconCylinder.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/IconDeviceMobile.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/IconExternalLink.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/IconFileSymlink.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/IconFocusCentered.js +1 -1
  193. 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
  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/IconHelpCircle.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/IconId.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/IconInfoCircle.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/IconLayoutAlignBottom.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/IconLayoutAlignCenter.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/IconLayoutAlignLeft.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/IconLayoutAlignMiddle.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/IconLayoutAlignRight.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/IconLayoutAlignTop.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/IconLayoutBoardSplit.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/IconLayoutCollage.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/IconLayoutDashboard.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/IconLink.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/IconLock.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/IconLockOpen2.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/IconMenu2.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/IconPlayerPlayFilled.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/IconPlayerSkipBackFilled.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/IconPlayerSkipForwardFilled.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/IconPlayerStopFilled.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/IconRectangularPrism.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/IconReorder.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/IconRouteOff.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/IconSearch.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/IconSelector.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/IconStack2.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/IconStarFilled.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/IconTarget.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/IconTransform.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/IconUser.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/IconX.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/IconZoomScan.js +1 -1
  226. package/dist/overlays/element-details/ElementDetailsCard.css.js +1 -1
  227. package/dist/overlays/element-details/ElementDetailsCard.js +31 -27
  228. package/dist/overlays/element-details/TabPanelDeployments.js +4 -4
  229. package/dist/overlays/element-details/TabPanelRelationships.js +5 -7
  230. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  231. package/dist/overlays/element-details/actor.d.ts +14 -16620
  232. package/dist/overlays/element-details/actor.js +2 -1
  233. package/dist/overlays/overlay/Overlay.js +9 -6
  234. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +3 -43
  235. package/dist/overlays/relationship-details/RelationshipDetails.js +6 -6
  236. package/dist/overlays/relationship-details/SelectEdge.js +2 -2
  237. package/dist/overlays/relationship-details/_types.d.ts +29 -12
  238. package/dist/overlays/relationship-details/actor.d.ts +14 -54
  239. package/dist/overlays/relationship-details/actor.js +4 -3
  240. package/dist/overlays/relationship-details/compute.d.ts +2 -1
  241. package/dist/overlays/relationship-details/custom/ElementActions.d.ts +1 -4
  242. package/dist/overlays/relationship-details/custom/ElementActions.js +4 -4
  243. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +3 -43
  244. package/dist/overlays/relationship-details/custom/edgeTypes.js +7 -9
  245. package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +10 -0
  246. package/dist/overlays/relationship-details/custom/nodeTypes.js +19 -17
  247. package/dist/overlays/relationship-details/hooks.d.ts +5 -377
  248. package/dist/overlays/relationship-details/layout-to-xyflow.js +11 -10
  249. package/dist/overlays/relationship-details/layout.d.ts +2 -2
  250. package/dist/overlays/relationship-details/layout.js +6 -6
  251. package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +3 -44
  252. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +12 -8
  253. package/dist/overlays/relationships-browser/SelectElement.js +4 -4
  254. package/dist/overlays/relationships-browser/_types.d.ts +30 -13
  255. package/dist/overlays/relationships-browser/actor.d.ts +17 -523
  256. package/dist/overlays/relationships-browser/actor.js +5 -4
  257. package/dist/overlays/relationships-browser/const.d.ts +6 -2
  258. package/dist/overlays/relationships-browser/custom/ElementActions.d.ts +1 -4
  259. package/dist/overlays/relationships-browser/custom/ElementActions.js +4 -4
  260. package/dist/overlays/relationships-browser/custom/EmptyNode.d.ts +1 -4
  261. package/dist/overlays/relationships-browser/custom/edgeTypes.d.ts +3 -44
  262. package/dist/overlays/relationships-browser/custom/edgeTypes.js +7 -8
  263. package/dist/overlays/relationships-browser/custom/index.d.ts +2 -1
  264. package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +5 -12
  265. package/dist/overlays/relationships-browser/custom/nodeTypes.js +16 -21
  266. package/dist/overlays/relationships-browser/layout.js +12 -11
  267. package/dist/overlays/relationships-browser/useViewToNodesEdges.d.ts +2 -2
  268. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +11 -10
  269. package/dist/search/components/ElementsColumn.js +5 -4
  270. package/dist/search/components/PickView.js +2 -2
  271. package/dist/search/components/SearchByTags.js +3 -3
  272. package/dist/search/components/SearchInput.js +2 -2
  273. package/dist/search/components/ViewsColum.js +4 -4
  274. package/dist/search/components/_shared.css.d.ts +2 -2
  275. package/dist/{bundle → shadowroot}/ShadowRoot.d.ts +5 -1
  276. package/dist/shadowroot/ShadowRoot.js +69 -0
  277. package/dist/{bundle → shadowroot}/styles.css.d.ts +4 -4
  278. package/dist/{bundle → shadowroot}/styles.css.js +17 -24
  279. package/dist/styles.css2.js +1 -1
  280. package/dist/utils/get-view-bounds.d.ts +3 -0
  281. package/dist/utils/get-view-bounds.js +14 -0
  282. package/dist/utils/index.d.ts +1 -0
  283. package/dist/utils/xyflow.d.ts +5 -2
  284. package/dist/utils/xyflow.js +2 -0
  285. package/package.json +46 -37
  286. package/panda.buildinfo.json +122 -177
  287. package/{dist/styles-min.css → styles-min.css} +1 -1
  288. package/styles.css +1 -0
  289. package/bundle/chunk-FGcODVxo.js +0 -21865
  290. package/bundle/custom.js +0 -82
  291. package/dist/base/primitives/compound/CompoundTitle.d.ts +0 -6
  292. package/dist/base/primitives/customEdge.d.ts +0 -4
  293. package/dist/base/primitives/customNode.d.ts +0 -4
  294. package/dist/base/primitives/edge/xyvars.d.ts +0 -24
  295. package/dist/base/primitives/element/ElementActionButtons.d.ts +0 -13
  296. package/dist/base/primitives/element/ElementActionButtons.js +0 -79
  297. package/dist/base/primitives/element/ElementShape.d.ts +0 -32
  298. package/dist/base/primitives/element/ElementTitle.d.ts +0 -12
  299. package/dist/base/primitives/element/ElementTitle.js +0 -76
  300. package/dist/bundle/LikeC4ModelProvider.d.ts +0 -9
  301. package/dist/bundle/LikeC4ModelProvider.js +0 -5
  302. package/dist/bundle/LikeC4View.d.ts +0 -3
  303. package/dist/bundle/LikeC4View.js +0 -186
  304. package/dist/bundle/ReactLikeC4.js +0 -91
  305. package/dist/bundle/ShadowRoot.js +0 -46
  306. package/dist/bundle/custom.d.ts +0 -1
  307. package/dist/bundle/custom.js +0 -33
  308. package/dist/bundle/index.js +0 -17
  309. package/dist/components/SearchControl.css.js +0 -79
  310. package/dist/components/SearchControl.js +0 -17
  311. package/dist/custom/components.d.ts +0 -5
  312. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.d.ts +0 -2
  313. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +0 -159
  314. package/dist/likec4diagram/ui/controls/Controls.d.ts +0 -2
  315. package/dist/likec4diagram/ui/controls/Controls.js +0 -154
  316. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.d.ts +0 -2
  317. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +0 -50
  318. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.d.ts +0 -2
  319. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +0 -145
  320. package/dist/likec4diagram/ui/controls/NavigationButtons.d.ts +0 -1
  321. package/dist/likec4diagram/ui/controls/NavigationButtons.js +0 -61
  322. package/dist/likec4diagram/ui/controls/ToggleReadonly.d.ts +0 -1
  323. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +0 -29
  324. package/dist/likec4diagram/ui/controls/_shared.d.ts +0 -7
  325. package/dist/likec4diagram/ui/controls/_shared.js +0 -22
  326. package/dist/likec4diagram/ui/controls/styles.css.d.ts +0 -8
  327. package/dist/likec4diagram/ui/controls/styles.css.js +0 -79
  328. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.d.ts +0 -3
  329. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +0 -49
  330. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.d.ts +0 -1
  331. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +0 -164
  332. package/dist/likec4diagram/ui/diagram-title/Link.d.ts +0 -4
  333. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.d.ts +0 -4
  334. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.js +0 -67
  335. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.d.ts +0 -1
  336. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +0 -124
  337. package/dist/likec4diagram/xyflow-sequence/layouter.js +0 -408
  338. package/dist/likec4diagram/xyflow-sequence/sequence-view.js +0 -273
  339. package/dist/likec4diagram/xyflow-sequence/utils.js +0 -92
  340. package/dist/likec4model/index.d.ts +0 -4
  341. package/dist/likec4model/useCurrentViewModel.js +0 -15
  342. 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
  343. package/dist/overlays/overlay/Overlay.css.d.ts +0 -60
  344. package/dist/overlays/overlay/Overlay.css.js +0 -122
  345. package/dist/src/index.ts.d.ts +0 -2
  346. package/dist/styles.css +0 -1
  347. package/src/LikeC4Diagram.props.ts +0 -350
  348. package/src/LikeC4Diagram.tsx +0 -172
  349. package/src/LikeC4ModelProvider.tsx +0 -22
  350. package/src/LikeC4ProjectsProvider.tsx +0 -41
  351. package/src/LikeC4Styles.tsx +0 -137
  352. package/src/StaticLikeC4Diagram.tsx +0 -62
  353. package/src/base/Background.tsx +0 -31
  354. package/src/base/BaseXYFlow.tsx +0 -218
  355. package/src/base/const.ts +0 -22
  356. package/src/base/index.ts +0 -12
  357. package/src/base/primitives/MarkdownBlock.tsx +0 -82
  358. package/src/base/primitives/NodeHandles.tsx +0 -18
  359. package/src/base/primitives/compound/CompoundActionButton.tsx +0 -62
  360. package/src/base/primitives/compound/CompoundDetailsButton.tsx +0 -56
  361. package/src/base/primitives/compound/CompoundNodeContainer.tsx +0 -83
  362. package/src/base/primitives/compound/CompoundTitle.tsx +0 -34
  363. package/src/base/primitives/compound/actionbtns.css.ts +0 -18
  364. package/src/base/primitives/customEdge.ts +0 -34
  365. package/src/base/primitives/customNode.tsx +0 -29
  366. package/src/base/primitives/edge/EdgeActionButton.tsx +0 -24
  367. package/src/base/primitives/edge/EdgeContainer.tsx +0 -68
  368. package/src/base/primitives/edge/EdgeLabel.tsx +0 -94
  369. package/src/base/primitives/edge/EdgeLabelContainer.tsx +0 -102
  370. package/src/base/primitives/edge/EdgeMarkers.tsx +0 -198
  371. package/src/base/primitives/edge/EdgePath.tsx +0 -126
  372. package/src/base/primitives/edge/edge.css.ts +0 -74
  373. package/src/base/primitives/edge/xyvars.ts +0 -31
  374. package/src/base/primitives/element/ElementActionButtons.tsx +0 -95
  375. package/src/base/primitives/element/ElementDetailsButton.tsx +0 -80
  376. package/src/base/primitives/element/ElementNodeContainer.css.ts +0 -51
  377. package/src/base/primitives/element/ElementNodeContainer.tsx +0 -98
  378. package/src/base/primitives/element/ElementShape.tsx +0 -250
  379. package/src/base/primitives/element/ElementTags.tsx +0 -190
  380. package/src/base/primitives/element/ElementTitle.tsx +0 -94
  381. package/src/base/primitives/index.ts +0 -20
  382. package/src/base/types.ts +0 -174
  383. package/src/base/updateEdges.ts +0 -38
  384. package/src/base/updateNodes.ts +0 -43
  385. package/src/bundle/LikeC4ModelProvider.tsx +0 -12
  386. package/src/bundle/LikeC4View.props.ts +0 -288
  387. package/src/bundle/LikeC4View.tsx +0 -194
  388. package/src/bundle/ReactLikeC4.tsx +0 -127
  389. package/src/bundle/ShadowRoot.tsx +0 -54
  390. package/src/bundle/ViewNotFound.tsx +0 -25
  391. package/src/bundle/custom.ts +0 -1
  392. package/src/bundle/index.ts +0 -27
  393. package/src/bundle/react-dom-server-mock.ts +0 -3
  394. package/src/bundle/styles.css.ts +0 -172
  395. package/src/components/ErrorFallback.tsx +0 -45
  396. package/src/components/GithubIcon.tsx +0 -16
  397. package/src/components/Link.tsx +0 -112
  398. package/src/components/NavigationLink.tsx +0 -32
  399. package/src/components/SearchControl.css.ts +0 -79
  400. package/src/components/SearchControl.tsx +0 -30
  401. package/src/context/ControlsCustomLayout.ts +0 -15
  402. package/src/context/DiagramEventHandlers.tsx +0 -68
  403. package/src/context/DiagramFeatures.tsx +0 -141
  404. package/src/context/EnsureMantine.tsx +0 -25
  405. package/src/context/FramerMotionConfig.tsx +0 -25
  406. package/src/context/IconRenderer.tsx +0 -117
  407. package/src/context/ReduceGraphics.tsx +0 -42
  408. package/src/context/RootContainer.tsx +0 -54
  409. package/src/context/TagStylesContext.tsx +0 -98
  410. package/src/context/index.ts +0 -13
  411. package/src/custom/components.ts +0 -51
  412. package/src/custom/customNodes.ts +0 -282
  413. package/src/custom/hooks.ts +0 -52
  414. package/src/custom/index.ts +0 -5
  415. package/src/hooks/index.ts +0 -6
  416. package/src/hooks/safeContext.tsx +0 -18
  417. package/src/hooks/useCurrentViewId.ts +0 -15
  418. package/src/hooks/useDiagram.ts +0 -310
  419. package/src/hooks/useId.ts +0 -5
  420. package/src/hooks/useMantinePortalProps.ts +0 -17
  421. package/src/hooks/useOverlaysActor.ts +0 -11
  422. package/src/hooks/useReducedGraphics.ts +0 -1
  423. package/src/hooks/useSearchActor.ts +0 -11
  424. package/src/hooks/useSetState.ts +0 -19
  425. package/src/hooks/useUpdateEffect.ts +0 -46
  426. package/src/hooks/useXYFlow.ts +0 -41
  427. package/src/index.ts +0 -50
  428. package/src/likec4diagram/DiagramUI.tsx +0 -46
  429. package/src/likec4diagram/DiagramXYFlow.tsx +0 -240
  430. package/src/likec4diagram/convert-to-xyflow.ts +0 -45
  431. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +0 -373
  432. package/src/likec4diagram/custom/edges/SequenceStepEdge.tsx +0 -65
  433. package/src/likec4diagram/custom/edges/edges.css.ts +0 -45
  434. package/src/likec4diagram/custom/edges/utils.ts +0 -125
  435. package/src/likec4diagram/custom/index.ts +0 -28
  436. package/src/likec4diagram/custom/nodes/CompoundActions.tsx +0 -27
  437. package/src/likec4diagram/custom/nodes/ElementActions.tsx +0 -120
  438. package/src/likec4diagram/custom/nodes/SequenceActorNode.tsx +0 -175
  439. package/src/likec4diagram/custom/nodes/index.ts +0 -18
  440. package/src/likec4diagram/custom/nodes/nodes.tsx +0 -129
  441. package/src/likec4diagram/custom/nodes/toolbar/ColorButton.tsx +0 -175
  442. package/src/likec4diagram/custom/nodes/toolbar/CompoundToolbar.tsx +0 -122
  443. package/src/likec4diagram/custom/nodes/toolbar/ElementToolbar.tsx +0 -140
  444. package/src/likec4diagram/custom/nodes/toolbar/Toolbar.tsx +0 -82
  445. package/src/likec4diagram/custom/nodes/toolbar/_shared.tsx +0 -151
  446. package/src/likec4diagram/custom/nodes/toolbar/styles.css.ts +0 -13
  447. package/src/likec4diagram/relationship-popover/RelationshipPopover.tsx +0 -549
  448. package/src/likec4diagram/relationship-popover/actor.ts +0 -192
  449. package/src/likec4diagram/relationship-popover/styles.css.ts +0 -27
  450. package/src/likec4diagram/types.ts +0 -240
  451. package/src/likec4diagram/ui/controls/ChangeAutoLayoutButton.tsx +0 -202
  452. package/src/likec4diagram/ui/controls/Controls.tsx +0 -153
  453. package/src/likec4diagram/ui/controls/LayoutDriftNotification.tsx +0 -50
  454. package/src/likec4diagram/ui/controls/ManualLayoutToolsButton.tsx +0 -125
  455. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +0 -61
  456. package/src/likec4diagram/ui/controls/ToggleReadonly.tsx +0 -30
  457. package/src/likec4diagram/ui/controls/_shared.ts +0 -21
  458. package/src/likec4diagram/ui/controls/styles.css.ts +0 -84
  459. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +0 -51
  460. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +0 -175
  461. package/src/likec4diagram/ui/diagram-title/Link.tsx +0 -40
  462. package/src/likec4diagram/ui/index.ts +0 -4
  463. package/src/likec4diagram/ui/notation/NotationPanel.css.ts +0 -99
  464. package/src/likec4diagram/ui/notation/NotationPanel.tsx +0 -252
  465. package/src/likec4diagram/ui/notation/index.ts +0 -1
  466. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.ts +0 -70
  467. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.tsx +0 -130
  468. package/src/likec4diagram/useLayoutConstraints.ts +0 -281
  469. package/src/likec4diagram/xyflow-diagram/diagram-view.ts +0 -275
  470. package/src/likec4diagram/xyflow-sequence/_types.ts +0 -45
  471. package/src/likec4diagram/xyflow-sequence/const.ts +0 -37
  472. package/src/likec4diagram/xyflow-sequence/layouter.ts +0 -567
  473. package/src/likec4diagram/xyflow-sequence/sequence-view.ts +0 -337
  474. package/src/likec4diagram/xyflow-sequence/utils.ts +0 -112
  475. package/src/likec4model/LikeC4ModelContext.tsx +0 -19
  476. package/src/likec4model/LikeC4ProjectsContext.ts +0 -9
  477. package/src/likec4model/index.ts +0 -19
  478. package/src/likec4model/useCurrentViewModel.ts +0 -14
  479. package/src/likec4model/useLikeC4ElementsTree.ts +0 -39
  480. package/src/likec4model/useLikeC4Model.ts +0 -35
  481. package/src/likec4model/useLikeC4Project.ts +0 -61
  482. package/src/navigationpanel/NavigationPanel.tsx +0 -136
  483. package/src/navigationpanel/NavigationPanelControls.tsx +0 -133
  484. package/src/navigationpanel/NavigationPanelDropdown.tsx +0 -547
  485. package/src/navigationpanel/_common.tsx +0 -84
  486. package/src/navigationpanel/actor.ts +0 -320
  487. package/src/navigationpanel/controls/BurgerButton.tsx +0 -30
  488. package/src/navigationpanel/controls/NavigationButtons.tsx +0 -40
  489. package/src/navigationpanel/controls/OpenSource.tsx +0 -28
  490. package/src/navigationpanel/controls/SearchControl.tsx +0 -66
  491. package/src/navigationpanel/controls/ToggleReadonly.tsx +0 -66
  492. package/src/navigationpanel/controls/ViewDetailsCard.tsx +0 -263
  493. package/src/navigationpanel/controls/index.ts +0 -6
  494. package/src/navigationpanel/dropdown/ProjectsMenu.tsx +0 -78
  495. package/src/navigationpanel/editorpanel/CenterCamera.tsx +0 -15
  496. package/src/navigationpanel/editorpanel/ChangeAutoLayoutButton.tsx +0 -199
  497. package/src/navigationpanel/editorpanel/EditorPanel.tsx +0 -49
  498. package/src/navigationpanel/editorpanel/LayoutDriftNotification.tsx +0 -56
  499. package/src/navigationpanel/editorpanel/ManualLayoutToolsButton.tsx +0 -148
  500. package/src/navigationpanel/editorpanel/_common.tsx +0 -14
  501. package/src/navigationpanel/editorpanel/index.ts +0 -1
  502. package/src/navigationpanel/editorpanel/styles.ts +0 -84
  503. package/src/navigationpanel/hooks.tsx +0 -70
  504. package/src/navigationpanel/index.ts +0 -1
  505. package/src/navigationpanel/styles.css.ts +0 -28
  506. package/src/navigationpanel/walkthrough/ActiveWalkthroughControls.tsx +0 -132
  507. package/src/navigationpanel/walkthrough/DynamicViewControls.tsx +0 -125
  508. package/src/navigationpanel/walkthrough/WalkthroughPanel.css.ts +0 -21
  509. package/src/navigationpanel/walkthrough/WalkthroughPanel.tsx +0 -88
  510. package/src/navigationpanel/walkthrough/index.tsx +0 -2
  511. package/src/overlays/Overlays.tsx +0 -121
  512. package/src/overlays/element-details/ElementDetails.tsx +0 -33
  513. package/src/overlays/element-details/ElementDetailsCard.css.ts +0 -263
  514. package/src/overlays/element-details/ElementDetailsCard.tsx +0 -665
  515. package/src/overlays/element-details/TabPanelDeployments.css.ts +0 -64
  516. package/src/overlays/element-details/TabPanelDeployments.tsx +0 -220
  517. package/src/overlays/element-details/TabPanelRelationships.css.ts +0 -102
  518. package/src/overlays/element-details/TabPanelRelationships.tsx +0 -186
  519. package/src/overlays/element-details/TabPanelStructure.css.ts +0 -36
  520. package/src/overlays/element-details/TabPanelStructure.tsx +0 -121
  521. package/src/overlays/element-details/actor.ts +0 -104
  522. package/src/overlays/element-details/actorContext.tsx +0 -16
  523. package/src/overlays/overlay/Overlay.css.ts +0 -123
  524. package/src/overlays/overlay/Overlay.tsx +0 -169
  525. package/src/overlays/overlaysActor.ts +0 -284
  526. package/src/overlays/relationship-details/RelationshipDetails.tsx +0 -334
  527. package/src/overlays/relationship-details/SelectEdge.css.ts +0 -88
  528. package/src/overlays/relationship-details/SelectEdge.tsx +0 -141
  529. package/src/overlays/relationship-details/_types.ts +0 -88
  530. package/src/overlays/relationship-details/actor.ts +0 -397
  531. package/src/overlays/relationship-details/compute.ts +0 -177
  532. package/src/overlays/relationship-details/custom/ElementActions.tsx +0 -53
  533. package/src/overlays/relationship-details/custom/edgeTypes.tsx +0 -49
  534. package/src/overlays/relationship-details/custom/index.ts +0 -2
  535. package/src/overlays/relationship-details/custom/nodeTypes.tsx +0 -126
  536. package/src/overlays/relationship-details/custom/styles.css.ts +0 -13
  537. package/src/overlays/relationship-details/hooks.ts +0 -51
  538. package/src/overlays/relationship-details/layout-to-xyflow.ts +0 -173
  539. package/src/overlays/relationship-details/layout.ts +0 -477
  540. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +0 -282
  541. package/src/overlays/relationships-browser/SelectElement.css.ts +0 -22
  542. package/src/overlays/relationships-browser/SelectElement.tsx +0 -229
  543. package/src/overlays/relationships-browser/_types.ts +0 -102
  544. package/src/overlays/relationships-browser/actor.ts +0 -592
  545. package/src/overlays/relationships-browser/const.ts +0 -8
  546. package/src/overlays/relationships-browser/custom/ElementActions.tsx +0 -57
  547. package/src/overlays/relationships-browser/custom/EmptyNode.tsx +0 -18
  548. package/src/overlays/relationships-browser/custom/edgeTypes.tsx +0 -103
  549. package/src/overlays/relationships-browser/custom/index.ts +0 -2
  550. package/src/overlays/relationships-browser/custom/nodeTypes.tsx +0 -146
  551. package/src/overlays/relationships-browser/custom/styles.css.ts +0 -12
  552. package/src/overlays/relationships-browser/hooks.ts +0 -63
  553. package/src/overlays/relationships-browser/layout.ts +0 -630
  554. package/src/overlays/relationships-browser/useViewToNodesEdges.ts +0 -210
  555. package/src/overlays/types.ts +0 -39
  556. package/src/search/Search.tsx +0 -220
  557. package/src/search/components/ElementsColumn.css.ts +0 -84
  558. package/src/search/components/ElementsColumn.tsx +0 -318
  559. package/src/search/components/PickView.tsx +0 -134
  560. package/src/search/components/SearchByTags.tsx +0 -112
  561. package/src/search/components/SearchInput.tsx +0 -265
  562. package/src/search/components/ViewsColum.tsx +0 -167
  563. package/src/search/components/ViewsColumn.css.ts +0 -34
  564. package/src/search/components/_shared.css.ts +0 -176
  565. package/src/search/components/styles.css.ts +0 -72
  566. package/src/search/components/utils.ts +0 -64
  567. package/src/search/hooks.ts +0 -38
  568. package/src/search/searchActor.ts +0 -99
  569. package/src/state/DiagramActorProvider.tsx +0 -160
  570. package/src/state/aligners.ts +0 -500
  571. package/src/state/assign.ts +0 -425
  572. package/src/state/diagram-machine.ts +0 -1422
  573. package/src/state/hotkeyActor.ts +0 -41
  574. package/src/state/inspector.ts +0 -5
  575. package/src/state/persistence.ts +0 -22
  576. package/src/state/syncManualLayoutActor.ts +0 -218
  577. package/src/state/types.ts +0 -34
  578. package/src/state/utils.ts +0 -152
  579. package/src/styles-font.css +0 -251
  580. package/src/styles-min.css +0 -2
  581. package/src/styles-xyflow.css +0 -1
  582. package/src/styles.css +0 -3
  583. package/src/utils/css.ts +0 -7
  584. package/src/utils/index.ts +0 -15
  585. package/src/utils/roundDpr.ts +0 -27
  586. package/src/utils/vector.ts +0 -57
  587. package/src/utils/xyflow.ts +0 -105
  588. /package/dist/{base/primitives → base-primitives}/NodeHandles.d.ts +0 -0
  589. /package/dist/{base/primitives → base-primitives}/compound/actionbtns.css.js +0 -0
  590. /package/dist/{base/primitives → base-primitives}/edge/EdgeActionButton.d.ts +0 -0
  591. /package/dist/{base/primitives → base-primitives}/edge/EdgeContainer.js +0 -0
  592. /package/dist/{base/primitives → base-primitives}/edge/EdgeMarkers.d.ts +0 -0
  593. /package/dist/{base/primitives → base-primitives}/edge/EdgeMarkers.js +0 -0
  594. /package/dist/{base/primitives → base-primitives}/edge/EdgePath.js +0 -0
  595. /package/dist/{base/primitives → base-primitives}/edge/edge.css.d.ts +0 -0
  596. /package/dist/{base/primitives → base-primitives}/edge/edge.css.js +0 -0
  597. /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.css.d.ts +0 -0
  598. /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.css.js +0 -0
  599. /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.js +0 -0
  600. /package/dist/{bundle → components}/ViewNotFound.d.ts +0 -0
  601. /package/dist/{likec4model → context}/LikeC4ModelContext.d.ts +0 -0
  602. /package/dist/{likec4model → context}/LikeC4ModelContext.js +0 -0
  603. /package/dist/{likec4model → context}/LikeC4ProjectsContext.d.ts +0 -0
  604. /package/dist/{likec4model → context}/LikeC4ProjectsContext.js +0 -0
  605. /package/dist/{likec4model → hooks}/useLikeC4ElementsTree.d.ts +0 -0
  606. /package/dist/{likec4model → hooks}/useLikeC4ElementsTree.js +0 -0
  607. /package/dist/{state → likec4diagram/state}/aligners.d.ts +0 -0
  608. /package/dist/{state → likec4diagram/state}/aligners.js +0 -0
  609. /package/dist/{state → likec4diagram/state}/hotkeyActor.d.ts +0 -0
  610. /package/dist/{state → likec4diagram/state}/hotkeyActor.js +0 -0
  611. /package/dist/{state → likec4diagram/state}/inspector.d.ts +0 -0
  612. /package/dist/{state → likec4diagram/state}/persistence.js +0 -0
  613. /package/dist/{state → likec4diagram/state}/utils.js +0 -0
  614. /package/{dist/styles-font.css → styles-font.css} +0 -0
  615. /package/{dist/styles-xyflow.css → styles-xyflow.css} +0 -0
@@ -0,0 +1,173 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { cx, css } from '@likec4/styles/css';
3
+ import { Box, ActionIcon } from '@mantine/core';
4
+ import { useCallbackRef } from '@mantine/hooks';
5
+ import { useState } from 'react';
6
+ import { isBoolean } from 'remeda';
7
+ import { FitViewPaddings } from './base/const.js';
8
+ import { ErrorMessage, ViewNotFound } from './components/ViewNotFound.js';
9
+ import { FramerMotionConfig } from './context/FramerMotionConfig.js';
10
+ import { useOptionalLikeC4Model } from './hooks/useLikeC4Model.js';
11
+ import { LikeC4Diagram } from './LikeC4Diagram.js';
12
+ import { Overlay } from './overlays/overlay/Overlay.js';
13
+ import { ShadowRoot } from './shadowroot/ShadowRoot.js';
14
+ import { getViewBounds } from './utils/get-view-bounds.js';
15
+ 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';
16
+
17
+ const cssInteractive = css({
18
+ cursor: "pointer",
19
+ ["--mantine-cursor-pointer"]: "pointer",
20
+ "& :where(.likec4-diagram, .likec4-compound-node, .likec4-element-node)": {
21
+ cursor: "pointer"
22
+ }
23
+ });
24
+ function LikeC4View({
25
+ viewId,
26
+ className,
27
+ pannable = false,
28
+ zoomable = false,
29
+ keepAspectRatio = true,
30
+ colorScheme,
31
+ injectFontCss = true,
32
+ controls = false,
33
+ background = "transparent",
34
+ browser = true,
35
+ showNavigationButtons = false,
36
+ showNotations,
37
+ enableFocusMode = false,
38
+ enableDynamicViewWalkthrough = false,
39
+ enableElementDetails = false,
40
+ enableRelationshipDetails = false,
41
+ enableRelationshipBrowser = enableRelationshipDetails,
42
+ reduceGraphics = "auto",
43
+ mantineTheme,
44
+ styleNonce,
45
+ style,
46
+ reactFlowProps,
47
+ renderNodes,
48
+ children,
49
+ ...props
50
+ }) {
51
+ const likec4model = useOptionalLikeC4Model();
52
+ const [browserViewId, onNavigateTo] = useState(null);
53
+ const onNavigateToThisView = useCallbackRef(() => {
54
+ onNavigateTo(viewId);
55
+ });
56
+ if (!likec4model) {
57
+ return /* @__PURE__ */ jsx(ErrorMessage, { children: "LikeC4Model not found. Make sure you provided LikeC4ModelProvider." });
58
+ }
59
+ const view = likec4model.findView(viewId)?.$view;
60
+ if (!view) {
61
+ return /* @__PURE__ */ jsx(ViewNotFound, { viewId });
62
+ }
63
+ if (view._stage !== "layouted") {
64
+ return /* @__PURE__ */ jsxs(ErrorMessage, { children: [
65
+ 'LikeC4 View "$',
66
+ viewId,
67
+ '" is not layouted. Make sure you have LikeC4ModelProvider with layouted model.'
68
+ ] });
69
+ }
70
+ const browserView = browserViewId ? likec4model.findView(browserViewId)?.$view : null;
71
+ const notations = view.notation?.nodes ?? [];
72
+ const hasNotations = notations.length > 0;
73
+ showNotations ??= hasNotations;
74
+ const isBrowserEnabled = browser !== false;
75
+ const browserProps = isBoolean(browser) ? {} : browser;
76
+ const bounds = getViewBounds(view, props.dynamicViewVariant);
77
+ return /* @__PURE__ */ jsx(
78
+ ShadowRoot,
79
+ {
80
+ injectFontCss,
81
+ theme: mantineTheme,
82
+ colorScheme,
83
+ styleNonce,
84
+ keepAspectRatio: keepAspectRatio ? bounds : false,
85
+ className: cx(
86
+ "likec4-view",
87
+ className
88
+ ),
89
+ style,
90
+ children: /* @__PURE__ */ jsxs(FramerMotionConfig, { children: [
91
+ /* @__PURE__ */ jsx(
92
+ LikeC4Diagram,
93
+ {
94
+ view,
95
+ readonly: true,
96
+ pannable,
97
+ zoomable,
98
+ background,
99
+ fitView: true,
100
+ fitViewPadding: FitViewPaddings.default,
101
+ showNotations,
102
+ enableDynamicViewWalkthrough,
103
+ showNavigationButtons,
104
+ experimentalEdgeEditing: false,
105
+ enableFocusMode,
106
+ enableRelationshipDetails,
107
+ enableElementDetails,
108
+ enableRelationshipBrowser,
109
+ enableElementTags: false,
110
+ controls,
111
+ nodesDraggable: false,
112
+ reduceGraphics,
113
+ className: cx(
114
+ "likec4-static-view",
115
+ isBrowserEnabled && cssInteractive
116
+ ),
117
+ enableSearch: false,
118
+ ...isBrowserEnabled && {
119
+ onCanvasClick: onNavigateToThisView,
120
+ onNodeClick: onNavigateToThisView
121
+ },
122
+ reactFlowProps,
123
+ renderNodes,
124
+ children,
125
+ ...props
126
+ }
127
+ ),
128
+ browserView && /* @__PURE__ */ jsxs(Overlay, { openDelay: 0, onClose: () => onNavigateTo(null), children: [
129
+ /* @__PURE__ */ jsx(
130
+ LikeC4Diagram,
131
+ {
132
+ view: browserView,
133
+ pannable: true,
134
+ zoomable: true,
135
+ background: "dots",
136
+ onNavigateTo,
137
+ showNavigationButtons: true,
138
+ enableDynamicViewWalkthrough: true,
139
+ enableFocusMode: true,
140
+ enableRelationshipBrowser: true,
141
+ enableElementDetails: true,
142
+ enableRelationshipDetails: true,
143
+ enableSearch: true,
144
+ enableElementTags: true,
145
+ controls: true,
146
+ readonly: true,
147
+ fitView: true,
148
+ ...props,
149
+ fitViewPadding: FitViewPaddings.withControls,
150
+ ...browserProps,
151
+ showNotations: browserProps.showNotations ?? showNotations,
152
+ renderNodes
153
+ }
154
+ ),
155
+ /* @__PURE__ */ jsx(Box, { pos: "absolute", top: "1rem", right: "1rem", children: /* @__PURE__ */ jsx(
156
+ ActionIcon,
157
+ {
158
+ variant: "default",
159
+ color: "gray",
160
+ onClick: (e) => {
161
+ e.stopPropagation();
162
+ onNavigateTo(null);
163
+ },
164
+ children: /* @__PURE__ */ jsx(IconX, {})
165
+ }
166
+ ) })
167
+ ] })
168
+ ] })
169
+ }
170
+ );
171
+ }
172
+
173
+ export { LikeC4View };
@@ -1,13 +1,13 @@
1
1
  import { CSSProperties } from 'react';
2
- import { LikeC4DiagramProps } from '../LikeC4Diagram';
2
+ import { Except } from 'type-fest';
3
+ import { LikeC4DiagramEventHandlers, LikeC4DiagramProperties } from './LikeC4Diagram.props';
3
4
  import type * as t from '@likec4/core/types';
4
- export type ReactLikeC4Props<A extends t.aux.Any = t.aux.UnknownLayouted> = Omit<LikeC4DiagramProps<A>, 'view'> & {
5
+ export type ReactLikeC4Props<A extends t.aux.Any = t.aux.UnknownLayouted> = {
5
6
  viewId: t.aux.ViewId<A>;
6
7
  /**
7
8
  * Keep aspect ratio of the diagram
8
- * Disable if you need to manage the viewport (use className)
9
9
  *
10
- * @default true
10
+ * @default false
11
11
  */
12
12
  keepAspectRatio?: boolean | undefined;
13
13
  /**
@@ -26,8 +26,14 @@ export type ReactLikeC4Props<A extends t.aux.Any = t.aux.UnknownLayouted> = Omit
26
26
  mantineTheme?: any;
27
27
  /** Function to generate nonce attribute added to all generated `<style />` tags */
28
28
  styleNonce?: string | (() => string) | undefined;
29
- };
30
- export declare function ReactLikeC4<A extends t.aux.Any = t.aux.UnknownLayouted>({ viewId, ...props }: ReactLikeC4Props<A>): import("react/jsx-runtime").JSX.Element;
31
- export declare namespace ReactLikeC4 {
32
- var displayName: string;
33
- }
29
+ children?: React.ReactNode | undefined;
30
+ } & Except<LikeC4DiagramProperties<A>, 'view', {
31
+ requireExactProps: true;
32
+ }> & LikeC4DiagramEventHandlers<A>;
33
+ /**
34
+ * Ready-to-use component to display embedded LikeC4 view, same as {@link LikeC4View}
35
+ * But provides more control over the diagram
36
+ *
37
+ * Component is wrapped in ShadowRoot to isolate styles.
38
+ */
39
+ export declare function ReactLikeC4<A extends t.aux.Any = t.aux.UnknownLayouted>({ viewId, className, colorScheme, injectFontCss, keepAspectRatio, showNotations, style, mantineTheme, styleNonce, ...props }: ReactLikeC4Props<A>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,65 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { cx } from '@likec4/styles/css';
3
+ import { ErrorMessage, ViewNotFound } from './components/ViewNotFound.js';
4
+ import { useOptionalLikeC4Model } from './hooks/useLikeC4Model.js';
5
+ import { LikeC4Diagram } from './LikeC4Diagram.js';
6
+ import { ShadowRoot } from './shadowroot/ShadowRoot.js';
7
+ import { getViewBounds } from './utils/get-view-bounds.js';
8
+
9
+ function ReactLikeC4({
10
+ viewId,
11
+ className,
12
+ colorScheme,
13
+ injectFontCss = true,
14
+ keepAspectRatio,
15
+ showNotations,
16
+ style,
17
+ mantineTheme,
18
+ styleNonce,
19
+ ...props
20
+ }) {
21
+ const likec4model = useOptionalLikeC4Model();
22
+ if (!likec4model) {
23
+ return /* @__PURE__ */ jsx(ErrorMessage, { children: "LikeC4Model not found. Make sure you provided LikeC4ModelProvider." });
24
+ }
25
+ const view = likec4model.findView(viewId)?.$view;
26
+ if (!view) {
27
+ return /* @__PURE__ */ jsx(ViewNotFound, { viewId });
28
+ }
29
+ if (view._stage !== "layouted") {
30
+ return /* @__PURE__ */ jsxs(ErrorMessage, { children: [
31
+ 'LikeC4 View "$',
32
+ viewId,
33
+ '" is not layouted. Make sure you have LikeC4ModelProvider with layouted model.'
34
+ ] });
35
+ }
36
+ const notations = view.notation?.nodes ?? [];
37
+ const hasNotations = notations.length > 0;
38
+ showNotations ??= hasNotations;
39
+ const bounds = getViewBounds(view, props.dynamicViewVariant);
40
+ return /* @__PURE__ */ jsx(
41
+ ShadowRoot,
42
+ {
43
+ injectFontCss,
44
+ theme: mantineTheme,
45
+ colorScheme,
46
+ styleNonce,
47
+ keepAspectRatio: keepAspectRatio ? bounds : false,
48
+ className: cx(
49
+ "likec4-view",
50
+ className
51
+ ),
52
+ style,
53
+ children: /* @__PURE__ */ jsx(
54
+ LikeC4Diagram,
55
+ {
56
+ view,
57
+ showNotations,
58
+ ...props
59
+ }
60
+ )
61
+ }
62
+ );
63
+ }
64
+
65
+ export { ReactLikeC4 };
@@ -1,4 +1,10 @@
1
1
  import { Any, UnknownLayouted } from '@likec4/core/types';
2
2
  import { LikeC4DiagramProperties } from './LikeC4Diagram.props';
3
- export type StaticLikeC4DiagramProps<A extends Any> = Pick<LikeC4DiagramProperties<A>, 'view' | 'className' | 'fitView' | 'fitViewPadding' | 'background' | 'enableElementDetails' | 'enableRelationshipDetails' | 'enableRelationshipBrowser' | 'enableElementTags' | 'reduceGraphics' | 'initialWidth' | 'initialHeight' | 'renderIcon' | 'renderNodes' | 'where'>;
3
+ export type StaticLikeC4DiagramProps<A extends Any> = Pick<LikeC4DiagramProperties<A>, 'view' | 'className' | 'fitView' | 'fitViewPadding' | 'background' | 'enableElementDetails' | 'enableRelationshipDetails' | 'enableRelationshipBrowser' | 'enableElementTags' | 'reduceGraphics' | 'initialWidth' | 'initialHeight' | 'renderIcon' | 'renderNodes' | 'dynamicViewVariant' | 'where'>;
4
+ /**
5
+ * StaticLikeC4Diagram is a component that renders a LikeC4 diagram in a static way.
6
+ * (Export/Embed)
7
+ *
8
+ * @internal
9
+ */
4
10
  export declare function StaticLikeC4Diagram<A extends Any = UnknownLayouted>({ view, fitView, fitViewPadding, enableRelationshipDetails, enableRelationshipBrowser, background, className, ...rest }: StaticLikeC4DiagramProps<A>): import("react/jsx-runtime").JSX.Element;
@@ -24,7 +24,6 @@ function StaticLikeC4Diagram({
24
24
  zoomable: false,
25
25
  controls: false,
26
26
  background,
27
- showDiagramTitle: false,
28
27
  showNotations: false,
29
28
  enableElementDetails: false,
30
29
  enableRelationshipDetails,
@@ -2,8 +2,8 @@ import { ReactFlowProps } from '@xyflow/react';
2
2
  import { SetRequired, Simplify } from 'type-fest';
3
3
  import { ViewPadding } from '../LikeC4Diagram.props';
4
4
  import { XYBackground } from './Background';
5
- import { Base } from './types';
6
- export type BaseXYFlowProps<NodeType extends Base.Node, EdgeType extends Base.Edge> = Simplify<{
5
+ import { BaseEdge, BaseNode } from './types';
6
+ export type BaseXYFlowProps<NodeType extends BaseNode, EdgeType extends BaseEdge> = Simplify<{
7
7
  pannable?: boolean;
8
8
  zoomable?: boolean;
9
9
  nodesSelectable?: boolean;
@@ -12,4 +12,4 @@ export type BaseXYFlowProps<NodeType extends Base.Node, EdgeType extends Base.Ed
12
12
  fitViewPadding?: ViewPadding | undefined;
13
13
  onViewportResize?: undefined | (() => void);
14
14
  } & SetRequired<Omit<ReactFlowProps<NodeType, EdgeType>, 'defaultNodes' | 'defaultEdges' | 'onNodeDoubleClick' | 'onEdgeDoubleClick' | 'fitViewOptions'>, 'nodes' | 'edges' | 'onNodesChange' | 'onEdgesChange'>>;
15
- export declare const BaseXYFlow: <NodeType extends Base.Node, EdgeType extends Base.Edge>({ nodes, edges, onEdgesChange, onNodesChange, className, pannable, zoomable, nodesSelectable, nodesDraggable, background, children, colorMode, fitViewPadding, fitView, zoomOnDoubleClick, onViewportResize, onMoveEnd, onNodeMouseEnter, onNodeMouseLeave, onEdgeMouseEnter, onEdgeMouseLeave, ...props }: BaseXYFlowProps<NodeType, EdgeType>) => import("react/jsx-runtime").JSX.Element;
15
+ export declare function BaseXYFlow<NodeType extends BaseNode, EdgeType extends BaseEdge>({ nodes, edges, onEdgesChange, onNodesChange, className, pannable, zoomable, nodesSelectable, nodesDraggable, background, children, colorMode, fitViewPadding, fitView, zoomOnDoubleClick, onViewportResize, onMoveEnd, onNodeMouseEnter, onNodeMouseLeave, onEdgeMouseEnter, onEdgeMouseLeave, ...props }: BaseXYFlowProps<NodeType, EdgeType>): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { cx } from '@likec4/styles/css';
3
+ import { useMantineColorScheme } from '@mantine/core';
3
4
  import { useCallbackRef } from '@mantine/hooks';
4
5
  import { ReactFlow, useStore } from '@xyflow/react';
5
- import { Fragment } from 'react';
6
6
  import { useUpdateEffect } from '../hooks/useUpdateEffect.js';
7
7
  import { useIsZoomTooSmall, useXYStoreApi } from '../hooks/useXYFlow.js';
8
8
  import { roundDpr } from '../utils/roundDpr.js';
@@ -11,7 +11,7 @@ import { Background } from './Background.js';
11
11
  import { MinZoom, MaxZoom } from './const.js';
12
12
  import { Base } from './types.js';
13
13
 
14
- const BaseXYFlow = ({
14
+ function BaseXYFlow({
15
15
  nodes,
16
16
  edges,
17
17
  onEdgesChange,
@@ -23,7 +23,7 @@ const BaseXYFlow = ({
23
23
  nodesDraggable = false,
24
24
  background = "dots",
25
25
  children,
26
- colorMode = "system",
26
+ colorMode,
27
27
  fitViewPadding = 0,
28
28
  fitView = true,
29
29
  zoomOnDoubleClick = false,
@@ -34,10 +34,14 @@ const BaseXYFlow = ({
34
34
  onEdgeMouseEnter,
35
35
  onEdgeMouseLeave,
36
36
  ...props
37
- }) => {
37
+ }) {
38
38
  const isBgWithPattern = background !== "transparent" && background !== "solid";
39
39
  const isZoomTooSmall = useIsZoomTooSmall();
40
40
  const xystore = useXYStoreApi();
41
+ const { colorScheme } = useMantineColorScheme();
42
+ if (!colorMode) {
43
+ colorMode = colorScheme === "auto" ? "system" : colorScheme;
44
+ }
41
45
  return /* @__PURE__ */ jsxs(
42
46
  ReactFlow,
43
47
  {
@@ -151,15 +155,13 @@ const BaseXYFlow = ({
151
155
  onEdgeDoubleClick: stopPropagation,
152
156
  ...props,
153
157
  children: [
154
- /* @__PURE__ */ jsxs(Fragment, { children: [
155
- isBgWithPattern && /* @__PURE__ */ jsx(Background, { background }),
156
- onViewportResize && /* @__PURE__ */ jsx(ViewportResizeHanlder, { onViewportResize })
157
- ] }, "_internals"),
158
+ isBgWithPattern && /* @__PURE__ */ jsx(Background, { background }),
159
+ onViewportResize && /* @__PURE__ */ jsx(ViewportResizeHanlder, { onViewportResize }),
158
160
  children
159
161
  ]
160
162
  }
161
163
  );
162
- };
164
+ }
163
165
  const selectDimensions = ({ width, height }) => (width || 1) * (height || 1);
164
166
  const ViewportResizeHanlder = ({
165
167
  onViewportResize
@@ -1,3 +1,3 @@
1
1
  export { BaseXYFlow, type BaseXYFlowProps } from './BaseXYFlow';
2
- export { Base, type EdgeProps, type NodeProps, type NonOptional, type ReactFlowEdge, type ReactFlowNode, } from './types';
2
+ export * from './types';
3
3
  export * from './const';
@@ -1,62 +1,72 @@
1
+ import { Edge, EdgeProps, Node, NodeProps } from '@xyflow/react';
1
2
  import { OptionalKeysOf, SetRequired, Simplify } from 'type-fest';
2
- import type * as RF from '@xyflow/react';
3
- type RFNode<NodeData extends Record<string, unknown> = Record<string, unknown>, NodeType extends string | undefined = string | undefined> = RF.Node<NodeData, NodeType>;
4
- type RFEdge<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = RF.Edge<EdgeData, EdgeType>;
5
- type ReactFlowNodeProps<NodeData extends Record<string, unknown> = Record<string, unknown>, NodeType extends string | undefined = string | undefined> = RF.NodeProps<RF.Node<NodeData, NodeType>>;
6
- type ReactFlowEdgeProps<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = RF.EdgeProps<RF.Edge<EdgeData, EdgeType>>;
7
- export declare namespace Base {
8
- export type Dimmed = 'immediate' | boolean;
9
- export type NodeData = {
10
- /**
11
- * Whether the cursor is hovering over the node
12
- */
13
- hovered?: boolean;
14
- /**
15
- * Whether the node is dimmed
16
- * 'immediate' means that the node is dimmed without delay
17
- */
18
- dimmed?: Dimmed;
3
+ export type BaseNodeData = {
4
+ /**
5
+ * Whether the cursor is hovering over the node
6
+ */
7
+ hovered?: boolean;
8
+ /**
9
+ * Whether the node is dimmed
10
+ * 'immediate' means that the node is dimmed without delay
11
+ */
12
+ dimmed?: Base.Dimmed;
13
+ };
14
+ export type BaseEdgeData = {
15
+ /**
16
+ * Whether the cursor is hovering over the edge
17
+ */
18
+ hovered?: boolean;
19
+ /**
20
+ * Whether the edge is active (animated and highlighted)
21
+ */
22
+ active?: boolean;
23
+ /**
24
+ * Whether the edge is dimmed
25
+ * 'immediate' means that the edge is dimmed without delay
26
+ */
27
+ dimmed?: Base.Dimmed;
28
+ };
29
+ export type BaseNode<Data extends Record<string, unknown> = Record<string, unknown>, NodeType extends string = string> = SetRequired<Node<Data & BaseNodeData, NodeType>, 'type' | 'initialWidth' | 'initialHeight'>;
30
+ export interface BaseEdge<Data extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string = string> extends SetRequired<Edge<Data & BaseEdgeData, EdgeType>, 'type' | 'data'> {
31
+ }
32
+ /**
33
+ * ReactFlow Base Node properties with BaseNodeData at least
34
+ */
35
+ export interface BaseNodeProps<N extends BaseNode = BaseNode> extends NodeProps<N> {
36
+ }
37
+ export type BaseNodePropsWithData<Data extends Record<string, unknown>> = BaseNodeProps<BaseNode<Data>>;
38
+ /**
39
+ * ReactFlow Base Edge properties with BaseEdgeData at least
40
+ */
41
+ export interface BaseEdgeProps<E extends BaseEdge = BaseEdge> extends EdgeProps<E> {
42
+ }
43
+ export type BaseEdgePropsWithData<Data extends Record<string, unknown>> = BaseEdgeProps<BaseEdge<Data>>;
44
+ type WithDimmed = {
45
+ data: {
46
+ dimmed?: Base.Dimmed;
19
47
  };
20
- export type Node = RFNode<NodeData>;
21
- export type NodeProps = ReactFlowNodeProps<RFNode<NodeData, any>>;
22
- export type EdgeData = {
23
- /**
24
- * Whether the cursor is hovering over the edge
25
- */
48
+ };
49
+ type WithHovered = {
50
+ data: {
26
51
  hovered?: boolean;
27
- /**
28
- * Whether the edge is active (animated and highlighted)
29
- */
30
- active?: boolean;
31
- /**
32
- * Whether the edge is dimmed
33
- * 'immediate' means that the edge is dimmed without delay
34
- */
35
- dimmed?: Dimmed;
36
52
  };
37
- export type Edge = Simplify<Omit<RFEdge, 'data'> & {
38
- data: EdgeData;
39
- }>;
40
- type WithDimmed = {
41
- data: {
42
- dimmed?: Dimmed;
43
- };
44
- };
45
- type WithHovered = {
46
- data: {
47
- hovered?: boolean;
48
- };
49
- };
50
- export function setDimmed<T extends WithDimmed>(value: T, dimmed: 'immediate' | boolean): T;
51
- export function setDimmed(dimmed: 'immediate' | boolean): <T extends WithDimmed>(value: T) => T;
52
- export function setHovered<T extends WithHovered>(value: T, hovered: boolean): T;
53
- export function setHovered(hovered: boolean): <T extends WithHovered>(value: T) => T;
54
- type WithData<D> = {
55
- data: D;
56
- };
57
- export function setData<E extends WithData<any>>(value: E, state: Partial<E['data']>): E;
58
- export function setData<E extends WithData<any>>(state: Partial<E['data']>): (value: E) => E;
59
- export {};
53
+ };
54
+ declare function setDimmed<T extends WithDimmed>(value: T, dimmed: 'immediate' | boolean): T;
55
+ declare function setDimmed(dimmed: 'immediate' | boolean): <T extends WithDimmed>(value: T) => T;
56
+ declare function setHovered<T extends WithHovered>(value: T, hovered: boolean): T;
57
+ declare function setHovered(hovered: boolean): <T extends WithHovered>(value: T) => T;
58
+ type WithData<D> = {
59
+ data: D;
60
+ };
61
+ declare function setData<E extends WithData<any>>(value: E, state: Partial<E['data']>): E;
62
+ declare function setData<E extends WithData<any>>(state: Partial<E['data']>): (value: E) => E;
63
+ export declare const Base: {
64
+ setDimmed: typeof setDimmed;
65
+ setHovered: typeof setHovered;
66
+ setData: typeof setData;
67
+ };
68
+ export declare namespace Base {
69
+ type Dimmed = 'immediate' | boolean;
60
70
  }
61
71
  /**
62
72
  * To cooperate with `exactOptionalPropertyTypes` in `tsconfig.json`
@@ -80,14 +90,4 @@ export type NonOptional<T extends object, Keys extends OptionalKeysOf<T> = Optio
80
90
  } & {
81
91
  [P in Keys]-?: T[P] | undefined;
82
92
  }>;
83
- /**
84
- * ReactFlow Custom Node properties with BaseNodeData at least
85
- */
86
- export type NodeProps<T extends Record<string, unknown> = {}, NodeType extends string = string> = Simplify<ReactFlowNodeProps<Base.NodeData & T, NodeType>>;
87
- /**
88
- * ReactFlow Custom Edge properties with BaseEdgeData at least
89
- */
90
- export type EdgeProps<T extends Record<string, unknown> = {}, EdgeType extends string = string> = Simplify<SetRequired<ReactFlowEdgeProps<Base.EdgeData & T, EdgeType>, 'data'>>;
91
- export type ReactFlowNode<Data extends Record<string, unknown>, NodeType extends string> = SetRequired<RFNode<Data, NodeType>, 'type' | 'initialWidth' | 'initialHeight'>;
92
- export type ReactFlowEdge<Data extends Record<string, unknown>, EdgeType extends string> = SetRequired<RFEdge<Data, EdgeType>, 'type' | 'data'>;
93
93
  export {};
@@ -1,54 +1,53 @@
1
1
  import { hasSubObject } from 'remeda';
2
2
 
3
- var Base;
4
- ((Base2) => {
5
- const _setDimmed = (v, dimmed) => (v.data.dimmed ?? false) === dimmed ? v : {
6
- ...v,
7
- data: {
8
- ...v.data,
9
- dimmed
10
- }
11
- };
12
- function setDimmed(arg1, arg2) {
13
- if (arg2 !== void 0) {
14
- return _setDimmed(arg1, arg2);
15
- }
16
- return (v) => _setDimmed(v, arg1);
3
+ const _setDimmed = (v, dimmed) => (v.data.dimmed ?? false) === dimmed ? v : {
4
+ ...v,
5
+ data: {
6
+ ...v.data,
7
+ dimmed
17
8
  }
18
- Base2.setDimmed = setDimmed;
19
- const _setHovered = (v, hovered) => (v.data.hovered ?? false) === hovered ? v : {
20
- ...v,
21
- data: {
22
- ...v.data,
23
- hovered
24
- }
25
- };
26
- function setHovered(arg1, arg2) {
27
- if (arg2 !== void 0) {
28
- return _setHovered(arg1, arg2);
29
- }
30
- return (v) => _setHovered(v, arg1);
9
+ };
10
+ function setDimmed(arg1, arg2) {
11
+ if (arg2 !== void 0) {
12
+ return _setDimmed(arg1, arg2);
31
13
  }
32
- Base2.setHovered = setHovered;
33
- function _setData(value, state) {
34
- if (hasSubObject(value.data, state)) {
35
- return value;
36
- }
37
- return {
38
- ...value,
39
- data: {
40
- ...value.data,
41
- ...state
42
- }
43
- };
14
+ return (v) => _setDimmed(v, arg1);
15
+ }
16
+ const _setHovered = (v, hovered) => (v.data.hovered ?? false) === hovered ? v : {
17
+ ...v,
18
+ data: {
19
+ ...v.data,
20
+ hovered
21
+ }
22
+ };
23
+ function setHovered(arg1, arg2) {
24
+ if (arg2 !== void 0) {
25
+ return _setHovered(arg1, arg2);
44
26
  }
45
- function setData(arg1, arg2) {
46
- if (arg2 !== void 0) {
47
- return _setData(arg1, arg2);
27
+ return (v) => _setHovered(v, arg1);
28
+ }
29
+ function _setData(value, state) {
30
+ if (hasSubObject(value.data, state)) {
31
+ return value;
32
+ }
33
+ return {
34
+ ...value,
35
+ data: {
36
+ ...value.data,
37
+ ...state
48
38
  }
49
- return (edge) => _setData(edge, arg1);
39
+ };
40
+ }
41
+ function setData(arg1, arg2) {
42
+ if (arg2 !== void 0) {
43
+ return _setData(arg1, arg2);
50
44
  }
51
- Base2.setData = setData;
52
- })(Base || (Base = {}));
45
+ return (edge) => _setData(edge, arg1);
46
+ }
47
+ const Base = {
48
+ setDimmed,
49
+ setHovered,
50
+ setData
51
+ };
53
52
 
54
53
  export { Base };
@@ -1,3 +1,3 @@
1
- import { Base } from './types';
2
- export declare function updateEdges<E extends Base.Edge>(current: E[], update: E[]): E[];
3
- export declare function updateEdges<E extends Base.Edge>(update: E[]): (current: E[]) => E[];
1
+ import { BaseEdge } from './types';
2
+ export declare function updateEdges<E extends BaseEdge>(current: E[], update: E[]): E[];
3
+ export declare function updateEdges<E extends BaseEdge>(update: E[]): (current: E[]) => E[];
@@ -1,3 +1,3 @@
1
- import { Base } from './types';
2
- export declare function updateNodes<N extends Base.Node>(current: N[], update: N[]): N[];
3
- export declare function updateNodes<N extends Base.Node>(update: N[]): (current: N[]) => N[];
1
+ import { BaseNode } from './types';
2
+ export declare function updateNodes<N extends BaseNode>(current: N[], update: N[]): N[];
3
+ export declare function updateNodes<N extends BaseNode>(update: N[]): (current: N[]) => N[];