@likec4/diagram 1.24.0 → 1.25.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 (285) hide show
  1. package/dist/LikeC4Diagram.css.d.ts +3 -0
  2. package/dist/LikeC4Diagram.d.ts +3 -2
  3. package/dist/LikeC4Diagram.js +74 -60
  4. package/dist/LikeC4Diagram.props.d.ts +11 -0
  5. package/dist/StaticLikeC4Diagram.d.ts +1 -1
  6. package/dist/base/BaseXYFlow.d.ts +1 -1
  7. package/dist/base/BaseXYFlow.js +25 -5
  8. package/dist/base/const.d.ts +4 -4
  9. package/dist/base/const.js +4 -4
  10. package/dist/base/primitives/compound/CompoundActionButton.css.d.ts +0 -1
  11. package/dist/base/primitives/compound/CompoundActionButton.css.js +2 -3
  12. package/dist/base/primitives/compound/CompoundActionButton.js +9 -15
  13. package/dist/base/primitives/compound/CompoundDetailsButton.css.js +1 -2
  14. package/dist/base/primitives/compound/CompoundDetailsButton.js +8 -14
  15. package/dist/base/primitives/compound/CompoundNodeContainer.css.d.ts +0 -1
  16. package/dist/base/primitives/compound/CompoundNodeContainer.css.js +2 -4
  17. package/dist/base/primitives/compound/CompoundNodeContainer.js +37 -24
  18. package/dist/base/primitives/compound/CompoundTitle.css.js +2 -1
  19. package/dist/base/primitives/compound/CompoundTitle.js +1 -1
  20. package/dist/base/primitives/customNode.js +1 -1
  21. package/dist/base/primitives/edge/EdgeContainer.d.ts +2 -1
  22. package/dist/base/primitives/edge/EdgeContainer.js +21 -17
  23. package/dist/base/primitives/edge/EdgeLabel.css.d.ts +0 -1
  24. package/dist/base/primitives/edge/EdgeLabel.css.js +1 -5
  25. package/dist/base/primitives/edge/EdgeLabel.js +9 -12
  26. package/dist/base/primitives/edge/EdgePath.js +13 -5
  27. package/dist/base/primitives/edge/edge.css.d.ts +1 -1
  28. package/dist/base/primitives/edge/edge.css.js +2 -4
  29. package/dist/base/primitives/element/ElementActionButtons.css.js +1 -0
  30. package/dist/base/primitives/element/ElementActionButtons.js +4 -3
  31. package/dist/base/primitives/element/ElementDetailsButton.css.js +1 -2
  32. package/dist/base/primitives/element/ElementDetailsButton.js +9 -15
  33. package/dist/base/primitives/element/ElementNodeContainer.css.js +1 -0
  34. package/dist/base/primitives/element/ElementShape.css.js +3 -2
  35. package/dist/base/primitives/element/ElementShape.js +2 -3
  36. package/dist/base/primitives/element/ElementTitle.css.d.ts +2 -0
  37. package/dist/base/primitives/element/ElementTitle.css.js +2 -2
  38. package/dist/base/primitives/element/ElementTitle.js +7 -7
  39. package/dist/components/SearchControl.css.d.ts +1 -0
  40. package/dist/components/SearchControl.css.js +3 -1
  41. package/dist/components/SearchControl.js +3 -3
  42. package/dist/context/ControlsCustomLayout.d.ts +13 -0
  43. package/dist/context/ControlsCustomLayout.js +10 -0
  44. package/dist/context/FramerMotionConfig.d.ts +9 -1
  45. package/dist/context/FramerMotionConfig.js +5 -2
  46. package/dist/context/RootContainer.d.ts +2 -1
  47. package/dist/context/RootContainer.js +13 -2
  48. package/dist/diagram.css +1 -1
  49. package/dist/hooks/safeContext.js +1 -0
  50. package/dist/hooks/useDiagram.d.ts +954 -1865
  51. package/dist/hooks/useDiagram.js +7 -1
  52. package/dist/hooks/useIsReducedGraphics.d.ts +4 -0
  53. package/dist/hooks/useIsReducedGraphics.js +8 -0
  54. package/dist/hooks/useXYFlow.js +1 -1
  55. package/dist/index.d.ts +1 -0
  56. package/dist/likec4diagram/DiagramUI.d.ts +2 -1
  57. package/dist/likec4diagram/DiagramUI.js +5 -3
  58. package/dist/likec4diagram/XYFlow.d.ts +3 -7
  59. package/dist/likec4diagram/XYFlow.js +13 -6
  60. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +30 -25
  61. package/dist/likec4diagram/custom/edges/edges.css.d.ts +1 -0
  62. package/dist/likec4diagram/custom/edges/edges.css.js +5 -3
  63. package/dist/likec4diagram/custom/index.d.ts +9 -1
  64. package/dist/likec4diagram/custom/index.js +10 -1
  65. package/dist/likec4diagram/custom/nodes/nodeTypes.d.ts +5 -7
  66. package/dist/likec4diagram/custom/nodes/nodeTypes.js +60 -58
  67. package/dist/likec4diagram/ui/controls/Controls.js +110 -71
  68. package/dist/likec4diagram/ui/controls/NavigationButtons.js +14 -22
  69. package/dist/likec4diagram/ui/controls/_shared.js +1 -1
  70. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.d.ts +0 -1
  71. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +3 -5
  72. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +5 -7
  73. package/dist/likec4diagram/ui/notation/NotationPanel.css.d.ts +1 -0
  74. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +6 -4
  75. package/dist/likec4diagram/ui/notation/NotationPanel.js +2 -2
  76. package/dist/likec4diagram/ui/search/SearchInput.js +1 -1
  77. package/dist/likec4diagram/ui/search/ViewsColum.js +1 -2
  78. package/dist/likec4diagram/ui/search/ViewsColumn.css.d.ts +1 -1
  79. package/dist/likec4diagram/ui/search/ViewsColumn.css.js +2 -0
  80. package/dist/likec4model/useLikeC4Model.js +0 -1
  81. package/dist/node_modules/.pnpm/@mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.module.css.mjs.vanilla.css.js +1 -0
  82. package/dist/overlays/element-details/ElementDetailsCard.css.d.ts +2 -0
  83. package/dist/overlays/element-details/ElementDetailsCard.css.js +18 -14
  84. package/dist/overlays/element-details/ElementDetailsCard.js +21 -14
  85. package/dist/overlays/element-details/actor.d.ts +9084 -2569
  86. package/dist/overlays/overlay/Overlay.css.d.ts +2 -0
  87. package/dist/overlays/overlay/Overlay.css.js +93 -89
  88. package/dist/overlays/overlay/Overlay.js +16 -10
  89. package/dist/overlays/relationship-details/RelationshipDetails.js +31 -17
  90. package/dist/overlays/relationship-details/actor.d.ts +228 -3
  91. package/dist/overlays/relationship-details/actor.js +86 -14
  92. package/dist/overlays/relationship-details/hooks.d.ts +3 -0
  93. package/dist/overlays/relationship-details/hooks.js +6 -2
  94. package/dist/overlays/relationship-details/useLayoutedDetails.js +4 -3
  95. package/dist/overlays/relationships-browser/-useRelationshipsView.js +12 -3
  96. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +12 -3
  97. package/dist/overlays/relationships-browser/actor.d.ts +271 -54
  98. package/dist/overlays/relationships-browser/actor.js +86 -23
  99. package/dist/state/DiagramActorProvider.js +12 -2
  100. package/dist/state/assign.js +15 -1
  101. package/dist/state/diagram-machine.d.ts +971 -1872
  102. package/dist/state/diagram-machine.js +127 -121
  103. package/dist/state/persistence.d.ts +5 -0
  104. package/dist/state/persistence.js +23 -0
  105. package/dist/theme-vars.css.d.ts +0 -9
  106. package/dist/theme-vars.d.ts +13 -1
  107. package/dist/theme-vars.js +3 -1
  108. package/dist/utils/css.d.ts +1 -0
  109. package/dist/utils/css.js +10 -0
  110. package/package.json +22 -14
  111. package/src/LikeC4Diagram.css.ts +145 -7
  112. package/src/LikeC4Diagram.props.ts +13 -0
  113. package/src/LikeC4Diagram.tsx +46 -27
  114. package/src/StaticLikeC4Diagram.tsx +1 -0
  115. package/src/base/BaseXYFlow.tsx +31 -11
  116. package/src/base/const.ts +4 -4
  117. package/src/base/primitives/compound/CompoundActionButton.css.ts +9 -12
  118. package/src/base/primitives/compound/CompoundActionButton.tsx +10 -14
  119. package/src/base/primitives/compound/CompoundDetailsButton.css.ts +4 -2
  120. package/src/base/primitives/compound/CompoundDetailsButton.tsx +8 -12
  121. package/src/base/primitives/compound/CompoundNodeContainer.css.ts +42 -59
  122. package/src/base/primitives/compound/CompoundNodeContainer.tsx +44 -24
  123. package/src/base/primitives/compound/CompoundTitle.css.ts +14 -13
  124. package/src/base/primitives/customNode.ts +4 -3
  125. package/src/base/primitives/edge/EdgeContainer.tsx +27 -13
  126. package/src/base/primitives/edge/EdgeLabel.css.ts +34 -24
  127. package/src/base/primitives/edge/EdgeLabel.tsx +10 -13
  128. package/src/base/primitives/edge/EdgePath.tsx +28 -16
  129. package/src/base/primitives/edge/edge.css.ts +54 -33
  130. package/src/base/primitives/element/ElementActionButtons.css.ts +5 -1
  131. package/src/base/primitives/element/ElementActionButtons.tsx +4 -2
  132. package/src/base/primitives/element/ElementDetailsButton.css.ts +6 -10
  133. package/src/base/primitives/element/ElementDetailsButton.tsx +9 -13
  134. package/src/base/primitives/element/ElementNodeContainer.css.ts +64 -18
  135. package/src/base/primitives/element/ElementNodeContainer.tsx +1 -0
  136. package/src/base/primitives/element/ElementShape.css.ts +24 -8
  137. package/src/base/primitives/element/ElementShape.tsx +2 -2
  138. package/src/base/primitives/element/ElementTitle.css.ts +4 -1
  139. package/src/base/primitives/element/ElementTitle.tsx +5 -4
  140. package/src/base/primitives/element/vars.css.ts +5 -0
  141. package/src/components/Link.css.ts +1 -1
  142. package/src/components/SearchControl.css.ts +25 -10
  143. package/src/components/SearchControl.tsx +2 -2
  144. package/src/context/ControlsCustomLayout.ts +16 -0
  145. package/src/context/FramerMotionConfig.tsx +13 -2
  146. package/src/context/RootContainer.tsx +13 -4
  147. package/src/hooks/safeContext.tsx +2 -1
  148. package/src/hooks/useDiagram.ts +1 -0
  149. package/src/hooks/useIsReducedGraphics.ts +5 -0
  150. package/src/hooks/useXYFlow.ts +1 -1
  151. package/src/index.ts +1 -0
  152. package/src/likec4diagram/DiagramUI.tsx +5 -3
  153. package/src/likec4diagram/XYFlow.tsx +9 -3
  154. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +32 -21
  155. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.tsx +1 -1
  156. package/src/likec4diagram/custom/edges/edges.css.ts +15 -0
  157. package/src/likec4diagram/custom/index.tsx +14 -1
  158. package/src/likec4diagram/custom/nodes/nodeTypes.tsx +61 -59
  159. package/src/likec4diagram/ui/controls/Controls.tsx +102 -61
  160. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +19 -20
  161. package/src/likec4diagram/ui/controls/styles.css.ts +17 -2
  162. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +13 -11
  163. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +7 -5
  164. package/src/likec4diagram/ui/notation/NotationPanel.css.ts +14 -1
  165. package/src/likec4diagram/ui/notation/NotationPanel.tsx +1 -1
  166. package/src/likec4diagram/ui/search/ElementsColumn.css.ts +1 -2
  167. package/src/likec4diagram/ui/search/ElementsColumn.tsx +1 -1
  168. package/src/likec4diagram/ui/search/LikeC4Search.css.ts +1 -2
  169. package/src/likec4diagram/ui/search/SearchInput.tsx +1 -1
  170. package/src/likec4diagram/ui/search/ViewsColum.tsx +1 -2
  171. package/src/likec4diagram/ui/search/ViewsColumn.css.ts +1 -1
  172. package/src/likec4diagram/ui/search/_shared.css.ts +2 -3
  173. package/src/likec4model/useLikeC4Model.ts +1 -1
  174. package/src/overlays/element-details/ElementDetailsCard.css.ts +8 -5
  175. package/src/overlays/element-details/ElementDetailsCard.tsx +249 -238
  176. package/src/overlays/overlay/Overlay.css.ts +12 -16
  177. package/src/overlays/overlay/Overlay.tsx +16 -9
  178. package/src/overlays/relationship-details/RelationshipDetails.tsx +83 -70
  179. package/src/overlays/relationship-details/actor.ts +106 -13
  180. package/src/overlays/relationship-details/hooks.ts +6 -2
  181. package/src/overlays/relationship-details/useLayoutedDetails.ts +4 -4
  182. package/src/overlays/relationships-browser/-useRelationshipsView.ts +10 -0
  183. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +16 -8
  184. package/src/overlays/relationships-browser/actor.ts +92 -22
  185. package/src/state/DiagramActorProvider.tsx +13 -3
  186. package/src/state/assign.ts +15 -1
  187. package/src/state/diagram-machine.ts +124 -116
  188. package/src/state/persistence.ts +22 -0
  189. package/src/theme-vars.css.ts +0 -12
  190. package/src/theme-vars.ts +16 -4
  191. package/src/utils/css.ts +7 -0
  192. package/dist/base/primitives/element/styles.css.js +0 -6
  193. package/dist/globals.css.d.ts +0 -1
  194. package/dist/globals.css.js +0 -5
  195. package/dist/likec4diagram/ui/search/_shared.css.js +0 -5
  196. package/src/base/primitives/element/styles.css.ts +0 -52
  197. package/src/globals.css.ts +0 -128
  198. /package/dist/base/primitives/element/{styles.css.d.ts → vars.css.d.ts} +0 -0
  199. /package/dist/{node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Accordion/Accordion.module.css.mjs.vanilla.css.js → base/primitives/element/vars.css.ts.vanilla.css.js} +0 -0
  200. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Accordion/Accordion.module.css.mjs.vanilla.css.js} +0 -0
  201. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Affix/Affix.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.module.css.mjs.vanilla.css.js} +0 -0
  202. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Alert/Alert.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Affix/Affix.module.css.mjs.vanilla.css.js} +0 -0
  203. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Anchor/Anchor.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Alert/Alert.module.css.mjs.vanilla.css.js} +0 -0
  204. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AngleSlider/AngleSlider.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Anchor/Anchor.module.css.mjs.vanilla.css.js} +0 -0
  205. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AppShell/AppShell.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AngleSlider/AngleSlider.module.css.mjs.vanilla.css.js} +0 -0
  206. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AspectRatio/AspectRatio.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AppShell/AppShell.module.css.mjs.vanilla.css.js} +0 -0
  207. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Avatar/Avatar.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AspectRatio/AspectRatio.module.css.mjs.vanilla.css.js} +0 -0
  208. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/BackgroundImage/BackgroundImage.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Avatar/Avatar.module.css.mjs.vanilla.css.js} +0 -0
  209. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Badge/Badge.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/BackgroundImage/BackgroundImage.module.css.mjs.vanilla.css.js} +0 -0
  210. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Blockquote/Blockquote.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Badge/Badge.module.css.mjs.vanilla.css.js} +0 -0
  211. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Blockquote/Blockquote.module.css.mjs.vanilla.css.js} +0 -0
  212. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Burger/Burger.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.module.css.mjs.vanilla.css.js} +0 -0
  213. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Button/Button.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Burger/Burger.module.css.mjs.vanilla.css.js} +0 -0
  214. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Card/Card.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Button/Button.module.css.mjs.vanilla.css.js} +0 -0
  215. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Center/Center.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Card/Card.module.css.mjs.vanilla.css.js} +0 -0
  216. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/Checkbox.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Center/Center.module.css.mjs.vanilla.css.js} +0 -0
  217. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/CheckboxCard/CheckboxCard.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/Checkbox.module.css.mjs.vanilla.css.js} +0 -0
  218. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/CheckboxCard/CheckboxCard.module.css.mjs.vanilla.css.js} +0 -0
  219. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Chip/Chip.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.css.mjs.vanilla.css.js} +0 -0
  220. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/CloseButton/CloseButton.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Chip/Chip.module.css.mjs.vanilla.css.js} +0 -0
  221. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Code/Code.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/CloseButton/CloseButton.module.css.mjs.vanilla.css.js} +0 -0
  222. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorInput/ColorInput.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Code/Code.module.css.mjs.vanilla.css.js} +0 -0
  223. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorPicker/ColorPicker.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorInput/ColorInput.module.css.mjs.vanilla.css.js} +0 -0
  224. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorSwatch/ColorSwatch.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorPicker/ColorPicker.module.css.mjs.vanilla.css.js} +0 -0
  225. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Combobox/Combobox.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorSwatch/ColorSwatch.module.css.mjs.vanilla.css.js} +0 -0
  226. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Combobox/Combobox.module.css.mjs.vanilla.css.js} +0 -0
  227. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Dialog/Dialog.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs.vanilla.css.js} +0 -0
  228. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Divider/Divider.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Dialog/Dialog.module.css.mjs.vanilla.css.js} +0 -0
  229. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Drawer/Drawer.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Divider/Divider.module.css.mjs.vanilla.css.js} +0 -0
  230. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Fieldset/Fieldset.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Drawer/Drawer.module.css.mjs.vanilla.css.js} +0 -0
  231. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Flex/Flex.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Fieldset/Fieldset.module.css.mjs.vanilla.css.js} +0 -0
  232. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Flex/Flex.module.css.mjs.vanilla.css.js} +0 -0
  233. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Grid/Grid.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.css.mjs.vanilla.css.js} +0 -0
  234. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Group/Group.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Grid/Grid.module.css.mjs.vanilla.css.js} +0 -0
  235. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Image/Image.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Group/Group.module.css.mjs.vanilla.css.js} +0 -0
  236. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Indicator/Indicator.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Image/Image.module.css.mjs.vanilla.css.js} +0 -0
  237. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/InlineInput/InlineInput.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Indicator/Indicator.module.css.mjs.vanilla.css.js} +0 -0
  238. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Input/Input.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/InlineInput/InlineInput.module.css.mjs.vanilla.css.js} +0 -0
  239. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Kbd/Kbd.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Input/Input.module.css.mjs.vanilla.css.js} +0 -0
  240. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/List/List.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Kbd/Kbd.module.css.mjs.vanilla.css.js} +0 -0
  241. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Loader/Loader.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/List/List.module.css.mjs.vanilla.css.js} +0 -0
  242. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/LoadingOverlay/LoadingOverlay.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Loader/Loader.module.css.mjs.vanilla.css.js} +0 -0
  243. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Mark/Mark.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/LoadingOverlay/LoadingOverlay.module.css.mjs.vanilla.css.js} +0 -0
  244. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Menu/Menu.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Mark/Mark.module.css.mjs.vanilla.css.js} +0 -0
  245. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Modal/Modal.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Menu/Menu.module.css.mjs.vanilla.css.js} +0 -0
  246. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ModalBase/ModalBase.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Modal/Modal.module.css.mjs.vanilla.css.js} +0 -0
  247. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/NavLink/NavLink.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ModalBase/ModalBase.module.css.mjs.vanilla.css.js} +0 -0
  248. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Notification/Notification.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/NavLink/NavLink.module.css.mjs.vanilla.css.js} +0 -0
  249. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/NumberInput/NumberInput.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Notification/Notification.module.css.mjs.vanilla.css.js} +0 -0
  250. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Overlay/Overlay.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/NumberInput/NumberInput.module.css.mjs.vanilla.css.js} +0 -0
  251. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Pagination/Pagination.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Overlay/Overlay.module.css.mjs.vanilla.css.js} +0 -0
  252. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Paper/Paper.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Pagination/Pagination.module.css.mjs.vanilla.css.js} +0 -0
  253. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Paper/Paper.module.css.mjs.vanilla.css.js} +0 -0
  254. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Pill/Pill.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.module.css.mjs.vanilla.css.js} +0 -0
  255. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PillsInput/PillsInput.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Pill/Pill.module.css.mjs.vanilla.css.js} +0 -0
  256. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PinInput/PinInput.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PillsInput/PillsInput.module.css.mjs.vanilla.css.js} +0 -0
  257. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PinInput/PinInput.module.css.mjs.vanilla.css.js} +0 -0
  258. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Progress/Progress.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs.vanilla.css.js} +0 -0
  259. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/Radio.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Progress/Progress.module.css.mjs.vanilla.css.js} +0 -0
  260. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/Radio.module.css.mjs.vanilla.css.js} +0 -0
  261. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.css.mjs.vanilla.css.js} +0 -0
  262. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Rating/Rating.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.css.mjs.vanilla.css.js} +0 -0
  263. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/RingProgress/RingProgress.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Rating/Rating.module.css.mjs.vanilla.css.js} +0 -0
  264. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/RingProgress/RingProgress.module.css.mjs.vanilla.css.js} +0 -0
  265. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.module.css.mjs.vanilla.css.js} +0 -0
  266. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SemiCircleProgress/SemiCircleProgress.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.css.mjs.vanilla.css.js} +0 -0
  267. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SimpleGrid/SimpleGrid.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SemiCircleProgress/SemiCircleProgress.module.css.mjs.vanilla.css.js} +0 -0
  268. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Skeleton/Skeleton.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SimpleGrid/SimpleGrid.module.css.mjs.vanilla.css.js} +0 -0
  269. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Slider/Slider.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Skeleton/Skeleton.module.css.mjs.vanilla.css.js} +0 -0
  270. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Spoiler/Spoiler.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Slider/Slider.module.css.mjs.vanilla.css.js} +0 -0
  271. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Stack/Stack.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Spoiler/Spoiler.module.css.mjs.vanilla.css.js} +0 -0
  272. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Stepper/Stepper.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Stack/Stack.module.css.mjs.vanilla.css.js} +0 -0
  273. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Switch/Switch.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Stepper/Stepper.module.css.mjs.vanilla.css.js} +0 -0
  274. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Table/Table.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Switch/Switch.module.css.mjs.vanilla.css.js} +0 -0
  275. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/TableOfContents/TableOfContents.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Table/Table.module.css.mjs.vanilla.css.js} +0 -0
  276. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tabs/Tabs.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/TableOfContents/TableOfContents.module.css.mjs.vanilla.css.js} +0 -0
  277. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Text/Text.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tabs/Tabs.module.css.mjs.vanilla.css.js} +0 -0
  278. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Text/Text.module.css.mjs.vanilla.css.js} +0 -0
  279. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Timeline/Timeline.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.module.css.mjs.vanilla.css.js} +0 -0
  280. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Title/Title.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Timeline/Timeline.module.css.mjs.vanilla.css.js} +0 -0
  281. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Title/Title.module.css.mjs.vanilla.css.js} +0 -0
  282. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tree/Tree.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.module.css.mjs.vanilla.css.js} +0 -0
  283. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/TypographyStylesProvider/TypographyStylesProvider.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tree/Tree.module.css.mjs.vanilla.css.js} +0 -0
  284. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/TypographyStylesProvider/TypographyStylesProvider.module.css.mjs.vanilla.css.js} +0 -0
  285. /package/dist/node_modules/.pnpm/{@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.module.css.mjs.vanilla.css.js → @mantine_core@7.17.1_@mantine_hooks@7.17.1_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.module.css.mjs.vanilla.css.js} +0 -0
@@ -77,6 +77,9 @@ export type Events =
77
77
  | { type: 'xyflow.resized' }
78
78
  | { type: 'xyflow.edgeMouseEnter'; edge: RelationshipsBrowserTypes.Edge }
79
79
  | { type: 'xyflow.edgeMouseLeave'; edge: RelationshipsBrowserTypes.Edge }
80
+ | { type: 'xyflow.selectionChange'; nodes: RelationshipsBrowserTypes.Node[]; edges: RelationshipsBrowserTypes.Edge[] }
81
+ | { type: 'dim.nonhovered.edges' }
82
+ | { type: 'undim.edges' }
80
83
  | { type: 'xyflow.updateNodeInternals' }
81
84
  | { type: 'xyflow.unmount' }
82
85
  | { type: 'fitDiagram'; duration?: number; bounds?: BBox }
@@ -274,7 +277,7 @@ export const relationshipsBrowserLogic = setup({
274
277
  }
275
278
  }
276
279
 
277
- requestAnimationFrame(() => updateNodeInternals(updates, { triggerFitView: false }))
280
+ updateNodeInternals(updates, { triggerFitView: false })
278
281
  },
279
282
  'xyflow:fitDiagram': ({ context }, params?: { duration?: number; bounds?: BBox }) => {
280
283
  let {
@@ -289,16 +292,14 @@ export const relationshipsBrowserLogic = setup({
289
292
  if (bounds) {
290
293
  const { width, height } = xystore.getState()
291
294
  const viewport = getViewportForBounds(bounds, width, height, MinZoom, maxZoom, ViewPadding)
292
- requestAnimationFrame(() => xyflow.setViewport(viewport, duration > 0 ? { duration } : undefined))
295
+ xyflow.setViewport(viewport, duration > 0 ? { duration } : undefined)
293
296
  } else {
294
- requestAnimationFrame(() =>
295
- xyflow.fitView({
296
- minZoom: MinZoom,
297
- maxZoom,
298
- padding: ViewPadding,
299
- ...(duration > 0 && { duration }),
300
- })
301
- )
297
+ xyflow.fitView({
298
+ minZoom: MinZoom,
299
+ maxZoom,
300
+ padding: ViewPadding,
301
+ ...(duration > 0 && { duration }),
302
+ })
302
303
  }
303
304
  },
304
305
  },
@@ -350,7 +351,10 @@ export const relationshipsBrowserLogic = setup({
350
351
  'isReady': {
351
352
  always: [{
352
353
  guard: 'isReady',
353
- actions: raise({ type: 'fitDiagram', duration: 0 }),
354
+ actions: [
355
+ raise({ type: 'fitDiagram', duration: 0 }),
356
+ raise({ type: 'xyflow.updateNodeInternals' }, { delay: 100 }),
357
+ ],
354
358
  target: 'active',
355
359
  }, {
356
360
  target: 'initializing',
@@ -360,7 +364,74 @@ export const relationshipsBrowserLogic = setup({
360
364
  initial: 'idle',
361
365
  tags: ['active'],
362
366
  states: {
363
- 'idle': {},
367
+ 'idle': {
368
+ on: {
369
+ 'xyflow.edgeMouseEnter': {
370
+ actions: [
371
+ assign({
372
+ xyedges: ({ context, event }) => {
373
+ const hasDimmed = context.xyedges.some(edge => edge.data.dimmed === true)
374
+ return context.xyedges.map(edge => {
375
+ if (edge.id === event.edge.id) {
376
+ return Base.setData(edge, {
377
+ hovered: true,
378
+ dimmed: false,
379
+ })
380
+ }
381
+ return hasDimmed && !edge.data.dimmed && !edge.selected ? Base.setDimmed(edge, 'immediate') : edge
382
+ })
383
+ },
384
+ }),
385
+ cancel('undim.edges'),
386
+ cancel('dim.nonhovered.edges'),
387
+ raise({ type: 'dim.nonhovered.edges' }, { id: 'dim.nonhovered.edges', delay: 100 }),
388
+ ],
389
+ },
390
+ 'xyflow.edgeMouseLeave': {
391
+ actions: [
392
+ assign({
393
+ xyedges: ({ context, event }) =>
394
+ context.xyedges.map(edge => {
395
+ if (edge.id === event.edge.id) {
396
+ return Base.setHovered(edge, false)
397
+ }
398
+ return edge
399
+ }),
400
+ }),
401
+ cancel('dim.nonhovered.edges'),
402
+ raise({ type: 'undim.edges' }, { id: 'undim.edges', delay: 400 }),
403
+ ],
404
+ },
405
+ 'dim.nonhovered.edges': {
406
+ actions: assign({
407
+ xyedges: ({ context }) => context.xyedges.map(edge => Base.setDimmed(edge, edge.data.hovered !== true)),
408
+ }),
409
+ },
410
+ 'undim.edges': {
411
+ actions: assign({
412
+ xyedges: ({ context }) => {
413
+ const hasSelected = context.xyedges.some(edge => edge.selected === true)
414
+ if (hasSelected) {
415
+ return context.xyedges.map(edge =>
416
+ Base.setDimmed(edge, edge.selected !== true ? edge.data.dimmed || 'immediate' : false)
417
+ )
418
+ }
419
+ return context.xyedges.map(Base.setDimmed(false))
420
+ },
421
+ }),
422
+ },
423
+ 'xyflow.selectionChange': {
424
+ actions: enqueueActions(({ event, context, enqueue }) => {
425
+ if (
426
+ event.edges.length === 0 && context.xyedges.some(e => e.data.dimmed) &&
427
+ !context.xyedges.some(e => e.data.hovered)
428
+ ) {
429
+ enqueue.raise({ type: 'undim.edges' })
430
+ }
431
+ }),
432
+ },
433
+ },
434
+ },
364
435
  'layouting': {
365
436
  invoke: {
366
437
  id: 'layouter',
@@ -376,17 +447,16 @@ export const relationshipsBrowserLogic = setup({
376
447
  },
377
448
  onDone: {
378
449
  target: 'idle',
379
- actions: [
380
- assign({
381
- xynodes: ({ event }) => event.output.xynodes,
382
- xyedges: ({ event }) => event.output.xyedges,
450
+ actions: enqueueActions(({ enqueue, event }) => {
451
+ enqueue.assign({
452
+ xynodes: event.output.xynodes,
453
+ xyedges: event.output.xyedges,
383
454
  navigateFromNode: null,
384
- }),
385
- raise({ type: 'fitDiagram' }, { id: 'fitDiagram', delay: 80 }),
386
- raise({ type: 'xyflow.updateNodeInternals' }, { delay: 100 }),
387
- raise({ type: 'xyflow.updateNodeInternals' }, { delay: 250 }),
388
- raise({ type: 'xyflow.updateNodeInternals' }, { delay: 500 }),
389
- ],
455
+ }), enqueue.raise({ type: 'fitDiagram' }, { id: 'fitDiagram', delay: 50 })
456
+ for (let i = 0; i <= 10; i++) {
457
+ enqueue.raise({ type: 'xyflow.updateNodeInternals' }, { delay: 100 + i * 50 })
458
+ }
459
+ }),
390
460
  },
391
461
  },
392
462
  on: {
@@ -3,7 +3,7 @@ import { useCallbackRef } from '@mantine/hooks'
3
3
  import { useActorRef, useSelector } from '@xstate/react'
4
4
  import { useStoreApi } from '@xyflow/react'
5
5
  import { shallowEqual } from 'fast-equals'
6
- import { type PropsWithChildren, useEffect } from 'react'
6
+ import { type PropsWithChildren, useEffect, useRef } from 'react'
7
7
  import { useDiagramEventHandlersRef } from '../context/DiagramEventHandlers'
8
8
  import { DiagramFeatures, useEnabledFeatures } from '../context/DiagramFeatures'
9
9
  import { DiagramActorSafeContext } from '../hooks/safeContext'
@@ -15,7 +15,6 @@ import { syncManualLayoutActorLogic } from './syncManualLayoutActor'
15
15
  import type { DiagramActorRef } from './types'
16
16
 
17
17
  type ActorContextInput = Omit<Input, 'xystore' | 'features'>
18
-
19
18
  export function DiagramActorProvider({ input, children }: PropsWithChildren<{ input: ActorContextInput }>) {
20
19
  const handlersRef = useDiagramEventHandlersRef()
21
20
  const xystore = useStoreApi<Types.Node, Types.Edge>()
@@ -80,8 +79,19 @@ const SyncStore = (
80
79
  actorRef.send({ type: 'update.features', features })
81
80
  }, [actorRef, features])
82
81
 
82
+ const frameReq = useRef<number>(null)
83
+
83
84
  useUpdateEffect(() => {
84
- actorRef.send({ type: 'update.view', view, xyedges, xynodes })
85
+ frameReq.current = requestAnimationFrame(() => {
86
+ frameReq.current = null
87
+ actorRef.send({ type: 'update.view', view, xyedges, xynodes })
88
+ })
89
+ return () => {
90
+ if (frameReq.current != null) {
91
+ cancelAnimationFrame(frameReq.current)
92
+ }
93
+ frameReq.current = null
94
+ }
85
95
  }, [actorRef, view, xyedges, xynodes])
86
96
 
87
97
  return null
@@ -162,7 +162,21 @@ export function updateNavigationHistory({ context, event }: ActionArg): Partial<
162
162
  lastOnNavigate,
163
163
  viewport,
164
164
  } = context
165
- const stepCurrent = nonNullable(history[currentIndex])
165
+ const stepCurrent = history[currentIndex]
166
+ if (!stepCurrent) {
167
+ return {
168
+ navigationHistory: {
169
+ currentIndex: 0,
170
+ history: [
171
+ {
172
+ viewId: event.view.id,
173
+ fromNode: null,
174
+ viewport: { ...viewport },
175
+ },
176
+ ],
177
+ },
178
+ }
179
+ }
166
180
  if (stepCurrent.viewId !== event.view.id) {
167
181
  // Navigation by browser back/forward ?
168
182
  if (!lastOnNavigate) {
@@ -62,6 +62,7 @@ import {
62
62
  updateNodeData,
63
63
  } from './assign'
64
64
  import { type HotKeyEvent, hotkeyActorLogic } from './hotkeyActor'
65
+ import { DiagramToggledFeaturesPersistence } from './persistence'
65
66
  import { type Events as SyncLayoutEvents, syncManualLayoutActorLogic } from './syncManualLayoutActor'
66
67
  import { findDiagramNode, focusedBounds, typedSystem } from './utils'
67
68
 
@@ -197,7 +198,7 @@ export const diagramMachine = setup({
197
198
  }
198
199
  nonexhaustive(event.type)
199
200
  },
200
- 'click: selected node ': ({ event }) => {
201
+ 'click: selected node': ({ event }) => {
201
202
  assertEvent(event, 'xyflow.nodeClick')
202
203
  return event.node.selected === true
203
204
  },
@@ -209,6 +210,10 @@ export const diagramMachine = setup({
209
210
  assertEvent(event, 'xyflow.nodeClick')
210
211
  return context.focusedNode === event.node.id
211
212
  },
213
+ 'click: node has connections': ({ context, event }) => {
214
+ assertEvent(event, 'xyflow.nodeClick')
215
+ return context.xyedges.some(e => e.source === event.node.id || e.target === event.node.id)
216
+ },
212
217
  },
213
218
  actions: {
214
219
  'trigger:NavigateTo': (_, _params: { viewId: ViewId }) => {
@@ -220,22 +225,23 @@ export const diagramMachine = setup({
220
225
  'trigger:OpenSource': (_, _params: OpenSourceParams) => {
221
226
  },
222
227
 
223
- 'open source of focused node': enqueueActions(({ context, enqueue }) => {
224
- if (!context.focusedNode || !context.features.enableVscode) return
225
- const diagramNode = findDiagramNode(context, context.focusedNode)
228
+ 'assign lastClickedNode': assign(({ context, event }) => {
229
+ assertEvent(event, 'xyflow.nodeClick')
230
+ return {
231
+ lastClickedNode: lastClickedNode({ context, event }),
232
+ }
233
+ }),
234
+
235
+ 'open source of focused or last clicked node': enqueueActions(({ context, enqueue }) => {
236
+ const nodeId = context.focusedNode ?? context.lastClickedNode?.id
237
+ if (!nodeId || !context.features.enableVscode) return
238
+ const diagramNode = findDiagramNode(context, nodeId)
226
239
  if (!diagramNode) return
227
240
 
228
- enqueue.cancel('openSource')
229
241
  if (DiagramNode.deploymentRef(diagramNode)) {
230
- enqueue.raise({ type: 'open.source', deployment: DiagramNode.deploymentRef(diagramNode)! }, {
231
- id: 'openSource',
232
- delay: 100,
233
- })
242
+ enqueue.raise({ type: 'open.source', deployment: DiagramNode.deploymentRef(diagramNode)! })
234
243
  } else if (DiagramNode.modelRef(diagramNode)) {
235
- enqueue.raise({ type: 'open.source', element: DiagramNode.modelRef(diagramNode)! }, {
236
- id: 'openSource',
237
- delay: 100,
238
- })
244
+ enqueue.raise({ type: 'open.source', element: DiagramNode.modelRef(diagramNode)! })
239
245
  }
240
246
  }),
241
247
 
@@ -260,6 +266,24 @@ export const diagramMachine = setup({
260
266
  panZoom?.setViewport(viewport, duration > 0 ? { duration } : undefined)
261
267
  },
262
268
 
269
+ 'xyflow:fitFocusedBounds': ({ context }) => {
270
+ const { bounds, duration = 450 } = focusedBounds({ context })
271
+ const { width, height, panZoom, transform } = context.xystore.getState()
272
+
273
+ const maxZoom = Math.max(1, transform[2])
274
+ const viewport = getViewportForBounds(
275
+ bounds,
276
+ width,
277
+ height,
278
+ MinZoom,
279
+ maxZoom,
280
+ context.fitViewPadding,
281
+ )
282
+ viewport.x = Math.round(viewport.x)
283
+ viewport.y = Math.round(viewport.y)
284
+ panZoom?.setViewport(viewport, duration > 0 ? { duration } : undefined)
285
+ },
286
+
263
287
  'xyflow:setViewportCenter': ({ context }, params: { x: number; y: number }) => {
264
288
  const { x, y } = params
265
289
  invariant(context.xyflow, 'xyflow is not initialized')
@@ -359,7 +383,7 @@ export const diagramMachine = setup({
359
383
  context: ({ input, self, spawn }) => ({
360
384
  ...input,
361
385
  features: { ...AllDisabled },
362
- toggledFeatures: {
386
+ toggledFeatures: DiagramToggledFeaturesPersistence.read() ?? {
363
387
  enableReadOnly: true,
364
388
  },
365
389
  initialized: false,
@@ -417,10 +441,11 @@ export const diagramMachine = setup({
417
441
  {
418
442
  // TODO: xstate fails to infer the type of the guard
419
443
  guard: and([
420
- 'enabled: FocusMode' as const,
444
+ 'enabled: FocusMode',
445
+ 'click: node has connections',
421
446
  or([
422
- 'click: same node' as const,
423
- 'click: selected node ' as const,
447
+ 'click: same node',
448
+ 'click: selected node',
424
449
  ]),
425
450
  ]) as any,
426
451
  actions: [
@@ -432,9 +457,10 @@ export const diagramMachine = setup({
432
457
  target: 'focused',
433
458
  },
434
459
  {
435
- actions: assign({
436
- lastClickedNode,
437
- }),
460
+ actions: [
461
+ 'assign lastClickedNode',
462
+ 'open source of focused or last clicked node',
463
+ ],
438
464
  },
439
465
  ],
440
466
  'xyflow.paneClick': {
@@ -477,12 +503,9 @@ export const diagramMachine = setup({
477
503
  ...focusNodesEdges(s),
478
504
  viewportBeforeFocus: { ...s.context.viewport },
479
505
  })),
480
- 'open source of focused node',
506
+ 'open source of focused or last clicked node',
481
507
  spawnChild('hotkeyActorLogic', { id: 'hotkey' }),
482
- {
483
- type: 'xyflow:fitDiagram',
484
- params: focusedBounds,
485
- },
508
+ 'xyflow:fitFocusedBounds',
486
509
  ],
487
510
  exit: enqueueActions(({ enqueue, context }) => {
488
511
  enqueue.stopChild('hotkey')
@@ -507,14 +530,11 @@ export const diagramMachine = setup({
507
530
  actions: [
508
531
  assign({
509
532
  lastClickedNode,
510
- focusedNode: ({ event }) => event.node.id as NodeId,
511
533
  }),
512
- assign(focusNodesEdges),
513
- 'open source of focused node',
514
- {
515
- type: 'xyflow:fitDiagram',
516
- params: focusedBounds,
517
- },
534
+ raise(({ event }) => ({
535
+ type: 'focus.node',
536
+ nodeId: event.node.id as NodeId,
537
+ })),
518
538
  ],
519
539
  },
520
540
  ],
@@ -524,11 +544,8 @@ export const diagramMachine = setup({
524
544
  focusedNode: ({ event }) => event.nodeId,
525
545
  }),
526
546
  assign(focusNodesEdges),
527
- 'open source of focused node',
528
- {
529
- type: 'xyflow:fitDiagram',
530
- params: focusedBounds,
531
- },
547
+ 'open source of focused or last clicked node',
548
+ 'xyflow:fitFocusedBounds',
532
549
  ],
533
550
  },
534
551
  'key.esc': {
@@ -556,57 +573,16 @@ export const diagramMachine = setup({
556
573
  },
557
574
  // Navigating to another view (after `navigateTo` event)
558
575
  navigating: {
559
- initial: 'pending',
560
- type: 'compound',
561
- states: {
562
- pending: {
563
- entry: enqueueActions(({ enqueue }) => {
564
- enqueue('closeAllOverlays')
565
- enqueue('stopSyncLayout')
566
- enqueue({
567
- type: 'trigger:NavigateTo',
568
- params: ({ context }) => ({
569
- viewId: nonNullable(context.lastOnNavigate, 'Invalid state, lastOnNavigate is null').toView,
570
- }),
571
- })
576
+ entry: [
577
+ 'closeAllOverlays',
578
+ 'stopSyncLayout',
579
+ {
580
+ type: 'trigger:NavigateTo',
581
+ params: ({ context }) => ({
582
+ viewId: nonNullable(context.lastOnNavigate, 'Invalid state, lastOnNavigate is null').toView,
572
583
  }),
573
- on: {
574
- 'update.view': {
575
- actions: enqueueActions(({ enqueue, context, event }) => {
576
- const { fromNode, toNode } = findCorrespondingNode(context, event)
577
- if (fromNode && toNode) {
578
- enqueue({
579
- type: 'xyflow:alignNodeFromToAfterNavigate',
580
- params: {
581
- fromNode: fromNode.id,
582
- toPosition: {
583
- x: toNode.position[0],
584
- y: toNode.position[1],
585
- },
586
- },
587
- })
588
- enqueue.raise({ type: 'fitDiagram' }, { id: 'fitDiagram', delay: 80 })
589
- } else {
590
- enqueue({
591
- type: 'xyflow:setViewportCenter',
592
- params: getBBoxCenter(event.view.bounds),
593
- })
594
- enqueue.raise({ type: 'fitDiagram', duration: 200 }, { id: 'fitDiagram', delay: 25 })
595
- }
596
- enqueue.assign(updateNavigationHistory)
597
- enqueue.assign(mergeXYNodesEdges)
598
- }),
599
- target: 'done',
600
- },
601
- },
602
- },
603
- done: {
604
- type: 'final',
605
584
  },
606
- },
607
- onDone: {
608
- target: 'idle',
609
- },
585
+ ],
610
586
  exit: assign({
611
587
  syncLayoutActorRef: ({ self, context, spawn }) =>
612
588
  spawn('syncManualLayoutActorLogic', {
@@ -614,12 +590,44 @@ export const diagramMachine = setup({
614
590
  systemId: 'syncLayout',
615
591
  input: { parent: self, viewId: context.view.id },
616
592
  }),
617
- lastOnNavigate: null,
593
+ // lastOnNavigate: null,
618
594
  }),
595
+ on: {
596
+ 'update.view': {
597
+ actions: enqueueActions(({ enqueue, context, event }) => {
598
+ const { fromNode, toNode } = findCorrespondingNode(context, event)
599
+ if (fromNode && toNode) {
600
+ enqueue({
601
+ type: 'xyflow:alignNodeFromToAfterNavigate',
602
+ params: {
603
+ fromNode: fromNode.id,
604
+ toPosition: {
605
+ x: toNode.position[0],
606
+ y: toNode.position[1],
607
+ },
608
+ },
609
+ })
610
+ enqueue.raise({ type: 'fitDiagram' }, { id: 'fitDiagram', delay: 80 })
611
+ } else {
612
+ enqueue({
613
+ type: 'xyflow:setViewportCenter',
614
+ params: getBBoxCenter(event.view.bounds),
615
+ })
616
+ enqueue.raise({ type: 'fitDiagram', duration: 200 }, { id: 'fitDiagram', delay: 25 })
617
+ }
618
+ enqueue.assign(updateNavigationHistory)
619
+ enqueue.assign(mergeXYNodesEdges)
620
+ enqueue.assign({
621
+ lastOnNavigate: null,
622
+ })
623
+ }),
624
+ target: '#idle',
625
+ },
626
+ },
619
627
  },
620
628
  walkthrough: {
621
629
  entry: [
622
- // spawnChild('hotkeyActor', { id: 'hotkey' }),
630
+ spawnChild('hotkeyActorLogic', { id: 'hotkey' }),
623
631
  assign({
624
632
  viewportBeforeFocus: ({ context }) => context.viewport,
625
633
  activeWalkthrough: ({ context, event }) => {
@@ -632,10 +640,7 @@ export const diagramMachine = setup({
632
640
  },
633
641
  }),
634
642
  assign(updateActiveWalkthrough),
635
- {
636
- type: 'xyflow:fitDiagram',
637
- params: focusedBounds,
638
- },
643
+ 'xyflow:fitFocusedBounds',
639
644
  ],
640
645
  on: {
641
646
  'key.esc': {
@@ -666,15 +671,15 @@ export const diagramMachine = setup({
666
671
  },
667
672
  })
668
673
  enqueue.assign(updateActiveWalkthrough)
669
- enqueue({
670
- type: 'xyflow:fitDiagram',
671
- params: focusedBounds,
672
- })
674
+ enqueue('xyflow:fitFocusedBounds')
673
675
  }),
674
676
  },
675
677
  'walkthrough.end': {
676
678
  target: 'idle',
677
679
  },
680
+ 'xyflow.paneDblClick': {
681
+ target: 'idle',
682
+ },
678
683
  // We received another view, close overlay and process event again
679
684
  'update.view': {
680
685
  guard: 'is another view',
@@ -682,18 +687,18 @@ export const diagramMachine = setup({
682
687
  target: 'idle',
683
688
  },
684
689
  },
685
- exit: enqueueActions(({ enqueue, context }) => {
690
+ exit: enqueueActions(({ enqueue, context, event }) => {
686
691
  enqueue.stopChild('hotkey')
687
692
  if (context.viewportBeforeFocus) {
688
693
  enqueue({ type: 'xyflow:setViewport', params: { viewport: context.viewportBeforeFocus } })
689
694
  } else {
690
695
  enqueue({ type: 'xyflow:fitDiagram' })
691
696
  }
692
- enqueue.assign((s) => ({
697
+ enqueue.assign({
693
698
  activeWalkthrough: null,
694
- ...unfocusNodesEdges(s),
699
+ ...unfocusNodesEdges({ context, event }),
695
700
  viewportBeforeFocus: null,
696
- }))
701
+ })
697
702
  }),
698
703
  },
699
704
  },
@@ -723,15 +728,13 @@ export const diagramMachine = setup({
723
728
  },
724
729
  'navigate.to': {
725
730
  guard: 'is another view',
726
- actions: [
727
- assign({
728
- lastOnNavigate: ({ context, event }) => ({
729
- fromView: context.view.id,
730
- toView: event.viewId,
731
- fromNode: event.fromNode ?? null,
732
- }),
731
+ actions: assign({
732
+ lastOnNavigate: ({ context, event }) => ({
733
+ fromView: context.view.id,
734
+ toView: event.viewId,
735
+ fromNode: event.fromNode ?? null,
733
736
  }),
734
- ],
737
+ }),
735
738
  target: '.navigating',
736
739
  },
737
740
  'navigate.back': {
@@ -811,7 +814,10 @@ export const diagramMachine = setup({
811
814
  'layout.align': {
812
815
  guard: 'not readonly',
813
816
  actions: [
814
- { type: 'layout.align', params: ({ event }) => ({ mode: event.mode }) },
817
+ {
818
+ type: 'layout.align',
819
+ params: ({ event }) => ({ mode: event.mode }),
820
+ },
815
821
  raise({ type: 'saveManualLayout.schedule' }),
816
822
  ],
817
823
  },
@@ -830,7 +836,7 @@ export const diagramMachine = setup({
830
836
  ],
831
837
  },
832
838
  'open.elementDetails': {
833
- actions: enqueueActions(({ context, enqueue, system, event }) => {
839
+ actions: sendTo(({ system }) => typedSystem(system).overlaysActorRef!, ({ context, event }) => {
834
840
  let initiatedFrom = null as null | {
835
841
  node: NodeId
836
842
  clientRect: Rect
@@ -851,7 +857,7 @@ export const diagramMachine = setup({
851
857
  clientRect,
852
858
  }
853
859
  }
854
- enqueue.sendTo(typedSystem(system).overlaysActorRef!, {
860
+ return ({
855
861
  type: 'open.elementDetails' as const,
856
862
  subject: event.fqn,
857
863
  currentView: context.view,
@@ -885,11 +891,13 @@ export const diagramMachine = setup({
885
891
  },
886
892
  'toggle.feature': {
887
893
  actions: assign({
888
- toggledFeatures: ({ context, event }) => ({
889
- ...context.toggledFeatures,
890
- [`enable${event.feature}`]: event.forceValue ??
891
- !(context.toggledFeatures[`enable${event.feature}`] ?? context.features[`enable${event.feature}`]),
892
- }),
894
+ toggledFeatures: ({ context, event }) => {
895
+ return DiagramToggledFeaturesPersistence.write({
896
+ ...context.toggledFeatures,
897
+ [`enable${event.feature}`]: event.forceValue ??
898
+ !(context.toggledFeatures[`enable${event.feature}`] ?? context.features[`enable${event.feature}`]),
899
+ })
900
+ },
893
901
  }),
894
902
  },
895
903
  },
@@ -0,0 +1,22 @@
1
+ import { isBoolean, pickBy } from 'remeda'
2
+ import type { EnabledFeatures } from '../context/DiagramFeatures'
3
+
4
+ const key = `likec4:diagram:toggledFeatures`
5
+ export const DiagramToggledFeaturesPersistence = {
6
+ read() {
7
+ try {
8
+ let fromStorage = sessionStorage.getItem(key)
9
+ if (fromStorage) {
10
+ return JSON.parse(fromStorage) as Partial<EnabledFeatures>
11
+ }
12
+ return null
13
+ } catch (e) {
14
+ console.error(`Error reading fromStorage ${key}:`, e)
15
+ return null
16
+ }
17
+ },
18
+ write<F extends Partial<EnabledFeatures>>(toggledFeatures: F): F {
19
+ sessionStorage.setItem(key, JSON.stringify(pickBy(toggledFeatures, isBoolean)))
20
+ return toggledFeatures
21
+ },
22
+ }
@@ -67,15 +67,3 @@ export const xyvars = createGlobalThemeContract({
67
67
  borderRadius: 'node-border-radius',
68
68
  },
69
69
  }, (value) => `xy-${value}`)
70
-
71
- export const whereLight = ':where([data-mantine-color-scheme="light"])'
72
- export const whereDark = ':where([data-mantine-color-scheme="dark"])'
73
-
74
- export const easings = {
75
- out: 'cubic-bezier(0, 0, 0.40, 1)',
76
- inOut: 'cubic-bezier(0.50, 0, 0.2, 1)',
77
- }
78
-
79
- export const transitions = {
80
- fast: `all 130ms ${easings.inOut}`,
81
- }