@likec4/diagram 1.19.1 → 1.20.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 (582) hide show
  1. package/dist/LikeC4Diagram.css.d.ts +0 -1
  2. package/dist/LikeC4Diagram.css.js +1 -5
  3. package/dist/LikeC4Diagram.d.ts +1 -4
  4. package/dist/LikeC4Diagram.js +102 -147
  5. package/dist/LikeC4Diagram.props.d.ts +10 -16
  6. package/dist/LikeC4Search.js +7 -15
  7. package/dist/StaticLikeC4Diagram.d.ts +1 -1
  8. package/dist/base/Background.d.ts +7 -0
  9. package/dist/{xyflow/XYFlowBackground.js → base/Background.js} +5 -6
  10. package/dist/base/BaseXYFlow.d.ts +14 -0
  11. package/dist/base/BaseXYFlow.js +146 -0
  12. package/dist/base/example/RelationshipsBrowser.d.ts +6 -0
  13. package/dist/base/example/_types.d.ts +20 -0
  14. package/dist/base/example/custom.d.ts +71 -0
  15. package/dist/base/example/useViewToNodesEdges.d.ts +6 -0
  16. package/dist/base/index.d.ts +2 -0
  17. package/dist/base/primitives/NodeHandles.d.ts +4 -0
  18. package/dist/base/primitives/NodeHandles.js +14 -0
  19. package/dist/base/primitives/compound/CompoundActionButton.css.d.ts +3 -0
  20. package/dist/base/primitives/compound/CompoundActionButton.css.js +9 -0
  21. package/dist/base/primitives/compound/CompoundActionButton.d.ts +7 -0
  22. package/dist/base/primitives/compound/CompoundActionButton.js +48 -0
  23. package/dist/base/primitives/compound/CompoundDetailsButton.css.d.ts +3 -0
  24. package/dist/base/primitives/compound/CompoundDetailsButton.css.js +9 -0
  25. package/dist/base/primitives/compound/CompoundDetailsButton.d.ts +7 -0
  26. package/dist/base/primitives/compound/CompoundDetailsButton.js +50 -0
  27. package/dist/base/primitives/compound/CompoundNodeContainer.css.d.ts +9 -0
  28. package/dist/base/primitives/compound/CompoundNodeContainer.css.js +17 -0
  29. package/dist/base/primitives/compound/CompoundNodeContainer.d.ts +26 -0
  30. package/dist/base/primitives/compound/CompoundNodeContainer.js +86 -0
  31. package/dist/base/primitives/compound/CompoundTitle.css.d.ts +2 -0
  32. package/dist/base/primitives/compound/CompoundTitle.css.js +7 -0
  33. package/dist/base/primitives/compound/CompoundTitle.d.ts +6 -0
  34. package/dist/base/primitives/compound/CompoundTitle.js +20 -0
  35. package/dist/base/primitives/customEdge.d.ts +41 -0
  36. package/dist/base/primitives/customEdge.js +13 -0
  37. package/dist/base/primitives/customNode.d.ts +7 -0
  38. package/dist/base/primitives/customNode.js +10 -0
  39. package/dist/base/primitives/edge/EdgeActionButton.d.ts +7 -0
  40. package/dist/base/primitives/edge/EdgeActionButton.js +24 -0
  41. package/dist/base/primitives/edge/EdgeContainer.d.ts +10 -0
  42. package/dist/base/primitives/edge/EdgeContainer.js +35 -0
  43. package/dist/{xyflow/edges/edges.css.d.ts → base/primitives/edge/EdgeLabel.css.d.ts} +5 -9
  44. package/dist/base/primitives/edge/EdgeLabel.css.js +25 -0
  45. package/dist/base/primitives/edge/EdgeLabel.d.ts +51 -0
  46. package/dist/base/primitives/edge/EdgeLabel.js +90 -0
  47. package/dist/{xyflow → base/primitives/edge}/EdgeMarkers.d.ts +2 -0
  48. package/dist/{xyflow → base/primitives/edge}/EdgeMarkers.js +29 -1
  49. package/dist/base/primitives/edge/EdgePath.d.ts +44 -0
  50. package/dist/base/primitives/edge/EdgePath.js +77 -0
  51. package/dist/base/primitives/edge/edge.css.d.ts +6 -0
  52. package/dist/base/primitives/edge/edge.css.js +14 -0
  53. package/dist/base/primitives/element/ElementActionButtons.css.d.ts +3 -0
  54. package/dist/base/primitives/element/ElementActionButtons.css.js +9 -0
  55. package/dist/base/primitives/element/ElementActionButtons.d.ts +13 -0
  56. package/dist/base/primitives/element/ElementActionButtons.js +62 -0
  57. package/dist/base/primitives/element/ElementDetailsButton.css.d.ts +3 -0
  58. package/dist/base/primitives/element/ElementDetailsButton.css.js +9 -0
  59. package/dist/base/primitives/element/ElementDetailsButton.d.ts +7 -0
  60. package/dist/base/primitives/element/ElementDetailsButton.js +54 -0
  61. package/dist/base/primitives/element/ElementNodeContainer.css.d.ts +3 -0
  62. package/dist/base/primitives/element/ElementNodeContainer.css.js +7 -0
  63. package/dist/base/primitives/element/ElementNodeContainer.d.ts +26 -0
  64. package/dist/base/primitives/element/ElementNodeContainer.js +60 -0
  65. package/dist/base/primitives/element/ElementShape.css.d.ts +6 -0
  66. package/dist/base/primitives/element/ElementShape.css.js +14 -0
  67. package/dist/base/primitives/element/ElementShape.d.ts +28 -0
  68. package/dist/{xyflow/nodes/element/ElementShapeSvg.js → base/primitives/element/ElementShape.js} +23 -7
  69. package/dist/base/primitives/element/ElementTitle.css.d.ts +8 -0
  70. package/dist/base/primitives/element/ElementTitle.css.js +19 -0
  71. package/dist/base/primitives/element/ElementTitle.d.ts +10 -0
  72. package/dist/base/primitives/element/ElementTitle.js +66 -0
  73. package/dist/base/primitives/index.d.ts +17 -0
  74. package/dist/base/types.d.ts +90 -0
  75. package/dist/base/types.js +54 -0
  76. package/dist/base/updateEdges.d.ts +3 -0
  77. package/dist/base/updateEdges.js +31 -0
  78. package/dist/base/updateNodes.d.ts +3 -0
  79. package/dist/base/updateNodes.js +36 -0
  80. package/dist/base/xyflowMachine.d.ts +212 -0
  81. package/dist/context/DiagramEventHandlers.d.ts +10 -0
  82. package/dist/context/DiagramEventHandlers.js +49 -0
  83. package/dist/context/DiagramFeatures.d.ts +31 -0
  84. package/dist/context/DiagramFeatures.js +140 -0
  85. package/dist/{ui → context}/FramerMotionConfig.js +2 -4
  86. package/dist/context/IconRenderer.d.ts +11 -0
  87. package/dist/{xyflow/nodes/shared/ElementIcon.js → context/IconRenderer.js} +14 -14
  88. package/dist/context/RootContainer.d.ts +9 -0
  89. package/dist/context/RootContainer.js +20 -0
  90. package/dist/context/index.d.ts +7 -0
  91. package/dist/globals.css.js +0 -87
  92. package/dist/hooks/index.d.ts +7 -5
  93. package/dist/hooks/useCurrentViewId.d.ts +2 -0
  94. package/dist/hooks/useCurrentViewId.js +8 -0
  95. package/dist/hooks/useDiagram.d.ts +10725 -0
  96. package/dist/hooks/useDiagram.js +119 -0
  97. package/dist/hooks/useDiagramActor.d.ts +5 -0
  98. package/dist/hooks/useDiagramActor.js +21 -0
  99. package/dist/hooks/useDiagramContext.d.ts +3 -0
  100. package/dist/hooks/useDiagramContext.js +10 -0
  101. package/dist/hooks/useMantinePortalProps.js +2 -2
  102. package/dist/hooks/useXYFlow.d.ts +195 -37
  103. package/dist/hooks/useXYFlow.js +4 -6
  104. package/dist/index.d.ts +3 -2
  105. package/dist/index.js +5 -6
  106. package/dist/likec4diagram/DiagramActor.d.ts +7 -0
  107. package/dist/likec4diagram/DiagramActor.js +71 -0
  108. package/dist/likec4diagram/DiagramUI.d.ts +2 -0
  109. package/dist/likec4diagram/DiagramUI.js +22 -0
  110. package/dist/likec4diagram/XYFlow.d.ts +6 -0
  111. package/dist/likec4diagram/XYFlow.js +122 -0
  112. package/dist/likec4diagram/custom/edges/NotePopover.css.d.ts +2 -0
  113. package/dist/likec4diagram/custom/edges/NotePopover.css.js +7 -0
  114. package/dist/likec4diagram/custom/edges/NotePopover.d.ts +4 -0
  115. package/dist/likec4diagram/custom/edges/NotePopover.js +101 -0
  116. package/dist/likec4diagram/custom/edges/RelationshipEdge.d.ts +55 -0
  117. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +307 -0
  118. package/dist/{xyflow → likec4diagram/custom}/edges/RelationshipsDropdownMenu.css.js +4 -4
  119. package/dist/{xyflow → likec4diagram/custom}/edges/RelationshipsDropdownMenu.d.ts +5 -5
  120. package/dist/{xyflow → likec4diagram/custom}/edges/RelationshipsDropdownMenu.js +51 -53
  121. package/dist/likec4diagram/custom/edges/edges.css.d.ts +2 -0
  122. package/dist/likec4diagram/custom/edges/edges.css.js +7 -0
  123. package/dist/likec4diagram/custom/edges/utils.d.ts +22 -0
  124. package/dist/likec4diagram/custom/edges/utils.js +25 -0
  125. package/dist/likec4diagram/custom/index.d.ts +57 -0
  126. package/dist/likec4diagram/custom/index.js +7 -0
  127. package/dist/likec4diagram/custom/nodes/CompoundActions.d.ts +5 -0
  128. package/dist/likec4diagram/custom/nodes/CompoundActions.js +25 -0
  129. package/dist/likec4diagram/custom/nodes/ElementActions.d.ts +7 -0
  130. package/dist/likec4diagram/custom/nodes/ElementActions.js +69 -0
  131. package/dist/likec4diagram/custom/nodes/nodeTypes.d.ts +10 -0
  132. package/dist/likec4diagram/custom/nodes/nodeTypes.js +94 -0
  133. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.d.ts +21 -0
  134. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +159 -0
  135. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.d.ts +7 -0
  136. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.js +128 -0
  137. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.d.ts +7 -0
  138. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +149 -0
  139. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.d.ts +8 -0
  140. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +66 -0
  141. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +40 -0
  142. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +131 -0
  143. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.d.ts +1 -0
  144. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +5 -0
  145. package/dist/likec4diagram/state/actorContext.d.ts +50849 -0
  146. package/dist/likec4diagram/state/actorContext.js +12 -0
  147. package/dist/{state → likec4diagram/state}/aligners.d.ts +4 -1
  148. package/dist/{state → likec4diagram/state}/aligners.js +31 -5
  149. package/dist/likec4diagram/state/assign.d.ts +18 -0
  150. package/dist/likec4diagram/state/assign.js +343 -0
  151. package/dist/likec4diagram/state/hotkeyActor.d.ts +5 -0
  152. package/dist/likec4diagram/state/hotkeyActor.js +18 -0
  153. package/dist/likec4diagram/state/inspector.d.ts +5 -0
  154. package/dist/likec4diagram/state/machine.d.ts +10751 -0
  155. package/dist/likec4diagram/state/machine.js +783 -0
  156. package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +113 -0
  157. package/dist/likec4diagram/state/syncManualLayoutActor.js +178 -0
  158. package/dist/likec4diagram/state/utils.d.ts +8 -0
  159. package/dist/likec4diagram/state/utils.js +48 -0
  160. package/dist/likec4diagram/types.d.ts +74 -0
  161. package/dist/{ui/top-left → likec4diagram/ui/controls}/ChangeAutoLayoutButton.js +11 -10
  162. package/dist/likec4diagram/ui/controls/Controls.d.ts +2 -0
  163. package/dist/likec4diagram/ui/controls/Controls.js +102 -0
  164. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.d.ts +2 -0
  165. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +43 -0
  166. package/dist/{ui/top-left → likec4diagram/ui/controls}/ManualLayoutToolsButton.js +11 -11
  167. package/dist/likec4diagram/ui/controls/NavigationButtons.d.ts +1 -0
  168. package/dist/likec4diagram/ui/controls/NavigationButtons.js +92 -0
  169. package/dist/{ui/top-left → likec4diagram/ui/controls}/_shared.js +2 -1
  170. package/dist/{ui/top-left → likec4diagram/ui/controls}/styles.css.d.ts +1 -1
  171. package/dist/likec4diagram/ui/controls/styles.css.js +17 -0
  172. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +11 -0
  173. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.d.ts +1 -0
  174. package/dist/{ui → likec4diagram/ui/diagram-title}/DiagramTitlePanel.js +3 -3
  175. package/dist/likec4diagram/ui/diagram-title/Link.d.ts +4 -0
  176. package/dist/likec4diagram/ui/index.d.ts +2 -0
  177. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +13 -0
  178. package/dist/likec4diagram/ui/notation/NotationPanel.d.ts +2 -0
  179. package/dist/{ui → likec4diagram/ui}/notation/NotationPanel.js +23 -31
  180. package/dist/{ui → likec4diagram/ui/walkthrough}/DynamicViewWalkthrough.css.js +4 -4
  181. package/dist/{ui → likec4diagram/ui/walkthrough}/DynamicViewWalkthrough.js +19 -44
  182. package/dist/{xyflow → likec4diagram}/useLayoutConstraints.d.ts +11 -6
  183. package/dist/{xyflow → likec4diagram}/useLayoutConstraints.js +17 -12
  184. package/dist/likec4diagram/useViewToNodesEdges.d.ts +11 -0
  185. package/dist/likec4diagram/useViewToNodesEdges.js +245 -0
  186. package/dist/likec4model/index.d.ts +1 -1
  187. package/dist/likec4model/useLikeC4Model.d.ts +1 -11
  188. package/dist/likec4model/useLikeC4Model.js +1 -39
  189. package/dist/overlays/Overlays.js +61 -105
  190. package/dist/overlays/element-details/ElementDetailsCard.js +111 -116
  191. package/dist/overlays/element-details/TabPanelDeployments.js +4 -7
  192. package/dist/overlays/element-details/TabPanelRelationships.css.js +0 -2
  193. package/dist/overlays/element-details/TabPanelRelationships.d.ts +1 -1
  194. package/dist/overlays/element-details/TabPanelRelationships.js +35 -64
  195. package/dist/overlays/element-details/TabPanelStructure.d.ts +2 -2
  196. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  197. package/dist/overlays/overlay/Overlay.css.d.ts +2 -0
  198. package/dist/overlays/overlay/Overlay.css.js +93 -0
  199. package/dist/overlays/overlay/Overlay.d.ts +8 -0
  200. package/dist/overlays/overlay/Overlay.js +86 -0
  201. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +5 -0
  202. package/dist/overlays/relationship-details/RelationshipDetails.js +189 -0
  203. package/dist/overlays/{edge-details → relationship-details}/SelectEdge.css.d.ts +1 -0
  204. package/dist/overlays/relationship-details/SelectEdge.css.js +17 -0
  205. package/dist/overlays/{edge-details → relationship-details}/SelectEdge.d.ts +1 -1
  206. package/dist/overlays/{edge-details → relationship-details}/SelectEdge.js +8 -8
  207. package/dist/overlays/relationship-details/_types.d.ts +36 -0
  208. package/dist/overlays/relationship-details/actor.d.ts +41 -0
  209. package/dist/overlays/relationship-details/actor.js +113 -0
  210. package/dist/overlays/relationship-details/custom/ElementActions.d.ts +5 -0
  211. package/dist/overlays/relationship-details/custom/ElementActions.js +33 -0
  212. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +49 -0
  213. package/dist/overlays/relationship-details/custom/edgeTypes.js +51 -0
  214. package/dist/overlays/relationship-details/custom/index.d.ts +2 -0
  215. package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +39 -0
  216. package/dist/overlays/relationship-details/custom/nodeTypes.js +89 -0
  217. package/dist/overlays/relationship-details/custom/styles.css.d.ts +1 -0
  218. package/dist/overlays/relationship-details/hooks.d.ts +59 -0
  219. package/dist/overlays/relationship-details/hooks.js +46 -0
  220. package/dist/overlays/{edge-details/use-layouted-edge-details.d.ts → relationship-details/useLayoutedDetails.d.ts} +4 -6
  221. package/dist/overlays/{edge-details/use-layouted-edge-details.js → relationship-details/useLayoutedDetails.js} +68 -64
  222. package/dist/overlays/relationships-browser/-useRelationshipsView.d.ts +39 -0
  223. package/dist/overlays/relationships-browser/-useRelationshipsView.js +488 -0
  224. package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +5 -0
  225. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +209 -0
  226. package/dist/overlays/{relationships-of → relationships-browser}/SelectElement.css.d.ts +1 -0
  227. package/dist/overlays/relationships-browser/SelectElement.css.js +9 -0
  228. package/dist/overlays/relationships-browser/SelectElement.d.ts +7 -0
  229. package/dist/overlays/{relationships-of → relationships-browser}/SelectElement.js +11 -7
  230. package/dist/overlays/relationships-browser/_types.d.ts +40 -0
  231. package/dist/overlays/relationships-browser/actor.d.ts +66 -0
  232. package/dist/overlays/relationships-browser/actor.js +159 -0
  233. package/dist/overlays/relationships-browser/custom/ElementActions.d.ts +5 -0
  234. package/dist/overlays/relationships-browser/custom/ElementActions.js +43 -0
  235. package/dist/overlays/relationships-browser/custom/EmptyNode.d.ts +5 -0
  236. package/dist/overlays/{relationships-of/xyflow → relationships-browser/custom}/EmptyNode.js +1 -3
  237. package/dist/overlays/relationships-browser/custom/edgeTypes.d.ts +46 -0
  238. package/dist/overlays/relationships-browser/custom/edgeTypes.js +51 -0
  239. package/dist/overlays/relationships-browser/custom/index.d.ts +2 -0
  240. package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +45 -0
  241. package/dist/overlays/relationships-browser/custom/nodeTypes.js +93 -0
  242. package/dist/overlays/relationships-browser/custom/styles.css.d.ts +1 -0
  243. package/dist/overlays/relationships-browser/custom/styles.css.js +5 -0
  244. package/dist/overlays/relationships-browser/hooks.d.ts +62 -0
  245. package/dist/overlays/relationships-browser/hooks.js +46 -0
  246. package/dist/overlays/relationships-browser/useViewToNodesEdges.d.ts +10 -0
  247. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +160 -0
  248. package/dist/style.css +1 -1
  249. package/dist/theme-vars.css.js +1 -0
  250. package/dist/utils/index.d.ts +4 -0
  251. package/dist/{xyflow/utils.d.ts → utils/xyflow.d.ts} +4 -4
  252. package/dist/{xyflow/utils.js → utils/xyflow.js} +14 -20
  253. package/package.json +24 -21
  254. package/src/LikeC4Diagram.css.ts +21 -15
  255. package/src/LikeC4Diagram.props.ts +14 -21
  256. package/src/LikeC4Diagram.tsx +105 -150
  257. package/src/LikeC4Search.tsx +21 -28
  258. package/src/StaticLikeC4Diagram.tsx +0 -1
  259. package/src/{xyflow/XYFlowBackground.tsx → base/Background.tsx} +8 -8
  260. package/src/base/BaseXYFlow.tsx +200 -0
  261. package/src/{xyflow → base}/const.ts +1 -1
  262. package/src/base/example/RelationshipsBrowser.tsx +62 -0
  263. package/src/base/example/_types.ts +71 -0
  264. package/src/base/example/custom.tsx +58 -0
  265. package/src/base/example/useViewToNodesEdges.ts +193 -0
  266. package/src/base/index.ts +10 -0
  267. package/src/base/primitives/NodeHandles.tsx +18 -0
  268. package/src/base/primitives/compound/CompoundActionButton.css.ts +55 -0
  269. package/src/base/primitives/compound/CompoundActionButton.tsx +52 -0
  270. package/src/base/primitives/compound/CompoundDetailsButton.css.ts +56 -0
  271. package/src/base/primitives/compound/CompoundDetailsButton.tsx +54 -0
  272. package/src/base/primitives/compound/CompoundNodeContainer.css.ts +161 -0
  273. package/src/base/primitives/compound/CompoundNodeContainer.tsx +95 -0
  274. package/src/base/primitives/compound/CompoundTitle.css.ts +43 -0
  275. package/src/base/primitives/compound/CompoundTitle.tsx +29 -0
  276. package/src/base/primitives/customEdge.ts +32 -0
  277. package/src/base/primitives/customNode.ts +21 -0
  278. package/src/base/primitives/edge/EdgeActionButton.tsx +27 -0
  279. package/src/base/primitives/edge/EdgeContainer.tsx +48 -0
  280. package/src/base/primitives/edge/EdgeLabel.css.ts +196 -0
  281. package/src/base/primitives/edge/EdgeLabel.tsx +136 -0
  282. package/src/{xyflow → base/primitives/edge}/EdgeMarkers.tsx +29 -1
  283. package/src/base/primitives/edge/EdgePath.tsx +89 -0
  284. package/src/base/primitives/edge/edge.css.ts +122 -0
  285. package/src/base/primitives/element/ElementActionButtons.css.ts +48 -0
  286. package/src/base/primitives/element/ElementActionButtons.tsx +73 -0
  287. package/src/base/primitives/element/ElementDetailsButton.css.ts +54 -0
  288. package/src/base/primitives/element/ElementDetailsButton.tsx +59 -0
  289. package/src/base/primitives/element/ElementNodeContainer.css.ts +47 -0
  290. package/src/base/primitives/element/ElementNodeContainer.tsx +72 -0
  291. package/src/base/primitives/element/ElementShape.css.ts +134 -0
  292. package/src/{xyflow/nodes/element/ElementShapeSvg.tsx → base/primitives/element/ElementShape.tsx} +64 -19
  293. package/src/base/primitives/element/ElementTitle.css.ts +156 -0
  294. package/src/base/primitives/element/ElementTitle.tsx +76 -0
  295. package/src/base/primitives/index.ts +17 -0
  296. package/src/base/types.ts +169 -0
  297. package/src/base/updateEdges.ts +40 -0
  298. package/src/base/updateNodes.ts +46 -0
  299. package/src/base/xyflowMachine.ts +75 -0
  300. package/src/context/DiagramEventHandlers.tsx +53 -0
  301. package/src/context/DiagramFeatures.tsx +162 -0
  302. package/src/{ui → context}/FramerMotionConfig.tsx +2 -6
  303. package/src/context/IconRenderer.tsx +45 -0
  304. package/src/context/RootContainer.tsx +31 -0
  305. package/src/context/index.ts +14 -0
  306. package/src/globals.css.ts +32 -32
  307. package/src/hooks/index.ts +7 -5
  308. package/src/hooks/useCurrentViewId.ts +8 -0
  309. package/src/hooks/useDiagram.ts +129 -0
  310. package/src/hooks/useDiagramActor.ts +25 -0
  311. package/src/hooks/useDiagramContext.ts +11 -0
  312. package/src/hooks/useMantinePortalProps.ts +2 -2
  313. package/src/hooks/useXYFlow.ts +12 -38
  314. package/src/index.ts +3 -7
  315. package/src/likec4diagram/DiagramActor.tsx +79 -0
  316. package/src/likec4diagram/DiagramUI.tsx +28 -0
  317. package/src/likec4diagram/XYFlow.tsx +137 -0
  318. package/src/likec4diagram/custom/edges/NotePopover.css.ts +27 -0
  319. package/src/likec4diagram/custom/edges/NotePopover.tsx +96 -0
  320. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +355 -0
  321. package/src/{xyflow → likec4diagram/custom}/edges/RelationshipsDropdownMenu.css.ts +7 -7
  322. package/src/{xyflow → likec4diagram/custom}/edges/RelationshipsDropdownMenu.tsx +91 -70
  323. package/src/likec4diagram/custom/edges/edges.css.ts +39 -0
  324. package/src/likec4diagram/custom/edges/utils.ts +126 -0
  325. package/src/likec4diagram/custom/index.tsx +8 -0
  326. package/src/likec4diagram/custom/nodes/CompoundActions.tsx +27 -0
  327. package/src/likec4diagram/custom/nodes/ElementActions.tsx +74 -0
  328. package/src/likec4diagram/custom/nodes/nodeTypes.tsx +107 -0
  329. package/src/likec4diagram/custom/nodes/toolbar/ColorButton.tsx +175 -0
  330. package/src/likec4diagram/custom/nodes/toolbar/CompoundToolbar.tsx +122 -0
  331. package/src/likec4diagram/custom/nodes/toolbar/ElementToolbar.tsx +140 -0
  332. package/src/likec4diagram/custom/nodes/toolbar/Toolbar.tsx +77 -0
  333. package/src/likec4diagram/custom/nodes/toolbar/_shared.tsx +143 -0
  334. package/src/likec4diagram/custom/nodes/toolbar/styles.css.ts +9 -0
  335. package/src/likec4diagram/state/actorContext.ts +8 -0
  336. package/src/{state → likec4diagram/state}/aligners.ts +67 -40
  337. package/src/likec4diagram/state/assign.ts +384 -0
  338. package/src/likec4diagram/state/hotkeyActor.ts +20 -0
  339. package/src/likec4diagram/state/inspector.ts +23 -0
  340. package/src/likec4diagram/state/machine.ts +946 -0
  341. package/src/likec4diagram/state/syncManualLayoutActor.ts +219 -0
  342. package/src/likec4diagram/state/utils.ts +52 -0
  343. package/src/likec4diagram/types.ts +144 -0
  344. package/src/{ui/top-left → likec4diagram/ui/controls}/ChangeAutoLayoutButton.tsx +32 -28
  345. package/src/likec4diagram/ui/controls/Controls.tsx +107 -0
  346. package/src/likec4diagram/ui/controls/LayoutDriftNotification.tsx +46 -0
  347. package/src/{ui/top-left → likec4diagram/ui/controls}/ManualLayoutToolsButton.tsx +16 -16
  348. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +83 -0
  349. package/src/{ui/top-left → likec4diagram/ui/controls}/_shared.ts +4 -3
  350. package/src/{ui/top-left → likec4diagram/ui/controls}/styles.css.ts +17 -17
  351. package/src/{ui → likec4diagram/ui/diagram-title}/DiagramTitlePanel.css.ts +11 -11
  352. package/src/{ui → likec4diagram/ui/diagram-title}/DiagramTitlePanel.tsx +6 -5
  353. package/src/likec4diagram/ui/diagram-title/Link.tsx +40 -0
  354. package/src/likec4diagram/ui/index.ts +2 -0
  355. package/src/{ui → likec4diagram/ui}/notation/NotationPanel.css.ts +18 -18
  356. package/src/{ui → likec4diagram/ui}/notation/NotationPanel.tsx +44 -44
  357. package/src/{ui → likec4diagram/ui/walkthrough}/DynamicViewWalkthrough.css.ts +16 -16
  358. package/src/{ui → likec4diagram/ui/walkthrough}/DynamicViewWalkthrough.tsx +29 -49
  359. package/src/{xyflow → likec4diagram}/useLayoutConstraints.ts +54 -43
  360. package/src/likec4diagram/useViewToNodesEdges.ts +297 -0
  361. package/src/likec4model/index.ts +0 -6
  362. package/src/likec4model/useLikeC4Model.ts +1 -43
  363. package/src/overlays/Overlays.tsx +201 -147
  364. package/src/overlays/element-details/ElementDetailsCard.css.ts +58 -58
  365. package/src/overlays/element-details/ElementDetailsCard.tsx +143 -128
  366. package/src/overlays/element-details/TabPanelDeployments.css.ts +14 -14
  367. package/src/overlays/element-details/TabPanelDeployments.tsx +22 -22
  368. package/src/overlays/element-details/TabPanelRelationships.css.ts +19 -19
  369. package/src/overlays/element-details/TabPanelRelationships.tsx +45 -28
  370. package/src/overlays/element-details/TabPanelStructure.css.ts +7 -7
  371. package/src/overlays/element-details/TabPanelStructure.tsx +11 -11
  372. package/src/overlays/overlay/Overlay.css.ts +73 -0
  373. package/src/overlays/overlay/Overlay.tsx +99 -0
  374. package/src/overlays/relationship-details/RelationshipDetails.tsx +234 -0
  375. package/src/overlays/{edge-details → relationship-details}/SelectEdge.css.ts +20 -13
  376. package/src/overlays/{edge-details → relationship-details}/SelectEdge.tsx +14 -14
  377. package/src/overlays/relationship-details/_types.ts +73 -0
  378. package/src/overlays/relationship-details/actor.ts +162 -0
  379. package/src/overlays/relationship-details/custom/ElementActions.tsx +45 -0
  380. package/src/overlays/relationship-details/custom/edgeTypes.tsx +49 -0
  381. package/src/overlays/relationship-details/custom/index.tsx +2 -0
  382. package/src/overlays/relationship-details/custom/nodeTypes.tsx +108 -0
  383. package/src/overlays/relationship-details/custom/styles.css.ts +13 -0
  384. package/src/overlays/relationship-details/hooks.ts +48 -0
  385. package/src/overlays/{edge-details/use-layouted-edge-details.ts → relationship-details/useLayoutedDetails.ts} +128 -114
  386. package/src/overlays/relationships-browser/-useRelationshipsView.ts +642 -0
  387. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +247 -0
  388. package/src/overlays/{relationships-of → relationships-browser}/SelectElement.css.ts +12 -5
  389. package/src/overlays/{relationships-of → relationships-browser}/SelectElement.tsx +19 -17
  390. package/src/overlays/relationships-browser/_types.ts +89 -0
  391. package/src/overlays/relationships-browser/actor.ts +224 -0
  392. package/src/overlays/relationships-browser/custom/ElementActions.tsx +44 -0
  393. package/src/overlays/relationships-browser/custom/EmptyNode.tsx +18 -0
  394. package/src/overlays/relationships-browser/custom/edgeTypes.tsx +49 -0
  395. package/src/overlays/relationships-browser/custom/index.tsx +2 -0
  396. package/src/overlays/relationships-browser/custom/nodeTypes.tsx +109 -0
  397. package/src/overlays/relationships-browser/custom/styles.css.ts +13 -0
  398. package/src/overlays/relationships-browser/hooks.ts +48 -0
  399. package/src/overlays/relationships-browser/useViewToNodesEdges.ts +209 -0
  400. package/src/utils/index.ts +15 -0
  401. package/src/{xyflow/utils.ts → utils/xyflow.ts} +22 -8
  402. package/dist/_virtual/_commonjsHelpers.js +0 -6
  403. package/dist/controls/Text.d.ts +0 -2
  404. package/dist/controls/Text.js +0 -7
  405. package/dist/controls/action-button-bar/ActionButtonBar.css.d.ts +0 -1
  406. package/dist/controls/action-button-bar/ActionButtonBar.css.js +0 -5
  407. package/dist/controls/action-button-bar/ActionButtonBar.d.ts +0 -9
  408. package/dist/controls/action-button-bar/ActionButtonBar.js +0 -100
  409. package/dist/controls/action-button-bar/useActionButtonBarCtx.d.ts +0 -10
  410. package/dist/controls/action-button-bar/useActionButtonBarCtx.js +0 -9
  411. package/dist/controls/action-buttons/ActionButton.css.d.ts +0 -1
  412. package/dist/controls/action-buttons/ActionButton.css.js +0 -5
  413. package/dist/controls/action-buttons/ActionButton.d.ts +0 -9
  414. package/dist/controls/action-buttons/ActionButton.js +0 -66
  415. package/dist/controls/action-buttons/ActionButtons.d.ts +0 -12
  416. package/dist/controls/action-buttons/ActionButtons.js +0 -99
  417. package/dist/hooks/useDiagramState.d.ts +0 -6
  418. package/dist/hooks/useDiagramState.js +0 -27
  419. package/dist/overlays/OverlayContext.d.ts +0 -10
  420. package/dist/overlays/OverlayContext.js +0 -9
  421. package/dist/overlays/Overlays.css.d.ts +0 -3
  422. package/dist/overlays/Overlays.css.js +0 -7
  423. package/dist/overlays/edge-details/EdgeDetailsXYFlow.d.ts +0 -5
  424. package/dist/overlays/edge-details/EdgeDetailsXYFlow.js +0 -185
  425. package/dist/overlays/edge-details/SelectEdge.css.js +0 -17
  426. package/dist/overlays/edge-details/_types.d.ts +0 -14
  427. package/dist/overlays/edge-details/xyflow/CompoundNode.d.ts +0 -5
  428. package/dist/overlays/edge-details/xyflow/CompoundNode.js +0 -76
  429. package/dist/overlays/edge-details/xyflow/ElementNode.d.ts +0 -5
  430. package/dist/overlays/edge-details/xyflow/ElementNode.js +0 -159
  431. package/dist/overlays/edge-details/xyflow/RelationshipEdge.d.ts +0 -3
  432. package/dist/overlays/edge-details/xyflow/RelationshipEdge.js +0 -84
  433. package/dist/overlays/edge-details/xyflow/styles.css.d.ts +0 -9
  434. package/dist/overlays/edge-details/xyflow/styles.css.js +0 -21
  435. package/dist/overlays/index.d.ts +0 -1
  436. package/dist/overlays/relationships-of/RelationshipsOverlay.d.ts +0 -5
  437. package/dist/overlays/relationships-of/RelationshipsOverlay.js +0 -193
  438. package/dist/overlays/relationships-of/RelationshipsXYFlow.d.ts +0 -19
  439. package/dist/overlays/relationships-of/RelationshipsXYFlow.js +0 -290
  440. package/dist/overlays/relationships-of/SelectElement.css.js +0 -7
  441. package/dist/overlays/relationships-of/SelectElement.d.ts +0 -7
  442. package/dist/overlays/relationships-of/_types.d.ts +0 -28
  443. package/dist/overlays/relationships-of/use-layouted-relationships.d.ts +0 -22
  444. package/dist/overlays/relationships-of/use-layouted-relationships.js +0 -496
  445. package/dist/overlays/relationships-of/xyflow/CompoundNode.d.ts +0 -6
  446. package/dist/overlays/relationships-of/xyflow/CompoundNode.js +0 -120
  447. package/dist/overlays/relationships-of/xyflow/ElementNode.d.ts +0 -6
  448. package/dist/overlays/relationships-of/xyflow/ElementNode.js +0 -194
  449. package/dist/overlays/relationships-of/xyflow/EmptyNode.d.ts +0 -5
  450. package/dist/overlays/relationships-of/xyflow/RelationshipEdge.d.ts +0 -3
  451. package/dist/overlays/relationships-of/xyflow/RelationshipEdge.js +0 -123
  452. package/dist/overlays/relationships-of/xyflow/styles.css.d.ts +0 -14
  453. package/dist/overlays/relationships-of/xyflow/styles.css.js +0 -24
  454. package/dist/overlays/shared/xyflow/RelationshipEdge.css.d.ts +0 -4
  455. package/dist/overlays/shared/xyflow/RelationshipEdge.css.js +0 -12
  456. package/dist/overlays/shared/xyflow/_types.d.ts +0 -77
  457. package/dist/state/DiagramContext.d.ts +0 -1609
  458. package/dist/state/DiagramContext.js +0 -101
  459. package/dist/state/diagram-to-xyflow.d.ts +0 -11
  460. package/dist/state/diagram-to-xyflow.js +0 -113
  461. package/dist/state/diagramStore.d.ts +0 -1705
  462. package/dist/state/diagramStore.js +0 -808
  463. package/dist/state/diagramStore.layout.d.ts +0 -4
  464. package/dist/state/diagramStore.layout.js +0 -56
  465. package/dist/ui/DiagramTitlePanel.css.js +0 -11
  466. package/dist/ui/DiagramTitlePanel.d.ts +0 -1
  467. package/dist/ui/notation/NotationPanel.css.js +0 -16
  468. package/dist/ui/notation/NotationPanel.d.ts +0 -1
  469. package/dist/ui/top-left/TopLeftPanel.d.ts +0 -4
  470. package/dist/ui/top-left/TopLeftPanel.js +0 -211
  471. package/dist/ui/top-left/styles.css.js +0 -17
  472. package/dist/xyflow/FitviewOnDiagramChange.d.ts +0 -4
  473. package/dist/xyflow/FitviewOnDiagramChange.js +0 -72
  474. package/dist/xyflow/SelectEdgesOnNodeFocus.d.ts +0 -1
  475. package/dist/xyflow/SelectEdgesOnNodeFocus.js +0 -96
  476. package/dist/xyflow/XYFlow.d.ts +0 -8
  477. package/dist/xyflow/XYFlow.js +0 -145
  478. package/dist/xyflow/XYFlowBackground.d.ts +0 -10
  479. package/dist/xyflow/XYFlowInner.d.ts +0 -8
  480. package/dist/xyflow/XYFlowInner.js +0 -41
  481. package/dist/xyflow/edges/EdgeLabel.d.ts +0 -7
  482. package/dist/xyflow/edges/EdgeLabel.js +0 -160
  483. package/dist/xyflow/edges/RelationshipEdge.d.ts +0 -6
  484. package/dist/xyflow/edges/RelationshipEdge.js +0 -443
  485. package/dist/xyflow/edges/edges.css.js +0 -37
  486. package/dist/xyflow/edges/utils.d.ts +0 -16
  487. package/dist/xyflow/edges/utils.js +0 -24
  488. package/dist/xyflow/nodes/AnimateVariants.d.ts +0 -1313
  489. package/dist/xyflow/nodes/AnimateVariants.js +0 -123
  490. package/dist/xyflow/nodes/Node.css.d.ts +0 -3
  491. package/dist/xyflow/nodes/Node.css.js +0 -9
  492. package/dist/xyflow/nodes/compound/CompoundNode.css.d.ts +0 -14
  493. package/dist/xyflow/nodes/compound/CompoundNode.css.js +0 -27
  494. package/dist/xyflow/nodes/compound/CompoundNode.d.ts +0 -6
  495. package/dist/xyflow/nodes/compound/CompoundNode.js +0 -216
  496. package/dist/xyflow/nodes/compound/index.d.ts +0 -1
  497. package/dist/xyflow/nodes/element/ElementLink.css.d.ts +0 -3
  498. package/dist/xyflow/nodes/element/ElementLink.d.ts +0 -6
  499. package/dist/xyflow/nodes/element/ElementNode.d.ts +0 -6
  500. package/dist/xyflow/nodes/element/ElementNode.js +0 -190
  501. package/dist/xyflow/nodes/element/ElementShapeSvg.d.ts +0 -17
  502. package/dist/xyflow/nodes/element/element.css.d.ts +0 -18
  503. package/dist/xyflow/nodes/element/element.css.js +0 -31
  504. package/dist/xyflow/nodes/element/index.d.ts +0 -1
  505. package/dist/xyflow/nodes/shared/ElementIcon.d.ts +0 -8
  506. package/dist/xyflow/nodes/shared/Toolbar.d.ts +0 -9
  507. package/dist/xyflow/nodes/shared/Toolbar.js +0 -436
  508. package/dist/xyflow/types.d.ts +0 -36
  509. package/dist/xyflow/useXYFlowEvents.d.ts +0 -160
  510. package/dist/xyflow/useXYFlowEvents.js +0 -275
  511. package/src/controls/Text.ts +0 -5
  512. package/src/controls/action-button-bar/ActionButtonBar.css.ts +0 -13
  513. package/src/controls/action-button-bar/ActionButtonBar.tsx +0 -138
  514. package/src/controls/action-button-bar/useActionButtonBarCtx.ts +0 -13
  515. package/src/controls/action-buttons/ActionButton.css.ts +0 -29
  516. package/src/controls/action-buttons/ActionButton.tsx +0 -66
  517. package/src/controls/action-buttons/ActionButtons.tsx +0 -138
  518. package/src/hooks/useDiagramState.ts +0 -36
  519. package/src/overlays/OverlayContext.tsx +0 -11
  520. package/src/overlays/Overlays.css.ts +0 -136
  521. package/src/overlays/edge-details/EdgeDetailsXYFlow.tsx +0 -255
  522. package/src/overlays/edge-details/_types.ts +0 -18
  523. package/src/overlays/edge-details/xyflow/CompoundNode.tsx +0 -72
  524. package/src/overlays/edge-details/xyflow/ElementNode.tsx +0 -152
  525. package/src/overlays/edge-details/xyflow/RelationshipEdge.tsx +0 -85
  526. package/src/overlays/edge-details/xyflow/styles.css.ts +0 -144
  527. package/src/overlays/index.tsx +0 -1
  528. package/src/overlays/relationships-of/RelationshipsOverlay.tsx +0 -185
  529. package/src/overlays/relationships-of/RelationshipsXYFlow.tsx +0 -378
  530. package/src/overlays/relationships-of/_types.ts +0 -40
  531. package/src/overlays/relationships-of/use-layouted-relationships.ts +0 -699
  532. package/src/overlays/relationships-of/xyflow/CompoundNode.tsx +0 -124
  533. package/src/overlays/relationships-of/xyflow/ElementNode.tsx +0 -194
  534. package/src/overlays/relationships-of/xyflow/EmptyNode.tsx +0 -19
  535. package/src/overlays/relationships-of/xyflow/RelationshipEdge.tsx +0 -127
  536. package/src/overlays/relationships-of/xyflow/styles.css.ts +0 -214
  537. package/src/overlays/shared/xyflow/RelationshipEdge.css.ts +0 -60
  538. package/src/overlays/shared/xyflow/_types.ts +0 -87
  539. package/src/state/DiagramContext.tsx +0 -107
  540. package/src/state/diagram-to-xyflow.ts +0 -150
  541. package/src/state/diagramStore.layout.ts +0 -66
  542. package/src/state/diagramStore.ts +0 -1099
  543. package/src/ui/top-left/TopLeftPanel.tsx +0 -220
  544. package/src/xyflow/FitviewOnDiagramChange.tsx +0 -83
  545. package/src/xyflow/SelectEdgesOnNodeFocus.tsx +0 -106
  546. package/src/xyflow/XYFlow.tsx +0 -179
  547. package/src/xyflow/XYFlowInner.tsx +0 -48
  548. package/src/xyflow/edges/EdgeLabel.tsx +0 -193
  549. package/src/xyflow/edges/RelationshipEdge.tsx +0 -547
  550. package/src/xyflow/edges/edges.css.ts +0 -288
  551. package/src/xyflow/edges/utils.ts +0 -153
  552. package/src/xyflow/nodes/AnimateVariants.ts +0 -143
  553. package/src/xyflow/nodes/Node.css.ts +0 -44
  554. package/src/xyflow/nodes/compound/CompoundNode.css.ts +0 -258
  555. package/src/xyflow/nodes/compound/CompoundNode.tsx +0 -226
  556. package/src/xyflow/nodes/compound/index.ts +0 -1
  557. package/src/xyflow/nodes/element/ElementLink.css.ts +0 -67
  558. package/src/xyflow/nodes/element/ElementLink.tsx +0 -97
  559. package/src/xyflow/nodes/element/ElementNode.tsx +0 -208
  560. package/src/xyflow/nodes/element/element.css.ts +0 -369
  561. package/src/xyflow/nodes/element/index.ts +0 -1
  562. package/src/xyflow/nodes/shared/ElementIcon.tsx +0 -43
  563. package/src/xyflow/nodes/shared/Toolbar.tsx +0 -496
  564. package/src/xyflow/types.ts +0 -57
  565. package/src/xyflow/useXYFlowEvents.ts +0 -315
  566. /package/dist/{xyflow → base}/const.d.ts +0 -0
  567. /package/dist/{xyflow → base}/const.js +0 -0
  568. /package/dist/{ui → context}/EnsureMantine.d.ts +0 -0
  569. /package/dist/{ui → context}/EnsureMantine.js +0 -0
  570. /package/dist/{ui → context}/FramerMotionConfig.d.ts +0 -0
  571. /package/dist/{xyflow → likec4diagram/custom}/edges/RelationshipsDropdownMenu.css.d.ts +0 -0
  572. /package/dist/{ui/top-left → likec4diagram/ui/controls}/ChangeAutoLayoutButton.d.ts +0 -0
  573. /package/dist/{ui/top-left → likec4diagram/ui/controls}/ManualLayoutToolsButton.d.ts +0 -0
  574. /package/dist/{ui/top-left → likec4diagram/ui/controls}/_shared.d.ts +0 -0
  575. /package/dist/{ui → likec4diagram/ui/diagram-title}/DiagramTitlePanel.css.d.ts +0 -0
  576. /package/dist/{ui → likec4diagram/ui/diagram-title}/Link.js +0 -0
  577. /package/dist/{ui → likec4diagram/ui}/notation/NotationPanel.css.d.ts +0 -0
  578. /package/dist/{ui → likec4diagram/ui}/notation/index.d.ts +0 -0
  579. /package/dist/{ui → likec4diagram/ui/walkthrough}/DynamicViewWalkthrough.css.d.ts +0 -0
  580. /package/dist/{ui → likec4diagram/ui/walkthrough}/DynamicViewWalkthrough.d.ts +0 -0
  581. /package/src/{ui → context}/EnsureMantine.tsx +0 -0
  582. /package/src/{ui → likec4diagram/ui}/notation/index.ts +0 -0
@@ -1,41 +1,39 @@
1
- import { ActionIcon, Box, Button, FocusTrap, Group, Notification, RemoveScroll, Text } from '@mantine/core'
2
- import { useHotkeys } from '@mantine/hooks'
1
+ import { Box, Button, Code, Group, Notification } from '@mantine/core'
3
2
  import { IconX } from '@tabler/icons-react'
4
- import { ReactFlowProvider as XYFlowProvider } from '@xyflow/react'
5
- import { AnimatePresence, m } from 'framer-motion'
6
- import { memo, type PropsWithChildren, useEffect, useMemo, useRef } from 'react'
7
- import { ErrorBoundary, type FallbackProps } from 'react-error-boundary'
8
- import { isNullish } from 'remeda'
9
- import { type DiagramState, useDiagramState, useDiagramStoreApi } from '../hooks/useDiagramState'
10
- import { EdgeDetailsXYFlow } from './edge-details/EdgeDetailsXYFlow'
3
+ import { AnimatePresence, useReducedMotion } from 'framer-motion'
4
+ import { animate } from 'framer-motion/dom'
5
+ import { memo, useEffect, useMemo } from 'react'
6
+ import { type FallbackProps, ErrorBoundary } from 'react-error-boundary'
7
+ import { DiagramFeatures } from '../context'
8
+ import { useXYStore } from '../hooks'
9
+ import { useDiagramActor, useDiagramActorState } from '../hooks/useDiagramActor'
11
10
  import { ElementDetailsCard } from './element-details/ElementDetailsCard'
12
- import { OverlayContext, useOverlayDialog } from './OverlayContext'
13
- import * as css from './Overlays.css'
14
- import { RelationshipsOverlay } from './relationships-of/RelationshipsOverlay'
11
+ import { Overlay } from './overlay/Overlay'
12
+ import { RelationshipDetails } from './relationship-details/RelationshipDetails'
13
+ import { RelationshipsBrowser } from './relationships-browser/RelationshipsBrowser'
14
+ // import { EdgeDetailsXYFlow } from './edge-details/EdgeDetailsXYFlow'
15
+ // import { ElementDetailsCard } from './element-details/ElementDetailsCard'
16
+ // import { OverlayContext, useOverlayDialog } from './OverlayContext'
17
+ // import * as css from './Overlays.css'
18
+ // import { RelationshipsOverlay } from './relationships-of/RelationshipsOverlay'
15
19
 
16
20
  function Fallback({ error, resetErrorBoundary }: FallbackProps) {
17
- // Call resetErrorBoundary() to reset the error boundary and retry the render.
18
21
  const errorString = error instanceof Error ? error.message : 'Unknown error'
19
22
  return (
20
- <Box className={css.container} p={'lg'}>
23
+ <Box pos={'fixed'} top={0} left={0} w={'100%'} p={0} style={{ zIndex: 1000 }}>
21
24
  <Notification
22
25
  icon={<IconX style={{ width: 16, height: 16 }} />}
23
26
  styles={{
24
27
  icon: {
25
- alignSelf: 'flex-start'
26
- }
28
+ alignSelf: 'flex-start',
29
+ },
27
30
  }}
28
31
  color={'red'}
29
32
  title={'Oops, something went wrong'}
30
- py={'lg'}
33
+ p={'xl'}
31
34
  withCloseButton={false}>
32
- <Text
33
- style={{
34
- whiteSpace: 'preserve-breaks'
35
- }}>
36
- {errorString}
37
- </Text>
38
- <Group gap={'xs'} mt="sm">
35
+ <Code block>{errorString}</Code>
36
+ <Group gap={'xs'} mt="xl">
39
37
  <Button color="gray" size="xs" variant="light" onClick={() => resetErrorBoundary()}>Reset</Button>
40
38
  </Group>
41
39
  </Notification>
@@ -44,111 +42,167 @@ function Fallback({ error, resetErrorBoundary }: FallbackProps) {
44
42
  }
45
43
 
46
44
  export const Overlays = memo(() => {
47
- const diagramStore = useDiagramStoreApi()
45
+ const xyflowDomNode = useXYStore(s => s.domNode)
46
+ const xyflowRendererDom = useMemo(() => xyflowDomNode?.querySelector('.react-flow__renderer') ?? null, [
47
+ xyflowDomNode,
48
+ ])
49
+ const { send } = useDiagramActor()
48
50
  const {
49
- activeOverlay,
50
- viewId
51
- } = useDiagramState(s => ({
52
- activeOverlay: s.activeOverlay,
53
- viewId: s.view.id
51
+ relationshipsBrowserActor,
52
+ relationshipDetailsActor,
53
+ activeElementDetailsOf,
54
+ } = useDiagramActorState(s => ({
55
+ relationshipsBrowserActor: s.children.relationshipsBrowser,
56
+ relationshipDetailsActor: s.children.relationshipDetails,
57
+ activeElementDetailsOf: s.context.activeElementDetails?.fqn ?? null,
54
58
  }))
55
59
 
56
- const onCloseCbRef = useRef<(() => void)>()
60
+ const isMotionReduced = useReducedMotion() ?? false
57
61
 
58
- const ctxValue = useMemo(() => ({
59
- openOverlay: ((overlay) => {
60
- diagramStore.getState().openOverlay(overlay)
61
- }) as DiagramState['openOverlay'],
62
- close: (cb?: () => void) => {
63
- onCloseCbRef.current = cb
64
- diagramStore.getState().closeOverlay()
65
- }
66
- }), [diagramStore])
62
+ const isActiveOverlay = !!activeElementDetailsOf
67
63
 
68
- const onExitComplete = () => {
69
- onCloseCbRef.current?.()
70
- onCloseCbRef.current = undefined
71
- }
64
+ useEffect(() => {
65
+ if (!xyflowRendererDom || isMotionReduced) return
66
+ animate(xyflowRendererDom, {
67
+ opacity: isActiveOverlay ? 0.7 : 1,
68
+ filter: isActiveOverlay ? 'grayscale(1)' : 'grayscale(0)',
69
+ transform: isActiveOverlay ? `perspective(400px) translateZ(-12px) translateY(3px)` : `translateY(0)`,
70
+ }, {
71
+ duration: isActiveOverlay ? 0.35 : 0.17,
72
+ })
73
+ }, [isActiveOverlay, xyflowRendererDom])
72
74
 
73
- const isActive = !!activeOverlay
74
- useHotkeys(
75
- isActive
76
- ? [
77
- ['Escape', (e) => {
78
- e.stopPropagation()
79
- ctxValue.close()
80
- }, { preventDefault: true }]
81
- ]
82
- : []
83
- )
75
+ // )
76
+ // const diagramStore = useDiagramStoreApi()
77
+ // const {
78
+ // activeOverlay,
79
+ // viewId,
80
+ // } = useDiagramState(s => ({
81
+ // activeOverlay: s.activeOverlay,
82
+ // viewId: s.view.id,
83
+ // }))
84
+
85
+ // const onCloseCbRef = useRef<(() => void)>(undefined)
86
+
87
+ // const ctxValue = useMemo(() => ({
88
+ // openOverlay: ((overlay) => {
89
+ // diagramStore.getState().openOverlay(overlay)
90
+ // }) as DiagramState['openOverlay'],
91
+ // close: (cb?: () => void) => {
92
+ // onCloseCbRef.current = cb
93
+ // diagramStore.getState().closeOverlay()
94
+ // },
95
+ // }), [diagramStore])
96
+
97
+ // const onExitComplete = () => {
98
+ // onCloseCbRef.current?.()
99
+ // onCloseCbRef.current = undefined
100
+ // }
101
+
102
+ // const isActive = !!activeOverlay
103
+ // useHotkeys(
104
+ // isActive
105
+ // ? [
106
+ // ['Escape', (e) => {
107
+ // e.stopPropagation()
108
+ // ctxValue.close()
109
+ // }, { preventDefault: true }],
110
+ // ]
111
+ // : [],
112
+ // )
84
113
 
85
114
  return (
86
- <OverlayContext.Provider value={ctxValue}>
87
- <ErrorBoundary FallbackComponent={Fallback} onReset={() => ctxValue.close()}>
88
- <AnimatePresence initial={false} key={viewId} onExitComplete={onExitComplete}>
89
- {activeOverlay?.elementDetails && (
90
- <ElementDetailsCard key={'details card'} fqn={activeOverlay.elementDetails} />
115
+ <DiagramFeatures.Overlays>
116
+ <ErrorBoundary FallbackComponent={Fallback} onReset={() => send({ type: 'close.overlay' })}>
117
+ <AnimatePresence>
118
+ {relationshipsBrowserActor && (
119
+ <Overlay
120
+ key={'relationships-browser'}
121
+ onClose={() => {
122
+ relationshipsBrowserActor.send({ type: 'close' })
123
+ }}>
124
+ <RelationshipsBrowser actorRef={relationshipsBrowserActor} />
125
+ </Overlay>
91
126
  )}
92
- </AnimatePresence>
93
- <AnimatePresence initial={false} onExitComplete={onExitComplete}>
94
- {activeOverlay && isNullish(activeOverlay.elementDetails) && (
95
- <RemoveScroll forwardProps>
96
- <Box
97
- component={m.div}
98
- className={css.container}
99
- data-likec4-color="gray"
100
- initial={{
101
- '--backdrop-blur': '0px',
102
- '--backdrop-opacity': '0%',
103
- opacity: 0,
104
- translateY: -15
105
- }}
106
- animate={{
107
- '--backdrop-blur': '10px',
108
- '--backdrop-opacity': '70%',
109
- opacity: 1,
110
- translateY: 0
111
- }}
112
- exit={{
113
- '--backdrop-blur': '1px',
114
- '--backdrop-opacity': '0%',
115
- translateY: -5,
116
- opacity: 0,
117
- transition: {
118
- duration: .2
119
- }
120
- }}
121
- >
122
- <FocusTrap>
123
- {activeOverlay.relationshipsOf && <RelationshipsOverlay subjectId={activeOverlay.relationshipsOf} />}
124
- {activeOverlay.edgeDetails && (
125
- <XYFlowProvider
126
- defaultNodes={[]}
127
- defaultEdges={[]}>
128
- <EdgeDetailsXYFlow edgeId={activeOverlay.edgeDetails} />
129
- </XYFlowProvider>
130
- )}
131
- <Box pos={'absolute'} top={'1rem'} right={'1rem'}>
132
- <ActionIcon
133
- variant="default"
134
- // color="gray"
135
- size={'lg'}
136
- // data-autofocus
137
- // autoFocus
138
- onClick={(e) => {
139
- e.stopPropagation()
140
- ctxValue.close()
141
- }}>
142
- <IconX />
143
- </ActionIcon>
144
- </Box>
145
- </FocusTrap>
146
- </Box>
147
- </RemoveScroll>
127
+ {relationshipDetailsActor && (
128
+ <Overlay
129
+ key={'relationship-details'}
130
+ onClose={() => {
131
+ relationshipDetailsActor.send({ type: 'close' })
132
+ }}>
133
+ <RelationshipDetails actorRef={relationshipDetailsActor} />
134
+ </Overlay>
148
135
  )}
136
+ {activeElementDetailsOf && <ElementDetailsCard fqn={activeElementDetailsOf} />}
149
137
  </AnimatePresence>
150
138
  </ErrorBoundary>
151
- </OverlayContext.Provider>
139
+ </DiagramFeatures.Overlays>
140
+ // <OverlayContext.Provider value={ctxValue}>
141
+ // <ErrorBoundary FallbackComponent={Fallback} onReset={() => ctxValue.close()}>
142
+ // <AnimatePresence initial={false} key={viewId} onExitComplete={onExitComplete}>
143
+ // {activeOverlay?.elementDetails && (
144
+ // <ElementDetailsCard key={'details card'} fqn={activeOverlay.elementDetails} />
145
+ // )}
146
+ // </AnimatePresence>
147
+ // <AnimatePresence initial={false} onExitComplete={onExitComplete}>
148
+ // {activeOverlay && isNullish(activeOverlay.elementDetails) && (
149
+ // <RemoveScroll forwardProps>
150
+ // <Box
151
+ // component={m.div}
152
+ // className={css.container}
153
+ // data-likec4-color="gray"
154
+ // initial={{
155
+ // '--backdrop-blur': '0px',
156
+ // '--backdrop-opacity': '0%',
157
+ // opacity: 0,
158
+ // translateY: -15,
159
+ // }}
160
+ // animate={{
161
+ // '--backdrop-blur': '10px',
162
+ // '--backdrop-opacity': '70%',
163
+ // opacity: 1,
164
+ // translateY: 0,
165
+ // }}
166
+ // exit={{
167
+ // '--backdrop-blur': '1px',
168
+ // '--backdrop-opacity': '0%',
169
+ // translateY: -5,
170
+ // opacity: 0,
171
+ // transition: {
172
+ // duration: .2,
173
+ // },
174
+ // }}
175
+ // >
176
+ // <FocusTrap>
177
+ // {activeOverlay.relationshipsOf && <RelationshipsOverlay subjectId={activeOverlay.relationshipsOf} />}
178
+ // {activeOverlay.edgeDetails && (
179
+ // <XYFlowProvider
180
+ // defaultNodes={[]}
181
+ // defaultEdges={[]}>
182
+ // <EdgeDetailsXYFlow edgeId={activeOverlay.edgeDetails} />
183
+ // </XYFlowProvider>
184
+ // )}
185
+ // <Box pos={'absolute'} top={'1rem'} right={'1rem'}>
186
+ // <ActionIcon
187
+ // variant="default"
188
+ // // color="gray"
189
+ // size={'lg'}
190
+ // // data-autofocus
191
+ // // autoFocus
192
+ // onClick={(e) => {
193
+ // e.stopPropagation()
194
+ // ctxValue.close()
195
+ // }}>
196
+ // <IconX />
197
+ // </ActionIcon>
198
+ // </Box>
199
+ // </FocusTrap>
200
+ // </Box>
201
+ // </RemoveScroll>
202
+ // )}
203
+ // </AnimatePresence>
204
+ // </ErrorBoundary>
205
+ // </OverlayContext.Provider>
152
206
  )
153
207
  })
154
208
 
@@ -263,33 +317,33 @@ export const Overlays = memo(() => {
263
317
  // </Box>
264
318
  // )
265
319
  // }
266
- const OverlayDialog = ({ children }: PropsWithChildren) => {
267
- const overlay = useOverlayDialog()
268
- const ref = useRef<HTMLDialogElement>(null)
269
- useEffect(() => {
270
- ref.current?.showModal()
271
- }, [])
272
- return (
273
- <m.dialog
274
- ref={ref}
275
- exit={{
276
- opacity: 0,
277
- transition: {
278
- duration: .15
279
- }
280
- }}
281
- onClick={e => {
282
- if ((e.target as any)?.nodeName?.toUpperCase() === 'DIALOG') {
283
- e.stopPropagation()
284
- ref.current?.close()
285
- }
286
- }}
287
- onClose={e => {
288
- e.stopPropagation()
289
- overlay.close()
290
- }}
291
- >
292
- {children}
293
- </m.dialog>
294
- )
295
- }
320
+ // const OverlayDialog = ({ children }: PropsWithChildren) => {
321
+ // const overlay = useOverlayDialog()
322
+ // const ref = useRef<HTMLDialogElement>(null)
323
+ // useEffect(() => {
324
+ // ref.current?.showModal()
325
+ // }, [])
326
+ // return (
327
+ // <m.dialog
328
+ // ref={ref}
329
+ // exit={{
330
+ // opacity: 0,
331
+ // transition: {
332
+ // duration: .15,
333
+ // },
334
+ // }}
335
+ // onClick={e => {
336
+ // if ((e.target as any)?.nodeName?.toUpperCase() === 'DIALOG') {
337
+ // e.stopPropagation()
338
+ // ref.current?.close()
339
+ // }
340
+ // }}
341
+ // onClose={e => {
342
+ // e.stopPropagation()
343
+ // overlay.close()
344
+ // }}
345
+ // >
346
+ // {children}
347
+ // </m.dialog>
348
+ // )
349
+ // }
@@ -19,15 +19,15 @@ export const dialog = style({
19
19
  border: '0 solid transparent',
20
20
  vars: {
21
21
  '--backdrop-opacity': '0%',
22
- '--backdrop-blur': '0px'
22
+ '--backdrop-blur': '0px',
23
23
  },
24
24
  selectors: {
25
25
  [`&::backdrop`]: {
26
26
  WebkitBackdropFilter: 'blur(var(--backdrop-blur))',
27
27
  backdropFilter: 'blur(var(--backdrop-blur))',
28
- backgroundColor: `rgb(36 36 36 / var(--backdrop-opacity))`
29
- }
30
- }
28
+ backgroundColor: `rgb(36 36 36 / var(--backdrop-opacity))`,
29
+ },
30
+ },
31
31
  })
32
32
  export const card = style({
33
33
  position: 'absolute',
@@ -36,7 +36,7 @@ export const card = style({
36
36
  justifyContent: 'stretch',
37
37
  vars: {
38
38
  [cardBg]: mantine.colors.body,
39
- [cardBgImage]: `linear-gradient(180deg, ${vars.element.fill}, ${vars.element.fill} 4px, transparent 4px)`
39
+ [cardBgImage]: `linear-gradient(180deg, ${vars.element.fill}, ${vars.element.fill} 4px, transparent 4px)`,
40
40
  },
41
41
  backgroundColor: cardBg,
42
42
  backgroundImage: cardBgImage,
@@ -48,19 +48,19 @@ export const card = style({
48
48
  [cardBgImage]: `
49
49
  linear-gradient(180deg, color-mix(in srgb, ${vars.element.fill} 15%, transparent), transparent 80px),
50
50
  linear-gradient(180deg, ${vars.element.fill}, ${vars.element.fill} 4px, transparent 4px)
51
- `
52
- }
53
- }
54
- }
51
+ `,
52
+ },
53
+ },
54
+ },
55
55
  })
56
56
 
57
57
  export const cardHeader = style({
58
58
  flex: 0,
59
- cursor: 'move'
59
+ cursor: 'move',
60
60
  })
61
61
 
62
62
  globalStyle(`:where(${card}) .react-flow__attribution`, {
63
- display: 'none'
63
+ display: 'none',
64
64
  })
65
65
 
66
66
  export const title = style({
@@ -71,7 +71,7 @@ export const title = style({
71
71
  fontWeight: 600,
72
72
  fontSize: 24,
73
73
  // lineHeight: 1.15,
74
- lineHeight: mantine.lineHeights.xs
74
+ lineHeight: mantine.lineHeights.xs,
75
75
  // color: vars.element.hiContrast
76
76
  })
77
77
 
@@ -87,9 +87,9 @@ export const elementIcon = style({
87
87
  cursor: 'move',
88
88
  selectors: {
89
89
  [`${whereDark} &`]: {
90
- mixBlendMode: 'hard-light'
91
- }
92
- }
90
+ mixBlendMode: 'hard-light',
91
+ },
92
+ },
93
93
  })
94
94
  globalStyle(`${elementIcon} svg, ${elementIcon} img`, {
95
95
  width: '100%',
@@ -100,10 +100,10 @@ globalStyle(`${elementIcon} svg, ${elementIcon} img`, {
100
100
  drop-shadow(0 0 3px rgb(0 0 0 / 10%))
101
101
  drop-shadow(0 1px 8px rgb(0 0 0 / 5%))
102
102
  drop-shadow(1px 1px 16px rgb(0 0 0 / 2%))
103
- `
103
+ `,
104
104
  })
105
105
  globalStyle(`${elementIcon} img`, {
106
- objectFit: 'contain'
106
+ objectFit: 'contain',
107
107
  })
108
108
 
109
109
  const viewTitleColor = createVar('view-title-color')
@@ -119,51 +119,51 @@ export const viewButton = style({
119
119
  transition: transitions.fast,
120
120
  border: `1px solid ${mantine.colors.defaultBorder}`,
121
121
  vars: {
122
- [viewTitleColor]: mantine.colors.dark[1]
122
+ [viewTitleColor]: mantine.colors.dark[1],
123
123
  },
124
124
  ':hover': {
125
125
  background: mantine.colors.defaultHover,
126
126
  vars: {
127
127
  [iconColor]: mantine.colors.dark[1],
128
- [viewTitleColor]: mantine.colors.defaultColor
129
- }
128
+ [viewTitleColor]: mantine.colors.defaultColor,
129
+ },
130
130
  },
131
131
  selectors: {
132
132
  [`${whereDark} &`]: {
133
- background: mantine.colors.dark[6]
133
+ background: mantine.colors.dark[6],
134
134
  },
135
135
  [`${whereLight} &`]: {
136
136
  vars: {
137
137
  [iconColor]: mantine.colors.gray[6],
138
- [viewTitleColor]: mantine.colors.gray[7]
139
- }
138
+ [viewTitleColor]: mantine.colors.gray[7],
139
+ },
140
140
  },
141
141
  [`${whereLight} &:hover`]: {
142
142
  vars: {
143
- [iconColor]: mantine.colors.gray[7]
144
- }
145
- }
146
- }
143
+ [iconColor]: mantine.colors.gray[7],
144
+ },
145
+ },
146
+ },
147
147
  })
148
148
 
149
149
  globalStyle(`${viewButton} .mantine-ThemeIcon-root`, {
150
150
  transition: transitions.fast,
151
151
  color: fallbackVar(iconColor, mantine.colors.dark[2]),
152
152
  vars: {
153
- '--ti-size': '22px'
154
- }
153
+ '--ti-size': '22px',
154
+ },
155
155
  })
156
156
 
157
157
  globalStyle(`${viewButton} .mantine-ThemeIcon-root:hover`, {
158
- color: mantine.colors.defaultColor
158
+ color: mantine.colors.defaultColor,
159
159
  })
160
160
 
161
161
  globalStyle(`${viewButton} > *`, {
162
- transition: `all 130ms ${easings.inOut}`
162
+ transition: `all 130ms ${easings.inOut}`,
163
163
  })
164
164
  globalStyle(`${viewButton}:hover > *`, {
165
165
  transitionTimingFunction: easings.out,
166
- transform: 'translateX(1.6px)'
166
+ transform: 'translateX(1.6px)',
167
167
  })
168
168
 
169
169
  export const viewButtonTitle = style({
@@ -171,7 +171,7 @@ export const viewButtonTitle = style({
171
171
  color: fallbackVar(viewTitleColor, mantine.colors.gray[7]),
172
172
  fontSize: 15,
173
173
  fontWeight: 500,
174
- lineHeight: 1.4
174
+ lineHeight: 1.4,
175
175
  })
176
176
  // globalStyle(`${viewButton} .tabler-icon`, {
177
177
  // width: '85%',
@@ -191,7 +191,7 @@ export const tabsRoot = style({
191
191
  flexDirection: 'column',
192
192
  justifyContent: 'stretch',
193
193
  overflow: 'hidden',
194
- gap: mantine.spacing.sm
194
+ gap: mantine.spacing.sm,
195
195
  })
196
196
 
197
197
  export const tabsList = style({
@@ -203,9 +203,9 @@ export const tabsList = style({
203
203
  padding: 4,
204
204
  selectors: {
205
205
  [`${whereDark} &`]: {
206
- background: mantine.colors.dark[7]
207
- }
208
- }
206
+ background: mantine.colors.dark[7],
207
+ },
208
+ },
209
209
  })
210
210
 
211
211
  export const tabsTab = style({
@@ -219,46 +219,46 @@ export const tabsTab = style({
219
219
  ':hover': {
220
220
  transitionTimingFunction: easings.out,
221
221
  color: mantine.colors.defaultColor,
222
- background: mantine.colors.gray[3]
222
+ background: mantine.colors.gray[3],
223
223
  },
224
224
  selectors: {
225
225
  ['&[data-active]']: {
226
226
  transition: 'none',
227
227
  background: mantine.colors.white,
228
228
  boxShadow: mantine.shadows.xs,
229
- color: mantine.colors.defaultColor
229
+ color: mantine.colors.defaultColor,
230
230
  },
231
231
  [`${whereDark} &`]: {
232
- color: mantine.colors.dark[1]
232
+ color: mantine.colors.dark[1],
233
233
  },
234
234
  [`${whereDark} &:hover`]: {
235
235
  color: mantine.colors.white,
236
- background: mantine.colors.dark[6]
236
+ background: mantine.colors.dark[6],
237
237
  },
238
238
  [`${whereDark} &:is([data-active])`]: {
239
239
  color: mantine.colors.white,
240
- background: mantine.colors.dark[5]
241
- }
242
- }
240
+ background: mantine.colors.dark[5],
241
+ },
242
+ },
243
243
  })
244
244
 
245
245
  export const tabsPanel = style({
246
246
  flex: 1,
247
247
  overflow: 'hidden',
248
- position: 'relative'
248
+ position: 'relative',
249
249
  })
250
250
 
251
251
  globalStyle(`${tabsPanel}:not(:has(.mantine-ScrollArea-root))`, {
252
252
  paddingLeft: 4,
253
- paddingRight: 4
253
+ paddingRight: 4,
254
254
  })
255
255
  globalStyle(`${tabsPanel} .mantine-ScrollArea-root`, {
256
256
  width: '100%',
257
- height: '100%'
257
+ height: '100%',
258
258
  })
259
259
  globalStyle(`${tabsPanel} .mantine-ScrollArea-viewport > div`, {
260
260
  paddingLeft: 4,
261
- paddingRight: 4
261
+ paddingRight: 4,
262
262
  })
263
263
 
264
264
  export const propertiesGrid = style({
@@ -268,11 +268,11 @@ export const propertiesGrid = style({
268
268
  gridAutoRows: 'min-content max-content',
269
269
  gap: `${rem(20)} ${rem(16)}`,
270
270
  alignItems: 'baseline',
271
- justifyItems: 'stretch'
271
+ justifyItems: 'stretch',
272
272
  })
273
273
 
274
274
  export const propertyLabel = style({
275
- justifySelf: 'end'
275
+ justifySelf: 'end',
276
276
  })
277
277
 
278
278
  export const elementLink = style({
@@ -287,20 +287,20 @@ export const elementLink = style({
287
287
  transitionTimingFunction: easings.out,
288
288
  borderStyle: 'solid',
289
289
  color: mantine.colors.defaultColor,
290
- background: mantine.colors.defaultHover
290
+ background: mantine.colors.defaultHover,
291
291
  },
292
292
  selectors: {
293
293
  [`${whereDark} &`]: {
294
- color: mantine.colors.dark[1]
295
- }
296
- }
294
+ color: mantine.colors.dark[1],
295
+ },
296
+ },
297
297
  })
298
298
  globalStyle(`${elementLink} > *`, {
299
- transition: transitions.fast
299
+ transition: transitions.fast,
300
300
  })
301
301
  globalStyle(`${elementLink}:hover > *`, {
302
302
  transitionTimingFunction: easings.out,
303
- transform: 'translateX(1px)'
303
+ transform: 'translateX(1px)',
304
304
  })
305
305
 
306
306
  export const resizeHandle = style({
@@ -317,6 +317,6 @@ export const resizeHandle = style({
317
317
  cursor: 'se-resize',
318
318
  ':hover': {
319
319
  borderWidth: 4,
320
- borderColor: mantine.colors.dark[1]
321
- }
320
+ borderColor: mantine.colors.dark[1],
321
+ },
322
322
  })