@likec4/diagram 1.24.1 → 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 (250) hide show
  1. package/dist/LikeC4Diagram.css.d.ts +0 -2
  2. package/dist/LikeC4Diagram.css.js +0 -1
  3. package/dist/LikeC4Diagram.d.ts +3 -2
  4. package/dist/LikeC4Diagram.js +71 -61
  5. package/dist/LikeC4Diagram.props.d.ts +5 -0
  6. package/dist/StaticLikeC4Diagram.d.ts +1 -1
  7. package/dist/base/BaseXYFlow.js +14 -3
  8. package/dist/base/const.d.ts +3 -3
  9. package/dist/base/const.js +3 -3
  10. package/dist/base/primitives/compound/CompoundActionButton.css.d.ts +0 -1
  11. package/dist/base/primitives/compound/CompoundActionButton.css.js +1 -4
  12. package/dist/base/primitives/compound/CompoundActionButton.js +9 -15
  13. package/dist/base/primitives/compound/CompoundDetailsButton.css.js +0 -3
  14. package/dist/base/primitives/compound/CompoundDetailsButton.js +8 -14
  15. package/dist/base/primitives/compound/CompoundNodeContainer.css.js +0 -2
  16. package/dist/base/primitives/compound/CompoundNodeContainer.js +2 -2
  17. package/dist/base/primitives/compound/CompoundTitle.css.js +0 -1
  18. package/dist/base/primitives/compound/CompoundTitle.js +1 -1
  19. package/dist/base/primitives/customNode.js +1 -1
  20. package/dist/base/primitives/edge/EdgeContainer.d.ts +2 -1
  21. package/dist/base/primitives/edge/EdgeContainer.js +20 -17
  22. package/dist/base/primitives/edge/EdgeLabel.css.js +0 -1
  23. package/dist/base/primitives/edge/EdgeLabel.js +5 -8
  24. package/dist/base/primitives/edge/EdgePath.js +13 -5
  25. package/dist/base/primitives/edge/edge.css.js +1 -2
  26. package/dist/base/primitives/element/ElementActionButtons.css.js +0 -1
  27. package/dist/base/primitives/element/ElementDetailsButton.css.js +0 -3
  28. package/dist/base/primitives/element/ElementDetailsButton.js +9 -15
  29. package/dist/base/primitives/element/ElementNodeContainer.css.js +1 -2
  30. package/dist/base/primitives/element/ElementNodeContainer.js +1 -3
  31. package/dist/base/primitives/element/ElementShape.css.js +0 -1
  32. package/dist/base/primitives/element/ElementTitle.css.d.ts +2 -0
  33. package/dist/base/primitives/element/ElementTitle.css.js +2 -4
  34. package/dist/base/primitives/element/ElementTitle.js +7 -7
  35. package/dist/components/SearchControl.css.d.ts +1 -0
  36. package/dist/components/SearchControl.css.js +3 -3
  37. package/dist/components/SearchControl.js +3 -3
  38. package/dist/context/ControlsCustomLayout.d.ts +13 -0
  39. package/dist/context/ControlsCustomLayout.js +10 -0
  40. package/dist/context/RootContainer.d.ts +2 -1
  41. package/dist/context/RootContainer.js +2 -3
  42. package/dist/diagram.css +1 -1
  43. package/dist/hooks/useDiagram.d.ts +155 -756
  44. package/dist/hooks/useDiagram.js +6 -1
  45. package/dist/index.d.ts +1 -0
  46. package/dist/likec4diagram/XYFlow.d.ts +3 -7
  47. package/dist/likec4diagram/XYFlow.js +13 -6
  48. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +30 -25
  49. package/dist/likec4diagram/custom/edges/edges.css.d.ts +1 -0
  50. package/dist/likec4diagram/custom/edges/edges.css.js +5 -3
  51. package/dist/likec4diagram/custom/index.d.ts +9 -1
  52. package/dist/likec4diagram/custom/index.js +10 -1
  53. package/dist/likec4diagram/custom/nodes/nodeTypes.d.ts +5 -7
  54. package/dist/likec4diagram/custom/nodes/nodeTypes.js +60 -58
  55. package/dist/likec4diagram/ui/controls/Controls.js +110 -71
  56. package/dist/likec4diagram/ui/controls/NavigationButtons.js +14 -22
  57. package/dist/likec4diagram/ui/controls/_shared.js +1 -1
  58. package/dist/likec4diagram/ui/controls/styles.css.js +0 -2
  59. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.d.ts +0 -1
  60. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +3 -7
  61. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +2 -3
  62. package/dist/likec4diagram/ui/notation/NotationPanel.css.d.ts +1 -0
  63. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +6 -4
  64. package/dist/likec4diagram/ui/notation/NotationPanel.js +2 -2
  65. package/dist/likec4diagram/ui/search/LikeC4Search.css.js +0 -2
  66. package/dist/likec4diagram/ui/search/SearchInput.js +1 -1
  67. package/dist/likec4diagram/ui/search/ViewsColum.js +1 -2
  68. package/dist/likec4diagram/ui/search/ViewsColumn.css.d.ts +1 -1
  69. package/dist/likec4diagram/ui/search/ViewsColumn.css.js +2 -0
  70. package/dist/likec4model/useLikeC4Model.js +0 -1
  71. 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
  72. package/dist/overlays/element-details/ElementDetailsCard.css.d.ts +2 -0
  73. package/dist/overlays/element-details/ElementDetailsCard.css.js +18 -14
  74. package/dist/overlays/element-details/ElementDetailsCard.js +10 -7
  75. package/dist/overlays/overlay/Overlay.css.d.ts +2 -0
  76. package/dist/overlays/overlay/Overlay.css.js +93 -89
  77. package/dist/overlays/overlay/Overlay.js +10 -7
  78. package/dist/overlays/relationship-details/useLayoutedDetails.js +4 -3
  79. package/dist/state/assign.js +15 -1
  80. package/dist/state/diagram-machine.d.ts +159 -756
  81. package/dist/state/diagram-machine.js +46 -41
  82. package/dist/state/persistence.js +1 -1
  83. package/dist/theme-vars.css.d.ts +0 -9
  84. package/dist/theme-vars.d.ts +13 -1
  85. package/dist/theme-vars.js +3 -1
  86. package/dist/utils/css.d.ts +1 -0
  87. package/dist/utils/css.js +10 -0
  88. package/package.json +16 -8
  89. package/src/LikeC4Diagram.css.ts +134 -4
  90. package/src/LikeC4Diagram.props.ts +6 -0
  91. package/src/LikeC4Diagram.tsx +21 -11
  92. package/src/StaticLikeC4Diagram.tsx +1 -0
  93. package/src/base/BaseXYFlow.tsx +18 -3
  94. package/src/base/const.ts +3 -3
  95. package/src/base/primitives/compound/CompoundActionButton.css.ts +5 -14
  96. package/src/base/primitives/compound/CompoundActionButton.tsx +10 -14
  97. package/src/base/primitives/compound/CompoundDetailsButton.css.ts +0 -2
  98. package/src/base/primitives/compound/CompoundDetailsButton.tsx +8 -12
  99. package/src/base/primitives/compound/CompoundNodeContainer.css.ts +4 -3
  100. package/src/base/primitives/compound/CompoundNodeContainer.tsx +2 -2
  101. package/src/base/primitives/compound/CompoundTitle.css.ts +2 -2
  102. package/src/base/primitives/customNode.ts +1 -1
  103. package/src/base/primitives/edge/EdgeContainer.tsx +27 -14
  104. package/src/base/primitives/edge/EdgeLabel.css.ts +19 -15
  105. package/src/base/primitives/edge/EdgeLabel.tsx +6 -9
  106. package/src/base/primitives/edge/EdgePath.tsx +28 -16
  107. package/src/base/primitives/edge/edge.css.ts +18 -17
  108. package/src/base/primitives/element/ElementActionButtons.css.ts +1 -1
  109. package/src/base/primitives/element/ElementDetailsButton.css.ts +0 -2
  110. package/src/base/primitives/element/ElementDetailsButton.tsx +9 -13
  111. package/src/base/primitives/element/ElementNodeContainer.css.ts +53 -4
  112. package/src/base/primitives/element/ElementNodeContainer.tsx +1 -2
  113. package/src/base/primitives/element/ElementShape.css.ts +15 -3
  114. package/src/base/primitives/element/ElementTitle.css.ts +4 -1
  115. package/src/base/primitives/element/ElementTitle.tsx +5 -4
  116. package/src/base/primitives/element/vars.css.ts +5 -0
  117. package/src/components/Link.css.ts +1 -1
  118. package/src/components/SearchControl.css.ts +15 -7
  119. package/src/components/SearchControl.tsx +2 -2
  120. package/src/context/ControlsCustomLayout.ts +16 -0
  121. package/src/context/RootContainer.tsx +6 -4
  122. package/src/index.ts +1 -0
  123. package/src/likec4diagram/XYFlow.tsx +9 -3
  124. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +32 -21
  125. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.tsx +1 -1
  126. package/src/likec4diagram/custom/edges/edges.css.ts +15 -0
  127. package/src/likec4diagram/custom/index.tsx +14 -1
  128. package/src/likec4diagram/custom/nodes/nodeTypes.tsx +61 -59
  129. package/src/likec4diagram/ui/controls/Controls.tsx +102 -61
  130. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +19 -20
  131. package/src/likec4diagram/ui/controls/styles.css.ts +8 -3
  132. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +4 -9
  133. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +1 -2
  134. package/src/likec4diagram/ui/notation/NotationPanel.css.ts +14 -1
  135. package/src/likec4diagram/ui/notation/NotationPanel.tsx +1 -1
  136. package/src/likec4diagram/ui/search/ElementsColumn.css.ts +1 -2
  137. package/src/likec4diagram/ui/search/ElementsColumn.tsx +1 -1
  138. package/src/likec4diagram/ui/search/LikeC4Search.css.ts +1 -3
  139. package/src/likec4diagram/ui/search/SearchInput.tsx +1 -1
  140. package/src/likec4diagram/ui/search/ViewsColum.tsx +1 -2
  141. package/src/likec4diagram/ui/search/ViewsColumn.css.ts +1 -1
  142. package/src/likec4diagram/ui/search/_shared.css.ts +2 -3
  143. package/src/likec4model/useLikeC4Model.ts +1 -1
  144. package/src/overlays/element-details/ElementDetailsCard.css.ts +8 -5
  145. package/src/overlays/element-details/ElementDetailsCard.tsx +11 -7
  146. package/src/overlays/overlay/Overlay.css.ts +11 -7
  147. package/src/overlays/overlay/Overlay.tsx +10 -6
  148. package/src/overlays/relationship-details/RelationshipDetails.tsx +1 -5
  149. package/src/overlays/relationship-details/useLayoutedDetails.ts +4 -4
  150. package/src/state/DiagramActorProvider.tsx +0 -1
  151. package/src/state/assign.ts +15 -1
  152. package/src/state/diagram-machine.ts +45 -38
  153. package/src/state/persistence.ts +1 -1
  154. package/src/theme-vars.css.ts +0 -12
  155. package/src/theme-vars.ts +16 -4
  156. package/src/utils/css.ts +7 -0
  157. package/dist/base/primitives/element/styles.css.js +0 -8
  158. package/dist/globals.css.d.ts +0 -3
  159. package/dist/globals.css.js +0 -5
  160. package/dist/likec4diagram/ui/search/_shared.css.js +0 -5
  161. package/src/base/primitives/element/styles.css.ts +0 -52
  162. package/src/globals.css.ts +0 -131
  163. /package/dist/base/primitives/element/{styles.css.d.ts → vars.css.d.ts} +0 -0
  164. /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
  165. /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
  166. /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
  167. /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
  168. /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
  169. /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
  170. /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
  171. /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
  172. /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
  173. /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
  174. /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
  175. /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
  176. /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
  177. /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
  178. /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
  179. /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
  180. /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
  181. /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
  182. /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
  183. /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
  184. /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
  185. /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
  186. /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
  187. /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
  188. /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
  189. /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
  190. /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
  191. /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
  192. /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
  193. /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
  194. /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
  195. /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
  196. /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
  197. /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
  198. /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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
  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/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
@@ -124,6 +124,10 @@ function useDiagramActorSnapshot(selector, compare = shallowEqual) {
124
124
  const actorRef = useDiagramActorRef();
125
125
  return useSelector(actorRef, useCallbackRef(selector), compare);
126
126
  }
127
+ function useDiagramSyncLayoutState(selector, compare = shallowEqual) {
128
+ const syncLayoutActorRef = useDiagramActorSnapshot((s) => s.context.syncLayoutActorRef);
129
+ return useSelector(syncLayoutActorRef, useCallbackRef(selector), compare);
130
+ }
127
131
  function useDiagramContext(selector, compare = shallowEqual) {
128
132
  return useDiagramActorSnapshot(useCallbackRef((s) => selector(s.context)), compare);
129
133
  }
@@ -131,5 +135,6 @@ export {
131
135
  useDiagram,
132
136
  useDiagramActorRef,
133
137
  useDiagramActorSnapshot,
134
- useDiagramContext
138
+ useDiagramContext,
139
+ useDiagramSyncLayoutState
135
140
  };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export type { ControlsCustomLayout, ControlsCustomLayoutProps } from './context/ControlsCustomLayout';
1
2
  export { FramerMotionConfig } from './context/FramerMotionConfig';
2
3
  export { LikeC4Diagram } from './LikeC4Diagram';
3
4
  export type { LikeC4DiagramProps } from './LikeC4Diagram';
@@ -1,11 +1,7 @@
1
+ import { PropsWithChildren, NamedExoticComponent } from 'react';
1
2
  import { EnforceOptional } from 'type-fest/source/enforce-optional';
2
3
  import { LikeC4DiagramProperties } from '../LikeC4Diagram.props';
3
- import { NamedExoticComponent } from 'react';
4
4
  type Picked = EnforceOptional<Pick<LikeC4DiagramProperties, 'background' | 'nodesDraggable' | 'nodesSelectable'>>;
5
- export type LikeC4DiagramXYFlowProps = Required<Picked>;
6
- export declare const LikeC4DiagramXYFlow: NamedExoticComponent<Required<{
7
- background?: "solid" | "transparent" | "dots" | "lines" | "cross";
8
- nodesDraggable?: boolean;
9
- nodesSelectable?: boolean;
10
- }>>;
5
+ export type LikeC4DiagramXYFlowProps = PropsWithChildren<Required<Picked>>;
6
+ export declare const LikeC4DiagramXYFlow: NamedExoticComponent<LikeC4DiagramXYFlowProps>;
11
7
  export {};
@@ -1,4 +1,4 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { nonNullable } from "@likec4/core";
3
3
  import { useCallbackRef } from "@mantine/hooks";
4
4
  import clsx from "clsx";
@@ -6,11 +6,10 @@ import { shallowEqual } from "fast-equals";
6
6
  import { memo } from "react";
7
7
  import { BaseXYFlow } from "../base/BaseXYFlow.js";
8
8
  import { useDiagram, useDiagramContext } from "../hooks/useDiagram.js";
9
- import { edgeTypes } from "./custom/index.js";
9
+ import { edgeTypes, nodeTypes } from "./custom/index.js";
10
10
  import { DiagramUI } from "./DiagramUI.js";
11
11
  import { useLayoutConstraints } from "./useLayoutConstraints.js";
12
12
  import { useDiagramEventHandlers } from "../context/DiagramEventHandlers.js";
13
- import { nodeTypes } from "./custom/nodes/nodeTypes.js";
14
13
  const selectXYProps = (ctx) => ({
15
14
  initialized: ctx.initialized,
16
15
  nodes: ctx.xynodes,
@@ -29,7 +28,12 @@ const selectXYProps = (ctx) => ({
29
28
  }
30
29
  });
31
30
  const equalsXYProps = (a, b) => a.initialized === b.initialized && a.pannable === b.pannable && a.zoomable === b.zoomable && a.fitViewPadding === b.fitViewPadding && a.enableFitView === b.enableFitView && a.enableReadOnly === b.enableReadOnly && shallowEqual(a.nodes, b.nodes) && shallowEqual(a.edges, b.edges) && shallowEqual(a.viewport, b.viewport);
32
- const LikeC4DiagramXYFlow = memo(({ background, nodesDraggable, nodesSelectable }) => {
31
+ const LikeC4DiagramXYFlow = memo(({
32
+ background,
33
+ nodesDraggable,
34
+ nodesSelectable,
35
+ children
36
+ }) => {
33
37
  const diagram = useDiagram();
34
38
  const {
35
39
  initialized,
@@ -53,7 +57,7 @@ const LikeC4DiagramXYFlow = memo(({ background, nodesDraggable, nodesSelectable
53
57
  const onViewportResize = useCallbackRef(() => {
54
58
  diagram.send({ type: "xyflow.resized" });
55
59
  });
56
- return /* @__PURE__ */ jsx(
60
+ return /* @__PURE__ */ jsxs(
57
61
  BaseXYFlow,
58
62
  {
59
63
  nodes,
@@ -120,7 +124,10 @@ const LikeC4DiagramXYFlow = memo(({ background, nodesDraggable, nodesSelectable
120
124
  nodesSelectable,
121
125
  ...notReadOnly && nodesDraggable && layoutConstraints,
122
126
  ...props,
123
- children: /* @__PURE__ */ jsx(DiagramUI, {})
127
+ children: [
128
+ /* @__PURE__ */ jsx(DiagramUI, {}),
129
+ children
130
+ ]
124
131
  }
125
132
  );
126
133
  }, shallowEqual);
@@ -1,14 +1,16 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { nonNullable, isStepEdgeId } from "@likec4/core";
3
3
  import { useDebouncedEffect } from "@react-hookz/web";
4
+ import { EdgeLabelRenderer } from "@xyflow/react";
4
5
  import clsx from "clsx";
5
6
  import { line, curveCatmullRomOpen } from "d3-shape";
6
7
  import { useState, useRef, useEffect } from "react";
7
8
  import { isTruthy, first, last } from "remeda";
8
9
  import { useDiagram } from "../../../hooks/useDiagram.js";
10
+ import { useIsReducedGraphics } from "../../../hooks/useIsReducedGraphics.js";
9
11
  import { VectorImpl, vector } from "../../../utils/vector.js";
10
12
  import { isSamePoint, bezierControlPoints, bezierPath } from "../../../utils/xyflow.js";
11
- import { controlPoint, controlDragging } from "./edges.css.js";
13
+ import { controlPointsContainer, controlPoint, controlDragging } from "./edges.css.js";
12
14
  import { NotePopover } from "./NotePopover.js";
13
15
  import { RelationshipsDropdownMenu } from "./RelationshipsDropdownMenu.js";
14
16
  import { getNodeIntersectionFromCenterToPoint } from "./utils.js";
@@ -22,6 +24,7 @@ import { EdgeActionButton } from "../../../base/primitives/edge/EdgeActionButton
22
24
  const curve = line().curve(curveCatmullRomOpen).x((d) => d.x).y((d) => d.y);
23
25
  const RelationshipEdge = customEdge((props) => {
24
26
  var _a;
27
+ const isReducedGraphicsMode = useIsReducedGraphics();
25
28
  const [isControlPointDragging, setIsControlPointDragging] = useState(false);
26
29
  const xyflowStore = useXYStoreApi();
27
30
  const xyflow = useXYFlow();
@@ -39,10 +42,11 @@ const RelationshipEdge = customEdge((props) => {
39
42
  target,
40
43
  targetX,
41
44
  targetY,
45
+ selected = false,
42
46
  data: {
43
47
  id: edgeId,
44
- navigateTo,
45
48
  points,
49
+ hovered = false,
46
50
  active = false,
47
51
  dimmed = false,
48
52
  labelBBox,
@@ -50,6 +54,7 @@ const RelationshipEdge = customEdge((props) => {
50
54
  ...data
51
55
  }
52
56
  } = props;
57
+ const navigateTo = enableNavigateTo ? data.navigateTo : void 0;
53
58
  const sourceNode = nonNullable(useXYInternalNode(source), `source node ${source} not found`);
54
59
  const targetNode = nonNullable(useXYInternalNode(target), `target node ${target} not found`);
55
60
  const isModified = isTruthy(data.controlPoints) || !isSamePoint(sourceNode.internals.positionAbsolute, sourceNode.data.position) || !isSamePoint(targetNode.internals.positionAbsolute, targetNode.data.position);
@@ -243,7 +248,7 @@ const RelationshipEdge = customEdge((props) => {
243
248
  const notes = props.data.notes;
244
249
  if (notes && isStepEdgeId(props.id) && ((_a = diagram.getContext().activeWalkthrough) == null ? void 0 : _a.stepId) === props.id) {
245
250
  renderLabel = (props2) => /* @__PURE__ */ jsx(NotePopover, { notes, children: /* @__PURE__ */ jsx("div", { ...props2 }) });
246
- } else if (enableRelationshipDetails) {
251
+ } else if (enableRelationshipDetails && (!isReducedGraphicsMode || hovered || selected || active)) {
247
252
  renderLabel = (props2) => /* @__PURE__ */ jsx(
248
253
  RelationshipsDropdownMenu,
249
254
  {
@@ -258,26 +263,6 @@ const RelationshipEdge = customEdge((props) => {
258
263
  }
259
264
  return /* @__PURE__ */ jsxs(EdgeContainer, { ...props, className: clsx(isControlPointDragging && controlDragging), children: [
260
265
  /* @__PURE__ */ jsx(EdgePath, { ...props, svgPath: edgePath, ref: svgPathRef, onEdgePointerDown }),
261
- enableEdgeEditing && /* @__PURE__ */ jsx(
262
- "g",
263
- {
264
- onContextMenu: (e) => {
265
- e.preventDefault();
266
- e.stopPropagation();
267
- },
268
- children: controlPoints.map((p, i) => /* @__PURE__ */ jsx(
269
- "circle",
270
- {
271
- onPointerDown: (e) => onControlPointerDown(i, e),
272
- className: controlPoint,
273
- cx: p.x,
274
- cy: p.y,
275
- r: 3
276
- },
277
- i
278
- ))
279
- }
280
- ),
281
266
  /* @__PURE__ */ jsx(
282
267
  EdgeLabel,
283
268
  {
@@ -288,7 +273,7 @@ const RelationshipEdge = customEdge((props) => {
288
273
  translate: isModified ? "translate(-50%, 0)" : void 0
289
274
  },
290
275
  ...renderLabel && { renderRoot: renderLabel },
291
- children: !isControlPointDragging && enableNavigateTo && navigateTo && /* @__PURE__ */ jsx(
276
+ children: !isControlPointDragging && navigateTo && /* @__PURE__ */ jsx(
292
277
  EdgeActionButton,
293
278
  {
294
279
  ...props,
@@ -299,7 +284,27 @@ const RelationshipEdge = customEdge((props) => {
299
284
  }
300
285
  )
301
286
  }
302
- )
287
+ ),
288
+ enableEdgeEditing && controlPoints.length > 0 && /* @__PURE__ */ jsx(EdgeLabelRenderer, { children: /* @__PURE__ */ jsx(EdgeContainer, { component: "svg", className: controlPointsContainer, ...props, children: /* @__PURE__ */ jsx(
289
+ "g",
290
+ {
291
+ onContextMenu: (e) => {
292
+ e.preventDefault();
293
+ e.stopPropagation();
294
+ },
295
+ children: controlPoints.map((p, i) => /* @__PURE__ */ jsx(
296
+ "circle",
297
+ {
298
+ onPointerDown: (e) => onControlPointerDown(i, e),
299
+ className: clsx("nodrag nopan", controlPoint),
300
+ cx: Math.round(p.x),
301
+ cy: Math.round(p.y),
302
+ r: 3
303
+ },
304
+ i
305
+ ))
306
+ }
307
+ ) }) })
303
308
  ] });
304
309
  });
305
310
  export {
@@ -1,2 +1,3 @@
1
+ export declare const controlPointsContainer: string;
1
2
  export declare const controlPoint: string;
2
3
  export declare const controlDragging: string;
@@ -1,7 +1,9 @@
1
1
  /* empty css */
2
- var controlPoint = "_1fw3wl00";
3
- var controlDragging = "_1fw3wl01";
2
+ var controlPointsContainer = "_1fw3wl00";
3
+ var controlPoint = "_1fw3wl01";
4
+ var controlDragging = "_1fw3wl02";
4
5
  export {
5
6
  controlDragging,
6
- controlPoint
7
+ controlPoint,
8
+ controlPointsContainer
7
9
  };
@@ -1,7 +1,15 @@
1
+ import { Types } from '../types';
1
2
  import { NamedExoticComponent, CSSProperties, ReactNode } from 'react';
3
+ import { NodeProps } from '../../base';
2
4
  import { Position, XYPosition } from '@xyflow/system';
3
5
  import { EdgeId, NonEmptyArray, Point, Color, ViewId, RelationshipArrowType, RelationshipLineType, BBox } from '@likec4/core';
4
- export { nodeTypes } from './nodes/nodeTypes';
6
+ export declare const nodeTypes: {
7
+ element: NamedExoticComponent<NodeProps<Types.ElementNodeData>>;
8
+ deployment: NamedExoticComponent<NodeProps<Types.DeploymentElementNodeData>>;
9
+ 'compound-element': NamedExoticComponent<NodeProps<Types.CompoundElementNodeData>>;
10
+ 'compound-deployment': NamedExoticComponent<NodeProps<Types.CompoundDeploymentNodeData>>;
11
+ 'view-group': NamedExoticComponent<NodeProps<Types.ViewGroupNodeData>>;
12
+ };
5
13
  export declare const edgeTypes: {
6
14
  relationship: NamedExoticComponent<{
7
15
  source: string;
@@ -1,7 +1,16 @@
1
1
  import { RelationshipEdge } from "./edges/RelationshipEdge.js";
2
+ import { ViewGroupNode, CompoundDeploymentNode, CompoundElementNode, DeploymentNode, ElementNode } from "./nodes/nodeTypes.js";
3
+ const nodeTypes = {
4
+ element: ElementNode,
5
+ deployment: DeploymentNode,
6
+ "compound-element": CompoundElementNode,
7
+ "compound-deployment": CompoundDeploymentNode,
8
+ "view-group": ViewGroupNode
9
+ };
2
10
  const edgeTypes = {
3
11
  relationship: RelationshipEdge
4
12
  };
5
13
  export {
6
- edgeTypes
14
+ edgeTypes,
15
+ nodeTypes
7
16
  };
@@ -1,10 +1,8 @@
1
1
  import { NodeProps } from '../../../base';
2
2
  import { Types } from '../../types';
3
3
  import { NamedExoticComponent } from 'react';
4
- export declare const nodeTypes: {
5
- element: NamedExoticComponent<NodeProps<Types.ElementNodeData>>;
6
- deployment: NamedExoticComponent<NodeProps<Types.DeploymentElementNodeData>>;
7
- 'compound-element': NamedExoticComponent<NodeProps<Types.CompoundElementNodeData>>;
8
- 'compound-deployment': NamedExoticComponent<NodeProps<Types.CompoundDeploymentNodeData>>;
9
- 'view-group': NamedExoticComponent<NodeProps<Types.ViewGroupNodeData>>;
10
- };
4
+ export declare const ElementNode: NamedExoticComponent<NodeProps<Types.ElementNodeData>>;
5
+ export declare const DeploymentNode: NamedExoticComponent<NodeProps<Types.DeploymentElementNodeData>>;
6
+ export declare const CompoundElementNode: NamedExoticComponent<NodeProps<Types.CompoundElementNodeData>>;
7
+ export declare const CompoundDeploymentNode: NamedExoticComponent<NodeProps<Types.CompoundDeploymentNodeData>>;
8
+ export declare const ViewGroupNode: NamedExoticComponent<NodeProps<Types.ViewGroupNodeData>>;
@@ -8,8 +8,8 @@ import { DeploymentElementToolbar, ElementToolbar } from "./toolbar/ElementToolb
8
8
  import { customNode } from "../../../base/primitives/customNode.js";
9
9
  import { CompoundNodeContainer } from "../../../base/primitives/compound/CompoundNodeContainer.js";
10
10
  import { CompoundTitle } from "../../../base/primitives/compound/CompoundTitle.js";
11
- import { DefaultHandles } from "../../../base/primitives/NodeHandles.js";
12
11
  import { IfNotEnabled, IfEnabled, useEnabledFeature } from "../../../context/DiagramFeatures.js";
12
+ import { DefaultHandles } from "../../../base/primitives/NodeHandles.js";
13
13
  import { CompoundDetailsButton } from "../../../base/primitives/compound/CompoundDetailsButton.js";
14
14
  import { ElementNodeContainer } from "../../../base/primitives/element/ElementNodeContainer.js";
15
15
  import { ElementShape } from "../../../base/primitives/element/ElementShape.js";
@@ -30,65 +30,67 @@ const ElementDetailsButtonWithHandler = ({ fqn, ...props }) => {
30
30
  }
31
31
  );
32
32
  };
33
- const nodeTypes = {
34
- element: customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { nodeProps: props, children: [
35
- /* @__PURE__ */ jsx(ElementShape, { ...props, isMultiple: props.data.isMultiple, withSelectedIndicator: props.selected }),
36
- /* @__PURE__ */ jsx(ElementTitle, { ...props }),
37
- /* @__PURE__ */ jsx(ElementActions, { ...props }),
38
- /* @__PURE__ */ jsx(
39
- ElementDetailsButtonWithHandler,
40
- {
41
- fqn: props.data.modelFqn,
42
- ...props
43
- }
44
- ),
45
- /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(ElementToolbar, { ...props }) }),
46
- /* @__PURE__ */ jsx(DefaultHandles, {})
47
- ] })),
48
- deployment: customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { nodeProps: props, children: [
49
- /* @__PURE__ */ jsx(ElementShape, { ...props, isMultiple: props.data.isMultiple, withSelectedIndicator: props.selected }),
50
- /* @__PURE__ */ jsx(ElementTitle, { ...props }),
51
- /* @__PURE__ */ jsx(DeploymentElementActions, { ...props }),
52
- !!props.data.modelFqn && /* @__PURE__ */ jsx(
53
- ElementDetailsButtonWithHandler,
54
- {
55
- fqn: props.data.modelFqn,
56
- ...props
57
- }
58
- ),
59
- /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(DeploymentElementToolbar, { ...props }) }),
60
- /* @__PURE__ */ jsx(DefaultHandles, {})
61
- ] })),
62
- "compound-element": customNode((props) => {
63
- const diagram = useDiagram();
64
- return /* @__PURE__ */ jsxs(CompoundNodeContainer, { nodeProps: props, children: [
65
- /* @__PURE__ */ jsx(CompoundTitle, { ...props }),
66
- /* @__PURE__ */ jsx(CompoundActions, { ...props }),
67
- /* @__PURE__ */ jsx(IfEnabled, { feature: "ElementDetails", children: /* @__PURE__ */ jsx(
68
- CompoundDetailsButton,
69
- {
70
- ...props,
71
- onClick: (e) => {
72
- e.stopPropagation();
73
- diagram.openElementDetails(props.data.modelFqn, props.id);
74
- }
75
- }
76
- ) }),
77
- /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(CompoundElementToolbar, { ...props }) }),
78
- /* @__PURE__ */ jsx(DefaultHandles, {})
79
- ] });
80
- }),
81
- "compound-deployment": customNode((props) => /* @__PURE__ */ jsxs(CompoundNodeContainer, { nodeProps: props, children: [
33
+ const ElementNode = customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { nodeProps: props, children: [
34
+ /* @__PURE__ */ jsx(ElementShape, { ...props, isMultiple: props.data.isMultiple, withSelectedIndicator: props.selected }),
35
+ /* @__PURE__ */ jsx(ElementTitle, { ...props }),
36
+ /* @__PURE__ */ jsx(ElementActions, { ...props }),
37
+ /* @__PURE__ */ jsx(
38
+ ElementDetailsButtonWithHandler,
39
+ {
40
+ fqn: props.data.modelFqn,
41
+ ...props
42
+ }
43
+ ),
44
+ /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(ElementToolbar, { ...props }) }),
45
+ /* @__PURE__ */ jsx(DefaultHandles, {})
46
+ ] }));
47
+ const DeploymentNode = customNode((props) => /* @__PURE__ */ jsxs(ElementNodeContainer, { nodeProps: props, children: [
48
+ /* @__PURE__ */ jsx(ElementShape, { ...props, isMultiple: props.data.isMultiple, withSelectedIndicator: props.selected }),
49
+ /* @__PURE__ */ jsx(ElementTitle, { ...props }),
50
+ /* @__PURE__ */ jsx(DeploymentElementActions, { ...props }),
51
+ !!props.data.modelFqn && /* @__PURE__ */ jsx(
52
+ ElementDetailsButtonWithHandler,
53
+ {
54
+ fqn: props.data.modelFqn,
55
+ ...props
56
+ }
57
+ ),
58
+ /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(DeploymentElementToolbar, { ...props }) }),
59
+ /* @__PURE__ */ jsx(DefaultHandles, {})
60
+ ] }));
61
+ const CompoundElementNode = customNode((props) => {
62
+ const diagram = useDiagram();
63
+ return /* @__PURE__ */ jsxs(CompoundNodeContainer, { nodeProps: props, children: [
82
64
  /* @__PURE__ */ jsx(CompoundTitle, { ...props }),
83
65
  /* @__PURE__ */ jsx(CompoundActions, { ...props }),
84
- /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(CompoundDeploymentToolbar, { ...props }) }),
85
- /* @__PURE__ */ jsx(DefaultHandles, {})
86
- ] })),
87
- "view-group": customNode((props) => /* @__PURE__ */ jsxs(CompoundNodeContainer, { nodeProps: props, children: [
88
- /* @__PURE__ */ jsx(CompoundTitle, { ...props }),
66
+ /* @__PURE__ */ jsx(IfEnabled, { feature: "ElementDetails", children: /* @__PURE__ */ jsx(
67
+ CompoundDetailsButton,
68
+ {
69
+ ...props,
70
+ onClick: (e) => {
71
+ e.stopPropagation();
72
+ diagram.openElementDetails(props.data.modelFqn, props.id);
73
+ }
74
+ }
75
+ ) }),
76
+ /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(CompoundElementToolbar, { ...props }) }),
89
77
  /* @__PURE__ */ jsx(DefaultHandles, {})
90
- ] }))
91
- };
78
+ ] });
79
+ });
80
+ const CompoundDeploymentNode = customNode((props) => /* @__PURE__ */ jsxs(CompoundNodeContainer, { nodeProps: props, children: [
81
+ /* @__PURE__ */ jsx(CompoundTitle, { ...props }),
82
+ /* @__PURE__ */ jsx(CompoundActions, { ...props }),
83
+ /* @__PURE__ */ jsx(IfNotEnabled, { feature: "ReadOnly", children: /* @__PURE__ */ jsx(CompoundDeploymentToolbar, { ...props }) }),
84
+ /* @__PURE__ */ jsx(DefaultHandles, {})
85
+ ] }));
86
+ const ViewGroupNode = customNode((props) => /* @__PURE__ */ jsxs(CompoundNodeContainer, { nodeProps: props, children: [
87
+ /* @__PURE__ */ jsx(CompoundTitle, { ...props }),
88
+ /* @__PURE__ */ jsx(DefaultHandles, {})
89
+ ] }));
92
90
  export {
93
- nodeTypes
91
+ CompoundDeploymentNode,
92
+ CompoundElementNode,
93
+ DeploymentNode,
94
+ ElementNode,
95
+ ViewGroupNode
94
96
  };
@@ -1,27 +1,80 @@
1
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { Group, Stack, ActionIconGroup } from "@mantine/core";
3
- import { IconMenu2, IconFileSymlink, IconFocusCentered } from "@tabler/icons-react";
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { ActionIconGroup, Group, Stack, Box, Badge, Loader } from "@mantine/core";
3
+ import { IconFileSymlink, IconFocusCentered, IconMenu2 } from "@tabler/icons-react";
4
4
  import { clsx } from "clsx";
5
- import { LayoutGroup } from "framer-motion";
5
+ import { LayoutGroup, AnimatePresence, m } from "framer-motion";
6
6
  import { memo } from "react";
7
- import { useDiagramContext, useDiagram } from "../../../hooks/useDiagram.js";
7
+ import { useControlsCustomLayout } from "../../../context/ControlsCustomLayout.js";
8
+ import { useDiagramContext, useDiagram, useDiagramSyncLayoutState } from "../../../hooks/useDiagram.js";
8
9
  import { LikeC4Search } from "../search/LikeC4Search.js";
9
- import { ActionIcon, Tooltip } from "./_shared.js";
10
+ import { Tooltip, ActionIcon } from "./_shared.js";
10
11
  import { ChangeAutoLayoutButton } from "./ChangeAutoLayoutButton.js";
11
12
  import { LayoutDriftNotification } from "./LayoutDriftNotification.js";
12
13
  import { ManualLayoutToolsButton } from "./ManualLayoutToolsButton.js";
13
14
  import { NavigationButtons } from "./NavigationButtons.js";
14
- import { navigationButtons, actionIconGroup, panel } from "./styles.css.js";
15
+ import { actionIconGroup, navigationButtons, panel } from "./styles.css.js";
15
16
  import { ToggleReadonly } from "./ToggleReadonly.js";
16
17
  import { useDiagramEventHandlers } from "../../../context/DiagramEventHandlers.js";
17
18
  import { useEnabledFeatures } from "../../../context/DiagramFeatures.js";
18
19
  import { useMantinePortalProps } from "../../../hooks/useMantinePortalProps.js";
19
20
  import { stopPropagation } from "../../../utils/xyflow.js";
21
+ const ControlsDefaultLayout = ({
22
+ burgerMenu,
23
+ navigationButtons: navigationButtons$1,
24
+ search,
25
+ actionsGroup
26
+ }) => /* @__PURE__ */ jsxs(
27
+ Group,
28
+ {
29
+ component: m.div,
30
+ initial: {
31
+ opacity: 0.05,
32
+ translateX: -30,
33
+ translateY: -16
34
+ },
35
+ animate: {
36
+ opacity: 1,
37
+ translateX: 0,
38
+ translateY: 0
39
+ },
40
+ exit: {
41
+ opacity: 0.05,
42
+ translateX: -30,
43
+ translateY: -10
44
+ },
45
+ align: "flex-start",
46
+ className: clsx(
47
+ "react-flow__panel",
48
+ panel,
49
+ "likec4-top-left-panel"
50
+ ),
51
+ gap: "xs",
52
+ onClick: stopPropagation,
53
+ children: [
54
+ /* @__PURE__ */ jsxs(Stack, { align: "flex-start", gap: "xs", children: [
55
+ /* @__PURE__ */ jsx(LayoutGroup, { children: /* @__PURE__ */ jsxs(
56
+ Group,
57
+ {
58
+ className: clsx(navigationButtons, "likec4-navigation-webview"),
59
+ gap: "xs",
60
+ children: [
61
+ burgerMenu,
62
+ navigationButtons$1
63
+ ]
64
+ }
65
+ ) }),
66
+ actionsGroup
67
+ ] }),
68
+ /* @__PURE__ */ jsx(Box, { children: search })
69
+ ]
70
+ }
71
+ );
20
72
  const Controls = memo(() => {
21
- const { viewId, hasLayoutDrift, viewportChanged } = useDiagramContext((c) => ({
73
+ const { viewId, hasLayoutDrift, viewportChanged, isNotActiveWalkthrough } = useDiagramContext((c) => ({
22
74
  viewId: c.view.id,
23
75
  hasLayoutDrift: c.view.hasLayoutDrift ?? false,
24
- viewportChanged: c.viewportChangedManually
76
+ viewportChanged: c.viewportChangedManually,
77
+ isNotActiveWalkthrough: c.activeWalkthrough === null
25
78
  }));
26
79
  const diagram = useDiagram();
27
80
  const {
@@ -37,73 +90,59 @@ const Controls = memo(() => {
37
90
  } = useEnabledFeatures();
38
91
  const notReadOnly = !enableReadOnly;
39
92
  const portalProps = useMantinePortalProps();
40
- return /* @__PURE__ */ jsxs(
41
- Group,
93
+ const ControlsLayout = useControlsCustomLayout() ?? ControlsDefaultLayout;
94
+ return /* @__PURE__ */ jsx(LayoutGroup, { inherit: false, children: /* @__PURE__ */ jsx(AnimatePresence, { initial: false, mode: "wait", children: isNotActiveWalkthrough && /* @__PURE__ */ jsx(
95
+ ControlsLayout,
42
96
  {
43
- align: "flex-start",
44
- className: clsx(
45
- "react-flow__panel",
46
- panel,
47
- "likec4-top-left-panel"
97
+ burgerMenu: onBurgerMenuClick && /* @__PURE__ */ jsx(
98
+ ActionIcon,
99
+ {
100
+ onClick: (e) => {
101
+ e.stopPropagation();
102
+ onBurgerMenuClick();
103
+ },
104
+ children: /* @__PURE__ */ jsx(IconMenu2, {})
105
+ }
48
106
  ),
49
- gap: "xs",
50
- onClick: stopPropagation,
51
- children: [
52
- /* @__PURE__ */ jsxs(Stack, { align: "flex-start", gap: "xs", children: [
53
- /* @__PURE__ */ jsx(LayoutGroup, { children: /* @__PURE__ */ jsxs(
54
- Group,
55
- {
56
- className: clsx(navigationButtons, "likec4-navigation-webview"),
57
- gap: "xs",
58
- children: [
59
- onBurgerMenuClick && /* @__PURE__ */ jsx(
60
- ActionIcon,
61
- {
62
- onClick: (e) => {
63
- e.stopPropagation();
64
- onBurgerMenuClick();
65
- },
66
- children: /* @__PURE__ */ jsx(IconMenu2, {})
67
- }
68
- ),
69
- enableNavigationButtons && /* @__PURE__ */ jsx(NavigationButtons, {})
70
- ]
71
- }
72
- ) }),
73
- /* @__PURE__ */ jsxs(ActionIconGroup, { className: actionIconGroup, orientation: "vertical", children: [
74
- enableVscode && /* @__PURE__ */ jsx(Tooltip, { label: "Open source", ...portalProps, children: /* @__PURE__ */ jsx(
75
- ActionIcon,
76
- {
77
- onClick: (e) => {
78
- e.stopPropagation();
79
- onOpenSource == null ? void 0 : onOpenSource({ view: viewId });
80
- },
81
- children: /* @__PURE__ */ jsx(IconFileSymlink, { stroke: 1.5 })
82
- }
83
- ) }),
84
- enableControls && /* @__PURE__ */ jsx(ToggleReadonly, {}),
85
- enableControls && hasLayoutDrift && /* @__PURE__ */ jsx(LayoutDriftNotification, { ...portalProps }),
86
- enableControls && notReadOnly && /* @__PURE__ */ jsxs(Fragment, { children: [
87
- /* @__PURE__ */ jsx(ChangeAutoLayoutButton, { ...portalProps }),
88
- /* @__PURE__ */ jsx(ManualLayoutToolsButton, { ...portalProps })
89
- ] }),
90
- enableControls && /* @__PURE__ */ jsx(Tooltip, { label: viewportChanged ? "Center camera" : "Camera is centered", ...portalProps, children: /* @__PURE__ */ jsx(
91
- ActionIcon,
92
- {
93
- onClick: (e) => {
94
- e.stopPropagation();
95
- diagram.fitDiagram();
96
- },
97
- children: /* @__PURE__ */ jsx(IconFocusCentered, {})
98
- }
99
- ) })
100
- ] })
107
+ navigationButtons: enableNavigationButtons && /* @__PURE__ */ jsx(NavigationButtons, {}),
108
+ search: enableSearch && /* @__PURE__ */ jsx(LikeC4Search, {}),
109
+ syncInProgressBadge: /* @__PURE__ */ jsx(SyncLayoutBadge, {}),
110
+ actionsGroup: /* @__PURE__ */ jsxs(ActionIconGroup, { className: actionIconGroup, orientation: "vertical", children: [
111
+ enableVscode && /* @__PURE__ */ jsx(Tooltip, { label: "Open source", ...portalProps, children: /* @__PURE__ */ jsx(
112
+ ActionIcon,
113
+ {
114
+ onClick: (e) => {
115
+ e.stopPropagation();
116
+ onOpenSource == null ? void 0 : onOpenSource({ view: viewId });
117
+ },
118
+ children: /* @__PURE__ */ jsx(IconFileSymlink, { stroke: 1.5 })
119
+ }
120
+ ) }),
121
+ enableControls && /* @__PURE__ */ jsx(ToggleReadonly, {}),
122
+ enableControls && hasLayoutDrift && /* @__PURE__ */ jsx(LayoutDriftNotification, { ...portalProps }),
123
+ enableControls && notReadOnly && /* @__PURE__ */ jsxs(Fragment, { children: [
124
+ /* @__PURE__ */ jsx(ChangeAutoLayoutButton, { ...portalProps }),
125
+ /* @__PURE__ */ jsx(ManualLayoutToolsButton, { ...portalProps })
101
126
  ] }),
102
- /* @__PURE__ */ jsx(Group, { children: enableSearch && /* @__PURE__ */ jsx(LikeC4Search, {}) })
103
- ]
127
+ enableControls && /* @__PURE__ */ jsx(Tooltip, { label: viewportChanged ? "Center camera" : "Camera is centered", ...portalProps, children: /* @__PURE__ */ jsx(
128
+ ActionIcon,
129
+ {
130
+ onClick: (e) => {
131
+ e.stopPropagation();
132
+ diagram.fitDiagram();
133
+ },
134
+ children: /* @__PURE__ */ jsx(IconFocusCentered, {})
135
+ }
136
+ ) })
137
+ ] })
104
138
  }
105
- );
139
+ ) }) });
106
140
  });
141
+ const SyncLayoutBadge = () => {
142
+ const isPending = useDiagramSyncLayoutState((s) => s.hasTag("pending"));
143
+ if (!isPending) return null;
144
+ return /* @__PURE__ */ jsx(Badge, { color: "pink", radius: "xs", size: "xs", variant: "light", leftSection: /* @__PURE__ */ jsx(Loader, { color: "orange", size: 8 }), children: "Pending..." });
145
+ };
107
146
  export {
108
147
  Controls
109
148
  };