@likec4/diagram 1.55.1 → 1.56.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 (343) hide show
  1. package/dist/LikeC4Diagram.js +148 -194
  2. package/dist/LikeC4ModelProvider.js +13 -9
  3. package/dist/LikeC4ProjectsOverview.js +24 -30
  4. package/dist/LikeC4ProjectsProvider.js +33 -26
  5. package/dist/LikeC4Styles.js +40 -57
  6. package/dist/LikeC4View.js +156 -196
  7. package/dist/ReactLikeC4.js +43 -65
  8. package/dist/StaticLikeC4Diagram.js +36 -41
  9. package/dist/_virtual/_rolldown/runtime.js +17 -0
  10. package/dist/adhoc-editor/EditorPanel.js +102 -101
  11. package/dist/adhoc-editor/ElementsTree.js +113 -139
  12. package/dist/adhoc-editor/LikeC4AdHocViewEditor.js +77 -70
  13. package/dist/adhoc-editor/components/Tree.d.ts +2 -2
  14. package/dist/adhoc-editor/components/Tree.js +205 -288
  15. package/dist/adhoc-editor/hooks.js +28 -23
  16. package/dist/adhoc-editor/index.js +2 -1
  17. package/dist/adhoc-editor/state/ActorProvider.js +33 -36
  18. package/dist/adhoc-editor/state/actor.editor.js +148 -186
  19. package/dist/adhoc-editor/state/actor.js +12 -14
  20. package/dist/adhoc-editor/state/actor.layouter.js +49 -65
  21. package/dist/adhoc-editor/state/actor.types.js +19 -23
  22. package/dist/adhoc-editor/state/panel.js +112 -127
  23. package/dist/adhoc-editor/state/utils.js +22 -29
  24. package/dist/adhoc-editor/useElementsTree.js +89 -121
  25. package/dist/base/Background.js +26 -29
  26. package/dist/base/Base.js +34 -41
  27. package/dist/base/BaseXYFlow.js +135 -165
  28. package/dist/base/const.js +18 -19
  29. package/dist/base/updateEdges.js +38 -57
  30. package/dist/base/updateNodes.js +46 -65
  31. package/dist/base-primitives/Markdown.d.ts +1 -1
  32. package/dist/base-primitives/Markdown.js +32 -47
  33. package/dist/base-primitives/NodeHandles.js +39 -49
  34. package/dist/base-primitives/compound/CompoundActionButton.js +49 -69
  35. package/dist/base-primitives/compound/CompoundDetailsButton.js +39 -64
  36. package/dist/base-primitives/compound/CompoundNodeContainer.js +46 -66
  37. package/dist/base-primitives/compound/CompoundTitle.js +15 -12
  38. package/dist/base-primitives/compound/actionbtns.css.js +9 -18
  39. package/dist/base-primitives/edge/EdgeActionButton.js +17 -19
  40. package/dist/base-primitives/edge/EdgeContainer.js +29 -48
  41. package/dist/base-primitives/edge/EdgeLabel.js +44 -65
  42. package/dist/base-primitives/edge/EdgeLabelContainer.js +35 -73
  43. package/dist/base-primitives/edge/EdgeMarkers.js +157 -215
  44. package/dist/base-primitives/edge/EdgePath.js +62 -115
  45. package/dist/base-primitives/element/ElementActionButtons.js +92 -81
  46. package/dist/base-primitives/element/ElementData.js +107 -126
  47. package/dist/base-primitives/element/ElementDetailsButton.js +78 -98
  48. package/dist/base-primitives/element/ElementNodeContainer.js +51 -82
  49. package/dist/base-primitives/element/ElementShape.js +331 -317
  50. package/dist/base-primitives/element/ElementTags.d.ts +1 -1
  51. package/dist/base-primitives/element/ElementTags.js +133 -193
  52. package/dist/base-primitives/memoEdge.js +11 -10
  53. package/dist/base-primitives/memoNode.js +16 -20
  54. package/dist/components/ErrorFallback.js +111 -75
  55. package/dist/components/GithubIcon.js +14 -16
  56. package/dist/components/Link.js +99 -113
  57. package/dist/components/Logo.js +38 -41
  58. package/dist/components/NavigationLink.js +15 -23
  59. package/dist/components/NavigationPanel.js +26 -47
  60. package/dist/components/PortalToContainer.js +16 -10
  61. package/dist/components/RootContainer.js +35 -31
  62. package/dist/components/SearchControl.css.js +65 -75
  63. package/dist/components/SearchControl.js +36 -14
  64. package/dist/components/ViewNotFound.js +22 -29
  65. package/dist/context/CurrentViewModelProvider.js +11 -9
  66. package/dist/context/DefaultMantineProvider.js +45 -72
  67. package/dist/context/DiagramEventHandlers.js +43 -48
  68. package/dist/context/DiagramFeatures.js +73 -69
  69. package/dist/context/EnsureMantine.js +13 -16
  70. package/dist/context/FramerMotionConfig.js +17 -11
  71. package/dist/context/IconRenderer.js +90 -106
  72. package/dist/context/LikeC4ModelContext.js +14 -10
  73. package/dist/context/LikeC4ProjectsContext.js +7 -6
  74. package/dist/context/RootContainerContext.d.ts +2 -5
  75. package/dist/context/RootContainerContext.js +24 -26
  76. package/dist/context/TagStylesContext.js +49 -57
  77. package/dist/custom/customNodes.js +224 -28
  78. package/dist/custom/index.js +41 -40
  79. package/dist/editor/LikeC4EditorCallbacks.js +4 -2
  80. package/dist/editor/LikeC4EditorProvider.js +32 -7
  81. package/dist/editor/applyChangesToManualLayout.js +144 -163
  82. package/dist/editor/editorActor.actions.js +122 -138
  83. package/dist/editor/editorActor.setup.js +30 -36
  84. package/dist/editor/editorActor.states.js +209 -263
  85. package/dist/editor/hotkeyActor.js +18 -17
  86. package/dist/editor/useEditorActorLogic.js +31 -43
  87. package/dist/hooks/safeContext.js +17 -17
  88. package/dist/hooks/useCallbackRef.js +18 -11
  89. package/dist/hooks/useCurrentView.js +16 -7
  90. package/dist/hooks/useCurrentViewModel.js +14 -9
  91. package/dist/hooks/useDiagram.js +55 -37
  92. package/dist/hooks/useDiagramCompareLayout.js +77 -81
  93. package/dist/hooks/useId.js +8 -6
  94. package/dist/hooks/useLikeC4ElementsTree.js +22 -21
  95. package/dist/hooks/useLikeC4Model.js +21 -20
  96. package/dist/hooks/useLikeC4Project.js +40 -29
  97. package/dist/hooks/useLikeC4Styles.js +6 -6
  98. package/dist/hooks/useMantinePortalProps.js +10 -6
  99. package/dist/hooks/useOverlaysActor.js +7 -6
  100. package/dist/hooks/useSearchActor.js +7 -6
  101. package/dist/hooks/useSetState.js +21 -19
  102. package/dist/hooks/useUpdateEffect.js +18 -29
  103. package/dist/hooks/useXYFlow.js +13 -15
  104. package/dist/index.js +24 -23
  105. package/dist/likec4diagram/DiagramUI.js +33 -37
  106. package/dist/likec4diagram/DiagramXYFlow.js +215 -224
  107. package/dist/likec4diagram/convert-to-xyflow.js +21 -22
  108. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +22 -32
  109. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +275 -372
  110. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +71 -75
  111. package/dist/likec4diagram/custom/edges/edges.css.js +41 -47
  112. package/dist/likec4diagram/custom/edges/useControlPoints.js +52 -56
  113. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +54 -76
  114. package/dist/likec4diagram/custom/index.js +17 -17
  115. package/dist/likec4diagram/custom/nodes/CompoundActions.js +19 -26
  116. package/dist/likec4diagram/custom/nodes/ElementActions.js +131 -82
  117. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +20 -26
  118. package/dist/likec4diagram/custom/nodes/NodeNotes.js +215 -273
  119. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +131 -147
  120. package/dist/likec4diagram/custom/nodes/nodes.js +135 -146
  121. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +155 -159
  122. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.js +58 -86
  123. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +108 -164
  124. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +56 -68
  125. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +3 -6
  126. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +97 -102
  127. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +13 -13
  128. package/dist/likec4diagram/custom/nodes/toolbar/types.js +6 -5
  129. package/dist/likec4diagram/custom/nodes/toolbar/useHandlers.js +36 -41
  130. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +510 -541
  131. package/dist/likec4diagram/relationship-popover/actor.js +113 -152
  132. package/dist/likec4diagram/relationship-popover/components.js +39 -43
  133. package/dist/likec4diagram/state/DiagramActorProvider.js +135 -136
  134. package/dist/likec4diagram/state/aligners.js +283 -360
  135. package/dist/likec4diagram/state/assign.js +84 -108
  136. package/dist/likec4diagram/state/createViewChange.js +72 -92
  137. package/dist/likec4diagram/state/diagram-api.js +224 -152
  138. package/dist/likec4diagram/state/hotkeyActor.js +54 -45
  139. package/dist/likec4diagram/state/machine.actions.js +709 -821
  140. package/dist/likec4diagram/state/machine.actions.layout.js +154 -183
  141. package/dist/likec4diagram/state/machine.js +113 -134
  142. package/dist/likec4diagram/state/machine.setup.js +104 -113
  143. package/dist/likec4diagram/state/machine.state.initializing.js +54 -54
  144. package/dist/likec4diagram/state/machine.state.navigating.js +192 -227
  145. package/dist/likec4diagram/state/machine.state.ready.focused.js +72 -88
  146. package/dist/likec4diagram/state/machine.state.ready.idle.js +79 -98
  147. package/dist/likec4diagram/state/machine.state.ready.js +126 -202
  148. package/dist/likec4diagram/state/machine.state.ready.printing.js +38 -39
  149. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +153 -193
  150. package/dist/likec4diagram/state/mediaPrintActor.js +20 -16
  151. package/dist/likec4diagram/state/persistence.js +20 -21
  152. package/dist/likec4diagram/state/utils.js +131 -162
  153. package/dist/likec4diagram/ui/LayoutDriftFrame.js +53 -64
  154. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +58 -80
  155. package/dist/likec4diagram/ui/notation/NotationPanel.js +183 -214
  156. package/dist/likec4diagram/useLayoutConstraints.js +386 -433
  157. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +216 -227
  158. package/dist/likec4diagram/xyflow-sequence/const.js +11 -7
  159. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +177 -180
  160. package/dist/navigationpanel/NavigationPanel.js +113 -123
  161. package/dist/navigationpanel/NavigationPanelControls.js +124 -150
  162. package/dist/navigationpanel/NavigationPanelDropdown.js +365 -477
  163. package/dist/navigationpanel/_common.d.ts +4 -10
  164. package/dist/navigationpanel/_common.js +57 -70
  165. package/dist/navigationpanel/actor.js +153 -236
  166. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +66 -83
  167. package/dist/navigationpanel/comparepanel/ComparePanel.js +135 -164
  168. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +50 -58
  169. package/dist/navigationpanel/comparepanel/DriftsSummary.js +207 -254
  170. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +33 -35
  171. package/dist/navigationpanel/controls/DetailsControls.js +219 -246
  172. package/dist/navigationpanel/controls/LayoutWarning.js +89 -100
  173. package/dist/navigationpanel/controls/LogoButton.js +46 -70
  174. package/dist/navigationpanel/controls/NavigationButtons.js +35 -52
  175. package/dist/navigationpanel/controls/OpenSource.js +27 -25
  176. package/dist/navigationpanel/controls/SearchControl.js +50 -61
  177. package/dist/navigationpanel/controls/ToggleReadonly.js +84 -81
  178. package/dist/navigationpanel/dropdown/ProjectsMenu.js +69 -87
  179. package/dist/navigationpanel/editorpanel/CenterCamera.js +17 -13
  180. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +182 -154
  181. package/dist/navigationpanel/editorpanel/EditorPanel.js +47 -45
  182. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +122 -173
  183. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +20 -13
  184. package/dist/navigationpanel/editorpanel/_common.d.ts +3 -6
  185. package/dist/navigationpanel/editorpanel/_common.js +13 -13
  186. package/dist/navigationpanel/editorpanel/styles.js +58 -75
  187. package/dist/navigationpanel/hooks.js +35 -29
  188. package/dist/navigationpanel/styles.css.js +20 -28
  189. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +107 -134
  190. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +8 -8
  191. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +105 -120
  192. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +75 -83
  193. package/dist/overlays/Overlays.js +94 -112
  194. package/dist/overlays/element-details/ElementDetails.js +22 -28
  195. package/dist/overlays/element-details/ElementDetailsCard.css.js +198 -221
  196. package/dist/overlays/element-details/ElementDetailsCard.js +517 -499
  197. package/dist/overlays/element-details/MetadataValue.js +210 -250
  198. package/dist/overlays/element-details/TabPanelDeployments.css.js +40 -60
  199. package/dist/overlays/element-details/TabPanelDeployments.js +185 -178
  200. package/dist/overlays/element-details/TabPanelRelationships.css.js +63 -71
  201. package/dist/overlays/element-details/TabPanelRelationships.js +155 -140
  202. package/dist/overlays/element-details/TabPanelStructure.css.js +29 -33
  203. package/dist/overlays/element-details/TabPanelStructure.js +93 -93
  204. package/dist/overlays/element-details/actor.js +45 -55
  205. package/dist/overlays/element-details/actorContext.js +12 -10
  206. package/dist/overlays/overlay/Overlay.js +104 -151
  207. package/dist/overlays/overlaysActor.js +213 -264
  208. package/dist/overlays/relationship-details/RelationshipDetails.js +270 -253
  209. package/dist/overlays/relationship-details/SelectEdge.css.js +62 -74
  210. package/dist/overlays/relationship-details/SelectEdge.js +146 -126
  211. package/dist/overlays/relationship-details/actor.js +242 -303
  212. package/dist/overlays/relationship-details/compute.js +109 -135
  213. package/dist/overlays/relationship-details/custom/ElementActions.js +43 -56
  214. package/dist/overlays/relationship-details/custom/edgeTypes.js +43 -49
  215. package/dist/overlays/relationship-details/custom/nodeTypes.js +93 -119
  216. package/dist/overlays/relationship-details/hooks.js +44 -38
  217. package/dist/overlays/relationship-details/layout-to-xyflow.js +119 -141
  218. package/dist/overlays/relationship-details/layout.js +275 -304
  219. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +319 -321
  220. package/dist/overlays/relationships-browser/SelectElement.css.js +18 -21
  221. package/dist/overlays/relationships-browser/SelectElement.js +192 -218
  222. package/dist/overlays/relationships-browser/actor.js +364 -462
  223. package/dist/overlays/relationships-browser/const.js +7 -6
  224. package/dist/overlays/relationships-browser/custom/ElementActions.js +60 -63
  225. package/dist/overlays/relationships-browser/custom/EmptyNode.js +25 -29
  226. package/dist/overlays/relationships-browser/custom/edgeTypes.js +66 -99
  227. package/dist/overlays/relationships-browser/custom/nodeTypes.js +98 -123
  228. package/dist/overlays/relationships-browser/hooks.js +49 -51
  229. package/dist/overlays/relationships-browser/layout.js +413 -465
  230. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +141 -157
  231. package/dist/projects-overview/ProjectsOverview.js +56 -55
  232. package/dist/projects-overview/ProjectsOverviewXY.js +105 -94
  233. package/dist/projects-overview/actor.js +252 -345
  234. package/dist/projects-overview/context.js +8 -7
  235. package/dist/projects-overview/custom/edgeTypes.js +22 -21
  236. package/dist/projects-overview/custom/nodeTypes.js +38 -42
  237. package/dist/projects-overview/hooks.js +9 -9
  238. package/dist/projects-overview/layouted-to-xyflow.js +46 -42
  239. package/dist/projects-overview/panel/ProjectsOverviewPanel.js +7 -9
  240. package/dist/projects-overview/persistence.js +22 -22
  241. package/dist/search/Search.js +199 -181
  242. package/dist/search/SearchContext.js +16 -15
  243. package/dist/search/XStateSearchAdapter.js +68 -62
  244. package/dist/search/components/ElementsColumn.css.js +50 -68
  245. package/dist/search/components/ElementsColumn.js +248 -290
  246. package/dist/search/components/PickView.js +116 -140
  247. package/dist/search/components/SearchByTags.js +76 -94
  248. package/dist/search/components/SearchInput.js +187 -209
  249. package/dist/search/components/ViewsColum.js +151 -141
  250. package/dist/search/components/ViewsColumn.css.js +12 -26
  251. package/dist/search/components/_shared.css.js +127 -153
  252. package/dist/search/components/styles.css.js +47 -53
  253. package/dist/search/components/utils.js +44 -47
  254. package/dist/search/hooks.js +10 -10
  255. package/dist/search/searchActor.js +93 -128
  256. package/dist/shadowroot/ShadowRoot.js +66 -78
  257. package/dist/shadowroot/styles.css.js +56 -66
  258. package/dist/styles-font2.js +4 -0
  259. package/dist/styles2.js +4 -0
  260. package/dist/utils/index.js +5 -0
  261. package/dist/utils/roundDpr.js +19 -15
  262. package/dist/utils/view-bounds.js +48 -55
  263. package/dist/utils/xyflow.js +143 -113
  264. package/package.json +12 -13
  265. package/styles-font.css +1 -1
  266. package/styles-min.css +1 -1
  267. package/styles-xyflow.css +1 -1
  268. package/styles.css +1 -1
  269. package/dist/_virtual/_commonjsHelpers.js +0 -3
  270. package/dist/_virtual/assign-f10db67b.cjs.js +0 -3
  271. package/dist/_virtual/log-30abbb83.cjs.js +0 -3
  272. package/dist/_virtual/raise-f051f097.cjs.js +0 -3
  273. package/dist/_virtual/store-cfe7da62.cjs.js +0 -3
  274. package/dist/_virtual/xstate-actions.cjs.js +0 -5
  275. package/dist/_virtual/xstate-actions.cjs2.js +0 -3
  276. package/dist/_virtual/xstate-dev.cjs.js +0 -3
  277. package/dist/_virtual/xstate-guards.cjs.js +0 -5
  278. package/dist/_virtual/xstate-guards.cjs2.js +0 -3
  279. package/dist/_virtual/xstate-store-react.cjs.js +0 -5
  280. package/dist/_virtual/xstate-store-react.cjs2.js +0 -3
  281. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +0 -41
  282. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +0 -30
  283. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -14
  284. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -14
  285. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +0 -14
  286. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -14
  287. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +0 -14
  288. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -14
  289. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -14
  290. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +0 -14
  291. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -14
  292. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -14
  293. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -14
  294. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -14
  295. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -14
  296. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +0 -14
  297. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -14
  298. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -14
  299. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js +0 -14
  300. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -14
  301. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +0 -14
  302. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -14
  303. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -14
  304. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -14
  305. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -14
  306. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -14
  307. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -14
  308. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -14
  309. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -14
  310. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -14
  311. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -14
  312. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -14
  313. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -14
  314. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +0 -14
  315. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -14
  316. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -14
  317. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -14
  318. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -14
  319. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -14
  320. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -14
  321. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -14
  322. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -14
  323. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -14
  324. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -14
  325. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -14
  326. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -14
  327. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +0 -14
  328. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -14
  329. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -14
  330. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js +0 -14
  331. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -14
  332. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -14
  333. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -14
  334. package/dist/node_modules/.pnpm/@xstate_store@3.17.1_react@19.2.4/node_modules/@xstate/store/dist/store-cfe7da62.cjs.js +0 -761
  335. package/dist/node_modules/.pnpm/@xstate_store@3.17.1_react@19.2.4/node_modules/@xstate/store/react/dist/xstate-store-react.cjs.js +0 -180
  336. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/actions/dist/xstate-actions.cjs.js +0 -37
  337. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dev/dist/xstate-dev.cjs.js +0 -59
  338. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/assign-f10db67b.cjs.js +0 -140
  339. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/log-30abbb83.cjs.js +0 -401
  340. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/raise-f051f097.cjs.js +0 -2830
  341. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/guards/dist/xstate-guards.cjs.js +0 -26
  342. package/dist/styles-font.css2.js +0 -3
  343. package/dist/styles.css2.js +0 -3
@@ -1,84 +1,95 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { cx } from '@likec4/styles/css';
3
- import { actionBtn, actionButtons } from '@likec4/styles/recipes';
4
- import { ActionIcon } from '@mantine/core';
5
- import { useId } from '@mantine/hooks';
6
- import * as m from 'motion/react-m';
7
- import { stopPropagation } from '../../utils/xyflow.js';
8
- import IconBolt from '../../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js';
9
-
10
- const variants = {
11
- normal: {
12
- originY: 0,
13
- opacity: 0.75,
14
- scale: 0.8,
15
- y: 0
16
- },
17
- selected: {
18
- originY: 0,
19
- opacity: 1,
20
- scale: 0.9,
21
- y: 7
22
- },
23
- hovered: {
24
- originY: 0,
25
- opacity: 1,
26
- scale: 1.12,
27
- y: 7
28
- }
1
+ import "../../_virtual/_rolldown/runtime.js";
2
+ import { stopPropagation } from "../../utils/xyflow.js";
3
+ import { cx } from "@likec4/styles/css";
4
+ import { IconBolt } from "@tabler/icons-react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { ActionIcon } from "@mantine/core";
7
+ import { useId } from "@mantine/hooks";
8
+ import * as m from "motion/react-m";
9
+ import { actionBtn, actionButtons } from "@likec4/styles/recipes";
10
+ //#region src/base-primitives/element/ElementActionButtons.tsx
11
+ var variants = {
12
+ normal: {
13
+ originY: 0,
14
+ opacity: .75,
15
+ scale: .8,
16
+ y: 0
17
+ },
18
+ selected: {
19
+ originY: 0,
20
+ opacity: 1,
21
+ scale: .9,
22
+ y: 7
23
+ },
24
+ hovered: {
25
+ originY: 0,
26
+ opacity: 1,
27
+ scale: 1.12,
28
+ y: 7
29
+ }
29
30
  };
30
- function ElementActionButtons({
31
- selected = false,
32
- data: {
33
- hovered: isHovered = false
34
- },
35
- buttons
36
- }) {
37
- const id = useId();
38
- if (!buttons.length) {
39
- return null;
40
- }
41
- let variant;
42
- switch (true) {
43
- case isHovered:
44
- variant = "hovered";
45
- break;
46
- case selected:
47
- variant = "selected";
48
- break;
49
- default:
50
- variant = "normal";
51
- }
52
- return /* @__PURE__ */ jsx("div", { className: actionButtons(), children: /* @__PURE__ */ jsx(
53
- m.div,
54
- {
55
- layoutRoot: true,
56
- initial: false,
57
- variants,
58
- animate: variant,
59
- layoutDependency: `${isHovered}-${selected}`,
60
- "data-likec4-hovered": isHovered,
61
- className: cx("nodrag nopan"),
62
- onClick: stopPropagation,
63
- children: buttons.map((button, index) => /* @__PURE__ */ jsx(
64
- ActionIcon,
65
- {
66
- component: m.button,
67
- className: actionBtn({}),
68
- initial: false,
69
- whileTap: { scale: 1 },
70
- whileHover: {
71
- scale: 1.3
72
- },
73
- tabIndex: -1,
74
- onClick: button.onClick,
75
- onDoubleClick: stopPropagation,
76
- children: button.icon || /* @__PURE__ */ jsx(IconBolt, {})
77
- },
78
- `${id}-${button.key ?? index}`
79
- ))
80
- }
81
- ) });
31
+ /**
32
+ * Center-Bottom bar with action buttons. Intended to be used inside "leaf" nodes.
33
+ *
34
+ * @param selected - Whether the node is selected
35
+ * @param data - Node data
36
+ * @param buttons - Action buttons
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * <ElementActionButtons
41
+ * {...nodeProps}
42
+ * Buttons={[
43
+ * {
44
+ * key: 'action1',
45
+ * icon: <IconZoomScan />,
46
+ * onClick: (e) => {
47
+ * e.stopPropagation()
48
+ * console.log('action1 clicked')
49
+ * },
50
+ * },
51
+ * //...
52
+ * ]}
53
+ * />
54
+ * ```
55
+ */
56
+ function ElementActionButtons({ selected = false, data: { hovered: isHovered = false }, buttons }) {
57
+ const id = useId();
58
+ if (!buttons.length) return null;
59
+ let variant;
60
+ switch (true) {
61
+ case isHovered:
62
+ variant = "hovered";
63
+ break;
64
+ case selected:
65
+ variant = "selected";
66
+ break;
67
+ default: variant = "normal";
68
+ }
69
+ return /* @__PURE__ */ jsx("div", {
70
+ className: actionButtons(),
71
+ children: /* @__PURE__ */ jsx(m.div, {
72
+ layoutRoot: true,
73
+ initial: false,
74
+ variants,
75
+ animate: variant,
76
+ layoutDependency: `${isHovered}-${selected}`,
77
+ "data-likec4-hovered": isHovered,
78
+ className: cx("nodrag nopan"),
79
+ onClick: stopPropagation,
80
+ children: buttons.map((button, index) => /* @__PURE__ */ jsx(ActionIcon, {
81
+ component: m.button,
82
+ className: actionBtn({}),
83
+ initial: false,
84
+ whileTap: { scale: 1 },
85
+ whileHover: { scale: 1.3 },
86
+ tabIndex: -1,
87
+ onClick: button.onClick,
88
+ onDoubleClick: stopPropagation,
89
+ children: button.icon || /* @__PURE__ */ jsx(IconBolt, {})
90
+ }, `${id}-${button.key ?? index}`))
91
+ })
92
+ });
82
93
  }
83
-
94
+ //#endregion
84
95
  export { ElementActionButtons };
@@ -1,134 +1,115 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { RichText } from '@likec4/core/types';
3
- import { cx } from '@likec4/styles/css';
4
- import { elementNodeData } from '@likec4/styles/recipes';
5
- import { forwardRef } from 'react';
6
- import { isTruthy } from 'remeda';
7
- import { IconRenderer } from '../../context/IconRenderer.js';
8
- import { useLikeC4Styles } from '../../hooks/useLikeC4Styles.js';
9
- import { Markdown } from '../Markdown.js';
10
-
11
- const resolveIconColor = (styles, data) => {
12
- const iconColor = data.style.iconColor;
13
- if (!iconColor) {
14
- return void 0;
15
- }
16
- const colors = styles.colors(iconColor).elements;
17
- return iconColor === data.color ? colors.stroke : colors.fill;
1
+ import "../../_virtual/_rolldown/runtime.js";
2
+ import { IconRenderer } from "../../context/IconRenderer.js";
3
+ import { useLikeC4Styles } from "../../hooks/useLikeC4Styles.js";
4
+ import { Markdown } from "../Markdown.js";
5
+ import { cx } from "@likec4/styles/css";
6
+ import { forwardRef } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { isTruthy } from "remeda";
9
+ import { RichText } from "@likec4/core/types";
10
+ import { elementNodeData } from "@likec4/styles/recipes";
11
+ //#region src/base-primitives/element/ElementData.tsx
12
+ /**
13
+ * Resolve the icon color based on the node's style and color.
14
+ *
15
+ * If the node's style icon color is not defined, returns undefined.
16
+ * If the node's style icon color is the same as the node's color, returns the stroke color.
17
+ * Otherwise, returns the fill color.
18
+ */
19
+ var resolveIconColor = (styles, data) => {
20
+ const iconColor = data.style.iconColor;
21
+ if (!iconColor) return;
22
+ const colors = styles.colors(iconColor).elements;
23
+ return iconColor === data.color ? colors.stroke : colors.fill;
18
24
  };
19
- const Root = forwardRef(({
20
- className,
21
- style,
22
- data,
23
- ...props
24
- }, ref) => {
25
- const styles = useLikeC4Styles();
26
- const iconSize = data.style.iconSize ? styles.nodeSizes(data.style).values.iconSize : void 0;
27
- const resolvedIconColor = resolveIconColor(styles, data);
28
- return /* @__PURE__ */ jsx(
29
- "div",
30
- {
31
- ...props,
32
- ref,
33
- className: cx(
34
- className,
35
- elementNodeData({
36
- iconPosition: data.style.iconPosition,
37
- withIconColor: !!resolvedIconColor
38
- }),
39
- "likec4-element"
40
- ),
41
- style: {
42
- ...style,
43
- ...iconSize && {
44
- // @ts-ignore
45
- "--likec4-icon-size": `${iconSize}px`
46
- },
47
- ...resolvedIconColor && {
48
- // @ts-ignore
49
- "--likec4-icon-color": resolvedIconColor
50
- }
51
- }
52
- }
53
- );
25
+ var Root = forwardRef(({ className, style, data, ...props }, ref) => {
26
+ const styles = useLikeC4Styles();
27
+ const iconSize = data.style.iconSize ? styles.nodeSizes(data.style).values.iconSize : void 0;
28
+ const resolvedIconColor = resolveIconColor(styles, data);
29
+ return /* @__PURE__ */ jsx("div", {
30
+ ...props,
31
+ ref,
32
+ className: cx(className, elementNodeData({
33
+ iconPosition: data.style.iconPosition,
34
+ withIconColor: !!resolvedIconColor
35
+ }), "likec4-element"),
36
+ style: {
37
+ ...style,
38
+ ...iconSize && { "--likec4-icon-size": `${iconSize}px` },
39
+ ...resolvedIconColor && { "--likec4-icon-color": resolvedIconColor }
40
+ }
41
+ });
54
42
  });
55
- const Icon = ({ data, ...props }) => /* @__PURE__ */ jsx(IconRenderer, { element: data, ...props });
56
- const Content = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
57
- "div",
58
- {
59
- ...props,
60
- className: cx(
61
- className,
62
- "likec4-element-node-content"
63
- ),
64
- ref
65
- }
66
- ));
67
- const Title = forwardRef(({ data: { title }, className, ...props }, ref) => {
68
- return /* @__PURE__ */ jsx(
69
- "div",
70
- {
71
- ...props,
72
- className: cx(
73
- className,
74
- "likec4-element-title"
75
- ),
76
- "data-likec4-node-title": "",
77
- ref,
78
- children: title
79
- }
80
- );
43
+ var Icon = ({ data, ...props }) => /* @__PURE__ */ jsx(IconRenderer, {
44
+ element: data,
45
+ ...props
81
46
  });
82
- const Technology = forwardRef(({ data, children, className, ...props }, ref) => {
83
- const text = data?.technology ?? children;
84
- return isTruthy(text) ? /* @__PURE__ */ jsx(
85
- "div",
86
- {
87
- ...props,
88
- className: cx(
89
- className,
90
- "likec4-element-technology"
91
- ),
92
- "data-likec4-node-technology": "",
93
- ref,
94
- children: text
95
- }
96
- ) : null;
47
+ var Content = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
48
+ ...props,
49
+ className: cx(className, "likec4-element-node-content"),
50
+ ref
51
+ }));
52
+ var Title = forwardRef(({ data: { title }, className, ...props }, ref) => {
53
+ return /* @__PURE__ */ jsx("div", {
54
+ ...props,
55
+ className: cx(className, "likec4-element-title"),
56
+ "data-likec4-node-title": "",
57
+ ref,
58
+ children: title
59
+ });
97
60
  });
98
- const Description = forwardRef(({ data: { description }, className, ...props }, ref) => {
99
- if (!description) {
100
- return null;
101
- }
102
- const desc = RichText.from(description);
103
- return /* @__PURE__ */ jsx(
104
- Markdown,
105
- {
106
- ...props,
107
- className: cx(
108
- className,
109
- "likec4-element-description"
110
- ),
111
- "data-likec4-node-description": "",
112
- value: desc,
113
- uselikec4palette: true,
114
- hideIfEmpty: true,
115
- style: {
116
- // Workaround for lineClamp not working with nested TABLE elements (if markdown has tables)
117
- maxHeight: desc.isMarkdown ? "8rem" : void 0
118
- },
119
- ref
120
- }
121
- );
61
+ var Technology = forwardRef(({ data, children, className, ...props }, ref) => {
62
+ const text = data?.technology ?? children;
63
+ return isTruthy(text) ? /* @__PURE__ */ jsx("div", {
64
+ ...props,
65
+ className: cx(className, "likec4-element-technology"),
66
+ "data-likec4-node-technology": "",
67
+ ref,
68
+ children: text
69
+ }) : null;
122
70
  });
71
+ var Description = forwardRef(({ data: { description }, className, ...props }, ref) => {
72
+ if (!description) return null;
73
+ const desc = RichText.from(description);
74
+ return /* @__PURE__ */ jsx(Markdown, {
75
+ ...props,
76
+ className: cx(className, "likec4-element-description"),
77
+ "data-likec4-node-description": "",
78
+ value: desc,
79
+ uselikec4palette: true,
80
+ hideIfEmpty: true,
81
+ style: { maxHeight: desc.isMarkdown ? "8rem" : void 0 },
82
+ ref
83
+ });
84
+ });
85
+ /**
86
+ * Renders an element title, technology, description, and icon.
87
+ *
88
+ * @example
89
+ * ```tsx
90
+ * <ElementData {...nodeProps} />
91
+ * ```
92
+ * or
93
+ * ```tsx
94
+ * <ElementData.Root {...nodeProps} >
95
+ * <ElementData.Icon {...nodeProps} />
96
+ * <ElementData.Content>
97
+ * <ElementData.Title {...nodeProps} />
98
+ * <ElementData.Technology {...nodeProps} />
99
+ * <ElementData.Description {...nodeProps} />
100
+ * </ElementData.Content>
101
+ * </ElementData.Root>
102
+ * ```
103
+ */
123
104
  function ElementData({ data }) {
124
- return /* @__PURE__ */ jsxs(Root, { data, children: [
125
- /* @__PURE__ */ jsx(Icon, { data }),
126
- /* @__PURE__ */ jsxs(Content, { children: [
127
- /* @__PURE__ */ jsx(Title, { data }),
128
- /* @__PURE__ */ jsx(Technology, { data }),
129
- /* @__PURE__ */ jsx(Description, { data })
130
- ] })
131
- ] });
105
+ return /* @__PURE__ */ jsxs(Root, {
106
+ data,
107
+ children: [/* @__PURE__ */ jsx(Icon, { data }), /* @__PURE__ */ jsxs(Content, { children: [
108
+ /* @__PURE__ */ jsx(Title, { data }),
109
+ /* @__PURE__ */ jsx(Technology, { data }),
110
+ /* @__PURE__ */ jsx(Description, { data })
111
+ ] })]
112
+ });
132
113
  }
133
114
  ElementData.Root = Root;
134
115
  ElementData.Icon = Icon;
@@ -136,5 +117,5 @@ ElementData.Content = Content;
136
117
  ElementData.Title = Title;
137
118
  ElementData.Technology = Technology;
138
119
  ElementData.Description = Description;
139
-
120
+ //#endregion
140
121
  export { ElementData };
@@ -1,102 +1,82 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { cx, css } from '@likec4/styles/css';
3
- import { Box } from '@likec4/styles/jsx';
4
- import { actionBtn } from '@likec4/styles/recipes';
5
- import { ActionIcon } from '@mantine/core';
6
- import * as m from 'motion/react-m';
7
- import { stopPropagation } from '../../utils/xyflow.js';
8
- import IconId from '../../node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js';
9
-
10
- const variants = {
11
- normal: {
12
- originX: 0.4,
13
- originY: 0.6,
14
- scale: 1,
15
- opacity: 0.5
16
- },
17
- hovered: {
18
- originX: 0.4,
19
- originY: 0.6,
20
- scale: 1.25,
21
- opacity: 0.9
22
- },
23
- selected: {
24
- originX: 0.4,
25
- originY: 0.6,
26
- scale: 1.25,
27
- opacity: 0.9
28
- },
29
- whileHover: {
30
- scale: 1.4,
31
- opacity: 1
32
- },
33
- whileTap: {
34
- scale: 1.15
35
- }
1
+ import "../../_virtual/_rolldown/runtime.js";
2
+ import { stopPropagation } from "../../utils/xyflow.js";
3
+ import { css, cx } from "@likec4/styles/css";
4
+ import { IconId } from "@tabler/icons-react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { ActionIcon } from "@mantine/core";
7
+ import { Box as Box$1 } from "@likec4/styles/jsx";
8
+ import * as m from "motion/react-m";
9
+ import { actionBtn } from "@likec4/styles/recipes";
10
+ //#region src/base-primitives/element/ElementDetailsButton.tsx
11
+ var variants = {
12
+ normal: {
13
+ originX: .4,
14
+ originY: .6,
15
+ scale: 1,
16
+ opacity: .5
17
+ },
18
+ hovered: {
19
+ originX: .4,
20
+ originY: .6,
21
+ scale: 1.25,
22
+ opacity: .9
23
+ },
24
+ selected: {
25
+ originX: .4,
26
+ originY: .6,
27
+ scale: 1.25,
28
+ opacity: .9
29
+ },
30
+ whileHover: {
31
+ scale: 1.4,
32
+ opacity: 1
33
+ },
34
+ whileTap: { scale: 1.15 }
36
35
  };
37
- const container = css({
38
- position: "absolute",
39
- top: "0.5",
40
- right: "0.5",
41
- _shapeBrowser: {
42
- right: "[5px]"
43
- },
44
- _shapeCylinder: {
45
- top: "[14px]"
46
- },
47
- _shapeStorage: {
48
- top: "[14px]"
49
- },
50
- _shapeQueue: {
51
- top: "[1px]",
52
- right: "3"
53
- // 12px
54
- },
55
- _smallZoom: {
56
- display: "none"
57
- },
58
- _print: {
59
- display: "none"
60
- }
36
+ var container = css({
37
+ position: "absolute",
38
+ top: "0.5",
39
+ right: "0.5",
40
+ _shapeBrowser: { right: "[5px]" },
41
+ _shapeCylinder: { top: "[14px]" },
42
+ _shapeStorage: { top: "[14px]" },
43
+ _shapeQueue: {
44
+ top: "[1px]",
45
+ right: "3"
46
+ },
47
+ _smallZoom: { display: "none" },
48
+ _print: { display: "none" }
61
49
  });
62
- function ElementDetailsButton({
63
- selected = false,
64
- data: {
65
- hovered: isHovered = false
66
- },
67
- icon,
68
- onClick
69
- }) {
70
- let variant;
71
- switch (true) {
72
- case isHovered:
73
- variant = "hovered";
74
- break;
75
- case selected:
76
- variant = "selected";
77
- break;
78
- default:
79
- variant = "normal";
80
- }
81
- return /* @__PURE__ */ jsx(Box, { className: cx(container, "details-button"), children: /* @__PURE__ */ jsx(
82
- ActionIcon,
83
- {
84
- className: cx(
85
- "nodrag nopan",
86
- actionBtn({ variant: "transparent" })
87
- ),
88
- component: m.button,
89
- initial: false,
90
- variants,
91
- animate: variant,
92
- whileHover: "whileHover",
93
- whileTap: "whileTap",
94
- onClick,
95
- onDoubleClick: stopPropagation,
96
- tabIndex: -1,
97
- children: icon ?? /* @__PURE__ */ jsx(IconId, { stroke: 1.8, style: { width: "75%" } })
98
- }
99
- ) });
50
+ function ElementDetailsButton({ selected = false, data: { hovered: isHovered = false }, icon, onClick }) {
51
+ let variant;
52
+ switch (true) {
53
+ case isHovered:
54
+ variant = "hovered";
55
+ break;
56
+ case selected:
57
+ variant = "selected";
58
+ break;
59
+ default: variant = "normal";
60
+ }
61
+ return /* @__PURE__ */ jsx(Box$1, {
62
+ className: cx(container, "details-button"),
63
+ children: /* @__PURE__ */ jsx(ActionIcon, {
64
+ className: cx("nodrag nopan", actionBtn({ variant: "transparent" })),
65
+ component: m.button,
66
+ initial: false,
67
+ variants,
68
+ animate: variant,
69
+ whileHover: "whileHover",
70
+ whileTap: "whileTap",
71
+ onClick,
72
+ onDoubleClick: stopPropagation,
73
+ tabIndex: -1,
74
+ children: icon ?? /* @__PURE__ */ jsx(IconId, {
75
+ stroke: 1.8,
76
+ style: { width: "75%" }
77
+ })
78
+ })
79
+ });
100
80
  }
101
-
81
+ //#endregion
102
82
  export { ElementDetailsButton };