@likec4/diagram 1.32.2 → 1.34.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 (166) hide show
  1. package/README.md +25 -0
  2. package/bundle/{chunk-DlHyKoeo.js → chunk-Dd7et66b.js} +533 -487
  3. package/bundle/custom.js +53 -50
  4. package/bundle/index.js +471 -311
  5. package/dist/LikeC4Diagram.props.d.ts +1 -1
  6. package/dist/StaticLikeC4Diagram.d.ts +1 -1
  7. package/dist/base/primitives/MarkdownBlock.d.ts +27 -0
  8. package/dist/base/primitives/MarkdownBlock.js +42 -0
  9. package/dist/base/primitives/compound/CompoundActionButton.js +1 -1
  10. package/dist/base/primitives/compound/CompoundDetailsButton.js +1 -1
  11. package/dist/base/primitives/edge/EdgeActionButton.js +1 -1
  12. package/dist/base/primitives/element/ElementDetailsButton.js +1 -1
  13. package/dist/base/primitives/element/ElementTags.d.ts +1 -1
  14. package/dist/base/primitives/element/ElementTags.js +116 -125
  15. package/dist/base/primitives/element/ElementTitle.css.js +6 -1
  16. package/dist/base/primitives/element/ElementTitle.d.ts +3 -2
  17. package/dist/base/primitives/element/ElementTitle.js +9 -6
  18. package/dist/base/primitives/index.d.ts +1 -0
  19. package/dist/bundle/LikeC4View.d.ts +1 -1
  20. package/dist/bundle/LikeC4View.js +1 -1
  21. package/dist/bundle/LikeC4View.props.d.ts +1 -1
  22. package/dist/bundle/ReactLikeC4.d.ts +1 -1
  23. package/dist/bundle/custom.js +31 -0
  24. package/dist/bundle/index.js +1 -0
  25. package/dist/components/ErrorFallback.js +1 -1
  26. package/dist/components/Link.js +2 -1
  27. package/dist/components/SearchControl.js +1 -1
  28. package/dist/context/DiagramFeatures.d.ts +3 -2
  29. package/dist/context/DiagramFeatures.js +16 -1
  30. package/dist/context/IconRenderer.js +6 -1
  31. package/dist/context/TagStylesContext.js +1 -1
  32. package/dist/custom/components.d.ts +2 -2
  33. package/dist/custom/customNodes.js +18 -0
  34. package/dist/custom/hooks.d.ts +3 -3
  35. package/dist/custom/index.js +31 -0
  36. package/dist/hooks/safeContext.js +1 -1
  37. package/dist/hooks/useXYFlow.d.ts +2 -1
  38. package/dist/index.d.ts +4 -6
  39. package/dist/index.js +1 -0
  40. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.js +5 -2
  41. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -1
  42. package/dist/likec4diagram/custom/nodes/nodes.js +3 -3
  43. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -1
  44. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -1
  45. package/dist/likec4diagram/types.d.ts +3 -2
  46. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +1 -1
  47. package/dist/likec4diagram/ui/controls/Controls.js +3 -1
  48. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +1 -1
  49. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +9 -1
  50. package/dist/likec4diagram/ui/controls/NavigationButtons.js +2 -1
  51. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +2 -1
  52. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +19 -15
  53. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -1
  54. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +4 -1
  55. package/dist/likec4diagram/useViewToNodesEdges.js +2 -2
  56. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +41 -0
  57. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +30 -0
  58. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +13 -0
  59. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +13 -0
  60. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +13 -0
  61. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +13 -0
  62. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +13 -0
  63. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +13 -0
  64. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +13 -0
  65. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +13 -0
  66. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +13 -0
  67. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +13 -0
  68. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +13 -0
  69. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +13 -0
  70. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +13 -0
  71. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +13 -0
  72. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +13 -0
  73. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +13 -0
  74. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +13 -0
  75. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +13 -0
  76. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +13 -0
  77. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +13 -0
  78. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +13 -0
  79. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +13 -0
  80. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +13 -0
  81. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +13 -0
  82. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +13 -0
  83. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +13 -0
  84. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +13 -0
  85. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu.js +13 -0
  86. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu2.js +13 -0
  87. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +13 -0
  88. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +13 -0
  89. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +13 -0
  90. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +13 -0
  91. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +13 -0
  92. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +13 -0
  93. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +13 -0
  94. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +13 -0
  95. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +13 -0
  96. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +13 -0
  97. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +13 -0
  98. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +13 -0
  99. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +13 -0
  100. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +13 -0
  101. package/dist/node_modules/.pnpm/@tabler_icons-react@3.31.0_react@19.1.0/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +13 -0
  102. package/dist/overlays/element-details/ElementDetailsCard.css.js +4 -2
  103. package/dist/overlays/element-details/ElementDetailsCard.js +127 -12
  104. package/dist/overlays/element-details/TabPanelDeployments.js +3 -1
  105. package/dist/overlays/element-details/TabPanelRelationships.js +3 -1
  106. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  107. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +2 -2
  108. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -1
  109. package/dist/overlays/relationship-details/SelectEdge.js +2 -1
  110. package/dist/overlays/relationship-details/_types.d.ts +4 -3
  111. package/dist/overlays/relationship-details/actor.d.ts +2 -2
  112. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -1
  113. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +2 -2
  114. package/dist/overlays/relationship-details/hooks.d.ts +10 -10
  115. package/dist/overlays/relationship-details/layout-to-xyflow.js +4 -4
  116. package/dist/overlays/relationship-details/layout.d.ts +5 -3
  117. package/dist/overlays/relationship-details/layout.js +2 -2
  118. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -1
  119. package/dist/overlays/relationships-browser/SelectElement.js +2 -1
  120. package/dist/overlays/relationships-browser/_types.d.ts +3 -2
  121. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -1
  122. package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +3 -3
  123. package/dist/overlays/relationships-browser/layout.d.ts +4 -3
  124. package/dist/overlays/relationships-browser/layout.js +3 -3
  125. package/dist/search/components/ElementsColumn.js +2 -2
  126. package/dist/search/components/PickView.js +1 -1
  127. package/dist/search/components/SearchByTags.js +1 -1
  128. package/dist/search/components/SearchInput.js +1 -1
  129. package/dist/search/components/ViewsColum.js +4 -3
  130. package/dist/state/DiagramActorProvider.js +9 -1
  131. package/dist/state/diagram-machine.js +1 -1
  132. package/dist/styles-min.css +1 -1
  133. package/dist/styles.css +1 -1
  134. package/dist/styles.css2.js +1 -1
  135. package/package.json +25 -19
  136. package/panda.buildinfo.json +881 -862
  137. package/src/LikeC4Diagram.props.ts +1 -1
  138. package/src/StaticLikeC4Diagram.tsx +1 -1
  139. package/src/base/primitives/MarkdownBlock.tsx +66 -0
  140. package/src/base/primitives/element/ElementTags.tsx +118 -116
  141. package/src/base/primitives/element/ElementTitle.css.ts +7 -1
  142. package/src/base/primitives/element/ElementTitle.tsx +14 -9
  143. package/src/base/primitives/index.ts +1 -0
  144. package/src/bundle/LikeC4View.props.ts +1 -1
  145. package/src/bundle/LikeC4View.tsx +1 -1
  146. package/src/bundle/ReactLikeC4.tsx +1 -1
  147. package/src/context/DiagramFeatures.tsx +7 -7
  148. package/src/custom/components.ts +2 -0
  149. package/src/custom/hooks.ts +5 -0
  150. package/src/hooks/useXYFlow.ts +9 -1
  151. package/src/index.ts +18 -6
  152. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.tsx +1 -1
  153. package/src/likec4diagram/types.ts +2 -2
  154. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +21 -16
  155. package/src/likec4diagram/useViewToNodesEdges.ts +2 -1
  156. package/src/overlays/element-details/ElementDetailsCard.css.ts +3 -1
  157. package/src/overlays/element-details/ElementDetailsCard.tsx +101 -17
  158. package/src/overlays/relationship-details/_types.ts +12 -3
  159. package/src/overlays/relationship-details/layout-to-xyflow.ts +3 -2
  160. package/src/overlays/relationship-details/layout.ts +7 -4
  161. package/src/overlays/relationships-browser/_types.ts +2 -1
  162. package/src/overlays/relationships-browser/layout.ts +7 -4
  163. package/src/search/components/ElementsColumn.tsx +1 -1
  164. package/src/search/components/ViewsColum.tsx +2 -2
  165. package/src/state/DiagramActorProvider.tsx +10 -2
  166. package/src/state/diagram-machine.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import React__default, { useState, Fragment, createContext, useContext, useRef, useEffect, useMemo, useLayoutEffect, useCallback, useId as useId$2, forwardRef, cloneElement, Children, createElement, useInsertionEffect as useInsertionEffect$1, memo as memo$1, useSyncExternalStore, createRef } from "react";
2
+ import React__default, { useState, Fragment, createContext, useContext, useRef, useEffect, useMemo, useCallback, useLayoutEffect, useId as useId$2, forwardRef, cloneElement, Children, createElement, useInsertionEffect as useInsertionEffect$1, memo as memo$1, useSyncExternalStore, createRef } from "react";
3
3
  import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
4
4
  import * as ReactDOM from "react-dom";
5
5
  import ReactDOM__default, { createPortal } from "react-dom";
@@ -1052,6 +1052,19 @@ function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
1052
1052
  return queryRef.current = window.matchMedia(query), setMatches(queryRef.current.matches), attachMediaListener(queryRef.current, (event) => setMatches(event.matches));
1053
1053
  }, [query]), matches2 || !1;
1054
1054
  }
1055
+ function useDebouncedState(defaultValue, wait, options = { leading: !1 }) {
1056
+ const [value, setValue] = useState(defaultValue), timeoutRef = useRef(null), leadingRef = useRef(!0), clearTimeout2 = () => window.clearTimeout(timeoutRef.current);
1057
+ useEffect(() => clearTimeout2, []);
1058
+ const debouncedSetValue = useCallback(
1059
+ (newValue) => {
1060
+ clearTimeout2(), leadingRef.current && options.leading ? setValue(newValue) : timeoutRef.current = window.setTimeout(() => {
1061
+ leadingRef.current = !0, setValue(newValue);
1062
+ }, wait), leadingRef.current = !1;
1063
+ },
1064
+ [options.leading]
1065
+ );
1066
+ return [value, debouncedSetValue];
1067
+ }
1055
1068
  function useDebouncedValue(value, wait, options = { leading: !1 }) {
1056
1069
  const [_value, setValue] = useState(value), mountedRef = useRef(!1), timeoutRef = useRef(null), cooldownRef = useRef(!1), cancel2 = () => window.clearTimeout(timeoutRef.current);
1057
1070
  return useEffect(() => {
@@ -1285,6 +1298,19 @@ function useShallowCompare(dependencies) {
1285
1298
  function useShallowEffect(cb, dependencies) {
1286
1299
  useEffect(cb, useShallowCompare(dependencies));
1287
1300
  }
1301
+ function useHover$1() {
1302
+ const [hovered, setHovered] = useState(!1), previousNode = useRef(null), handleMouseEnter = useCallback(() => {
1303
+ setHovered(!0);
1304
+ }, []), handleMouseLeave = useCallback(() => {
1305
+ setHovered(!1);
1306
+ }, []);
1307
+ return { ref: useCallback(
1308
+ (node) => {
1309
+ previousNode.current && (previousNode.current.removeEventListener("mouseenter", handleMouseEnter), previousNode.current.removeEventListener("mouseleave", handleMouseLeave)), node && (node.addEventListener("mouseenter", handleMouseEnter), node.addEventListener("mouseleave", handleMouseLeave)), previousNode.current = node;
1310
+ },
1311
+ [handleMouseEnter, handleMouseLeave]
1312
+ ), hovered };
1313
+ }
1288
1314
  function useDisclosure(initialState = !1, options = {}) {
1289
1315
  const [opened, setOpened] = useState(initialState), open = useCallback(() => {
1290
1316
  setOpened((isOpened) => isOpened || (options.onOpen?.(), !0));
@@ -2331,6 +2357,7 @@ function extractStyleProps(others) {
2331
2357
  pe,
2332
2358
  ps,
2333
2359
  bd,
2360
+ bdrs,
2334
2361
  bg,
2335
2362
  c,
2336
2363
  opacity,
@@ -2418,6 +2445,7 @@ function extractStyleProps(others) {
2418
2445
  inset: inset2,
2419
2446
  display,
2420
2447
  flex,
2448
+ bdrs,
2421
2449
  hiddenFrom,
2422
2450
  visibleFrom,
2423
2451
  lightHidden,
@@ -5013,11 +5041,11 @@ function toInt(value) {
5013
5041
  return value ? parseInt(value, 10) : 0;
5014
5042
  }
5015
5043
  var classes$i = { root: "m_87cf2631" };
5016
- const defaultProps$D = {
5044
+ const defaultProps$A = {
5017
5045
  __staticSelector: "UnstyledButton"
5018
5046
  }, UnstyledButton = polymorphicFactory(
5019
5047
  (_props, ref) => {
5020
- const props = useProps("UnstyledButton", defaultProps$D, _props), {
5048
+ const props = useProps("UnstyledButton", defaultProps$A, _props), {
5021
5049
  className,
5022
5050
  component = "button",
5023
5051
  __staticSelector,
@@ -5051,8 +5079,8 @@ const defaultProps$D = {
5051
5079
  UnstyledButton.classes = classes$i;
5052
5080
  UnstyledButton.displayName = "@mantine/core/UnstyledButton";
5053
5081
  var classes$h = { root: "m_515a97f8" };
5054
- const defaultProps$C = {}, VisuallyHidden = factory((_props, ref) => {
5055
- const props = useProps("VisuallyHidden", defaultProps$C, _props), { classNames, className, style: style2, styles, unstyled, vars, ...others } = props, getStyles2 = useStyles({
5082
+ const defaultProps$z = {}, VisuallyHidden = factory((_props, ref) => {
5083
+ const props = useProps("VisuallyHidden", defaultProps$z, _props), { classNames, className, style: style2, styles, unstyled, vars, ...others } = props, getStyles2 = useStyles({
5056
5084
  name: "VisuallyHidden",
5057
5085
  classes: classes$h,
5058
5086
  props,
@@ -5067,13 +5095,13 @@ const defaultProps$C = {}, VisuallyHidden = factory((_props, ref) => {
5067
5095
  VisuallyHidden.classes = classes$h;
5068
5096
  VisuallyHidden.displayName = "@mantine/core/VisuallyHidden";
5069
5097
  var classes$g = { root: "m_1b7284a3" };
5070
- const defaultProps$B = {}, varsResolver$j = (_, { radius, shadow }) => ({
5098
+ const defaultProps$y = {}, varsResolver$j = (_, { radius, shadow }) => ({
5071
5099
  root: {
5072
5100
  "--paper-radius": radius === void 0 ? void 0 : getRadius(radius),
5073
5101
  "--paper-shadow": getShadow(shadow)
5074
5102
  }
5075
5103
  }), Paper = polymorphicFactory((_props, ref) => {
5076
- const props = useProps("Paper", defaultProps$B, _props), {
5104
+ const props = useProps("Paper", defaultProps$y, _props), {
5077
5105
  classNames,
5078
5106
  className,
5079
5107
  style: style2,
@@ -5215,7 +5243,7 @@ function getFloatingPosition(dir, position) {
5215
5243
  return position;
5216
5244
  }
5217
5245
  var classes$f = { root: "m_9814e45f" };
5218
- const defaultProps$A = {
5246
+ const defaultProps$x = {
5219
5247
  zIndex: getDefaultZIndex("modal")
5220
5248
  }, varsResolver$i = (_, { gradient, color: color2, backgroundOpacity, blur, radius, zIndex }) => ({
5221
5249
  root: {
@@ -5225,7 +5253,7 @@ const defaultProps$A = {
5225
5253
  "--overlay-z-index": zIndex?.toString()
5226
5254
  }
5227
5255
  }), Overlay$1 = polymorphicFactory((_props, ref) => {
5228
- const props = useProps("Overlay", defaultProps$A, _props), {
5256
+ const props = useProps("Overlay", defaultProps$x, _props), {
5229
5257
  classNames,
5230
5258
  className,
5231
5259
  style: style2,
@@ -5275,10 +5303,10 @@ function getTargetNode({ target, reuseTargetNode, ...others }) {
5275
5303
  }
5276
5304
  return createPortalNode(others);
5277
5305
  }
5278
- const defaultProps$z = {
5306
+ const defaultProps$w = {
5279
5307
  reuseTargetNode: !0
5280
5308
  }, Portal = factory((props, ref) => {
5281
- const { children: children2, target, reuseTargetNode, ...others } = useProps("Portal", defaultProps$z, props), [mounted, setMounted] = useState(!1), nodeRef = useRef(null);
5309
+ const { children: children2, target, reuseTargetNode, ...others } = useProps("Portal", defaultProps$w, props), [mounted, setMounted] = useState(!1), nodeRef = useRef(null);
5282
5310
  return useIsomorphicEffect(() => (setMounted(!0), nodeRef.current = getTargetNode({ target, reuseTargetNode, ...others }), assignRef(ref, nodeRef.current), !target && !reuseTargetNode && nodeRef.current && document.body.appendChild(nodeRef.current), () => {
5283
5311
  !target && !reuseTargetNode && nodeRef.current && document.body.removeChild(nodeRef.current);
5284
5312
  }), [target]), !mounted || !nodeRef.current ? null : createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: children2 }), nodeRef.current);
@@ -5545,8 +5573,8 @@ FocusTrap.displayName = "@mantine/core/FocusTrap";
5545
5573
  FocusTrapInitialFocus.displayName = "@mantine/core/FocusTrapInitialFocus";
5546
5574
  FocusTrap.InitialFocus = FocusTrapInitialFocus;
5547
5575
  var classes$e = { dropdown: "m_38a85659", arrow: "m_a31dc6c1", overlay: "m_3d7bc908" };
5548
- const defaultProps$y = {}, PopoverDropdown = factory((_props, ref) => {
5549
- const props = useProps("PopoverDropdown", defaultProps$y, _props), {
5576
+ const defaultProps$v = {}, PopoverDropdown = factory((_props, ref) => {
5577
+ const props = useProps("PopoverDropdown", defaultProps$v, _props), {
5550
5578
  className,
5551
5579
  style: style2,
5552
5580
  vars,
@@ -5640,13 +5668,13 @@ const defaultProps$y = {}, PopoverDropdown = factory((_props, ref) => {
5640
5668
  });
5641
5669
  PopoverDropdown.classes = classes$e;
5642
5670
  PopoverDropdown.displayName = "@mantine/core/PopoverDropdown";
5643
- const defaultProps$x = {
5671
+ const defaultProps$u = {
5644
5672
  refProp: "ref",
5645
5673
  popupType: "dialog"
5646
5674
  }, PopoverTarget = factory((props, ref) => {
5647
5675
  const { children: children2, refProp, popupType, ...others } = useProps(
5648
5676
  "PopoverTarget",
5649
- defaultProps$x,
5677
+ defaultProps$u,
5650
5678
  props
5651
5679
  );
5652
5680
  if (!isElement$1(children2))
@@ -5681,7 +5709,7 @@ function getDefaultMiddlewares$1(middlewares) {
5681
5709
  }
5682
5710
  function getPopoverMiddlewares(options, getFloating, env) {
5683
5711
  const middlewaresOptions = getDefaultMiddlewares$1(options.middlewares), middlewares = [offset$1(options.offset), hide()];
5684
- return options.dropdownVisible && env !== "test" && (middlewaresOptions.flip = !1, middlewaresOptions.shift = !1), middlewaresOptions.shift && middlewares.push(
5712
+ return options.dropdownVisible && env !== "test" && options.preventPositionChangeWhenVisible && (middlewaresOptions.flip = !1, middlewaresOptions.shift = !1), middlewaresOptions.shift && middlewares.push(
5685
5713
  shift(
5686
5714
  typeof middlewaresOptions.shift == "boolean" ? { limiter: limitShift(), padding: 5 } : { limiter: limitShift(), padding: 5, ...middlewaresOptions.shift }
5687
5715
  )
@@ -5712,13 +5740,30 @@ function usePopover(options) {
5712
5740
  onChange: options.onChange
5713
5741
  }), previouslyOpened = useRef(_opened), onClose = () => {
5714
5742
  _opened && !options.disabled && setOpened(!1);
5715
- }, onToggle = () => !options.disabled && setOpened(!_opened), floating = useFloating({
5743
+ }, onToggle = () => {
5744
+ options.disabled || setOpened(!_opened);
5745
+ }, floating = useFloating({
5716
5746
  strategy: options.strategy,
5717
- placement: options.positionRef.current,
5747
+ placement: options.preventPositionChangeWhenVisible ? options.positionRef.current : options.position,
5718
5748
  middleware: getPopoverMiddlewares(options, () => floating, env),
5719
- whileElementsMounted: autoUpdate
5749
+ // Only use whileElementsMounted when elements are conditionally rendered (not keepMounted)
5750
+ // When keepMounted=true, elements are hidden with CSS and we need manual autoUpdate control
5751
+ whileElementsMounted: options.keepMounted ? void 0 : autoUpdate
5720
5752
  });
5721
- return useDidUpdate(() => {
5753
+ return useEffect(() => {
5754
+ if (!(!options.keepMounted || !floating.refs.reference.current || !floating.refs.floating.current) && _opened)
5755
+ return autoUpdate(
5756
+ floating.refs.reference.current,
5757
+ floating.refs.floating.current,
5758
+ floating.update
5759
+ );
5760
+ }, [
5761
+ options.keepMounted,
5762
+ _opened,
5763
+ floating.refs.reference,
5764
+ floating.refs.floating,
5765
+ floating.update
5766
+ ]), useDidUpdate(() => {
5722
5767
  options.onPositionChange?.(floating.placement), options.positionRef.current = floating.placement;
5723
5768
  }, [floating.placement]), useDidUpdate(() => {
5724
5769
  _opened !== previouslyOpened.current && (_opened ? options.onOpen?.() : options.onClose?.()), previouslyOpened.current = _opened;
@@ -5735,7 +5780,7 @@ function usePopover(options) {
5735
5780
  onToggle
5736
5781
  };
5737
5782
  }
5738
- const defaultProps$w = {
5783
+ const defaultProps$t = {
5739
5784
  position: "bottom",
5740
5785
  offset: 8,
5741
5786
  positionDependencies: [],
@@ -5764,7 +5809,7 @@ const defaultProps$w = {
5764
5809
  }
5765
5810
  });
5766
5811
  function Popover(_props) {
5767
- const props = useProps("Popover", defaultProps$w, _props), {
5812
+ const props = useProps("Popover", defaultProps$t, _props), {
5768
5813
  children: children2,
5769
5814
  position,
5770
5815
  offset: offset2,
@@ -5812,6 +5857,7 @@ function Popover(_props) {
5812
5857
  withOverlay,
5813
5858
  overlayProps,
5814
5859
  hideDetached,
5860
+ preventPositionChangeWhenVisible,
5815
5861
  ...others
5816
5862
  } = props, getStyles2 = useStyles({
5817
5863
  name: __staticSelector,
@@ -5842,7 +5888,9 @@ function Popover(_props) {
5842
5888
  dropdownVisible,
5843
5889
  setDropdownVisible,
5844
5890
  positionRef,
5845
- disabled
5891
+ disabled,
5892
+ preventPositionChangeWhenVisible,
5893
+ keepMounted
5846
5894
  });
5847
5895
  useClickOutside(
5848
5896
  () => {
@@ -5962,7 +6010,7 @@ const defaultLoaders = {
5962
6010
  bars: Bars,
5963
6011
  oval: Oval,
5964
6012
  dots: Dots
5965
- }, defaultProps$v = {
6013
+ }, defaultProps$s = {
5966
6014
  loaders: defaultLoaders,
5967
6015
  type: "oval"
5968
6016
  }, varsResolver$g = (theme, { size: size2, color: color2 }) => ({
@@ -5971,7 +6019,7 @@ const defaultLoaders = {
5971
6019
  "--loader-color": color2 ? getThemeColor(color2, theme) : void 0
5972
6020
  }
5973
6021
  }), Loader = factory((_props, ref) => {
5974
- const props = useProps("Loader", defaultProps$v, _props), {
6022
+ const props = useProps("Loader", defaultProps$s, _props), {
5975
6023
  size: size2,
5976
6024
  color: color2,
5977
6025
  type,
@@ -6013,12 +6061,12 @@ Loader.defaultLoaders = defaultLoaders;
6013
6061
  Loader.classes = classes$d;
6014
6062
  Loader.displayName = "@mantine/core/Loader";
6015
6063
  var classes$c = { root: "m_8d3f4000", icon: "m_8d3afb97", loader: "m_302b9fb1", group: "m_1a0f1b21", groupSection: "m_437b6484" };
6016
- const defaultProps$u = {
6064
+ const defaultProps$r = {
6017
6065
  orientation: "horizontal"
6018
6066
  }, varsResolver$f = (_, { borderWidth: borderWidth2 }) => ({
6019
6067
  group: { "--ai-border-width": rem(borderWidth2) }
6020
6068
  }), ActionIconGroup = factory((_props, ref) => {
6021
- const props = useProps("ActionIconGroup", defaultProps$u, _props), {
6069
+ const props = useProps("ActionIconGroup", defaultProps$r, _props), {
6022
6070
  className,
6023
6071
  style: style2,
6024
6072
  classNames,
@@ -6030,7 +6078,7 @@ const defaultProps$u = {
6030
6078
  variant,
6031
6079
  mod,
6032
6080
  ...others
6033
- } = useProps("ActionIconGroup", defaultProps$u, _props), getStyles2 = useStyles({
6081
+ } = useProps("ActionIconGroup", defaultProps$r, _props), getStyles2 = useStyles({
6034
6082
  name: "ActionIconGroup",
6035
6083
  props,
6036
6084
  classes: classes$c,
@@ -6057,7 +6105,7 @@ const defaultProps$u = {
6057
6105
  });
6058
6106
  ActionIconGroup.classes = classes$c;
6059
6107
  ActionIconGroup.displayName = "@mantine/core/ActionIconGroup";
6060
- const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6108
+ const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6061
6109
  const colors2 = theme.variantColorResolver({
6062
6110
  color: color2 || theme.primaryColor,
6063
6111
  theme,
@@ -6077,7 +6125,7 @@ const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gra
6077
6125
  }
6078
6126
  };
6079
6127
  }, ActionIconGroupSection = factory((_props, ref) => {
6080
- const props = useProps("ActionIconGroupSection", defaultProps$t, _props), {
6128
+ const props = useProps("ActionIconGroupSection", defaultProps$q, _props), {
6081
6129
  className,
6082
6130
  style: style2,
6083
6131
  classNames,
@@ -6089,7 +6137,7 @@ const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gra
6089
6137
  radius,
6090
6138
  autoContrast,
6091
6139
  ...others
6092
- } = useProps("ActionIconGroupSection", defaultProps$t, _props), getStyles2 = useStyles({
6140
+ } = useProps("ActionIconGroupSection", defaultProps$q, _props), getStyles2 = useStyles({
6093
6141
  name: "ActionIconGroupSection",
6094
6142
  props,
6095
6143
  classes: classes$c,
@@ -6106,7 +6154,7 @@ const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gra
6106
6154
  });
6107
6155
  ActionIconGroupSection.classes = classes$c;
6108
6156
  ActionIconGroupSection.displayName = "@mantine/core/ActionIconGroupSection";
6109
- const defaultProps$s = {}, varsResolver$d = (theme, { size: size2, radius, variant, gradient, color: color2, autoContrast }) => {
6157
+ const defaultProps$p = {}, varsResolver$d = (theme, { size: size2, radius, variant, gradient, color: color2, autoContrast }) => {
6110
6158
  const colors2 = theme.variantColorResolver({
6111
6159
  color: color2 || theme.primaryColor,
6112
6160
  theme,
@@ -6126,7 +6174,7 @@ const defaultProps$s = {}, varsResolver$d = (theme, { size: size2, radius, varia
6126
6174
  }
6127
6175
  };
6128
6176
  }, ActionIcon = polymorphicFactory((_props, ref) => {
6129
- const props = useProps("ActionIcon", defaultProps$s, _props), {
6177
+ const props = useProps("ActionIcon", defaultProps$p, _props), {
6130
6178
  className,
6131
6179
  unstyled,
6132
6180
  variant,
@@ -6185,7 +6233,7 @@ function filterFalsyChildren(children2) {
6185
6233
  return Children.toArray(children2).filter(Boolean);
6186
6234
  }
6187
6235
  var classes$b = { root: "m_4081bf90" };
6188
- const defaultProps$r = {
6236
+ const defaultProps$o = {
6189
6237
  preventGrowOverflow: !0,
6190
6238
  gap: "md",
6191
6239
  align: "center",
@@ -6200,7 +6248,7 @@ const defaultProps$r = {
6200
6248
  "--group-wrap": wrap
6201
6249
  }
6202
6250
  }), Group = factory((_props, ref) => {
6203
- const props = useProps("Group", defaultProps$r, _props), {
6251
+ const props = useProps("Group", defaultProps$o, _props), {
6204
6252
  classNames,
6205
6253
  className,
6206
6254
  style: style2,
@@ -6256,8 +6304,8 @@ const FLEX_STYLE_PROPS_DATA = {
6256
6304
  direction: { type: "identity", property: "flexDirection" }
6257
6305
  };
6258
6306
  var classes$a = { root: "m_8bffd616" };
6259
- const defaultProps$q = {}, Flex = polymorphicFactory((_props, ref) => {
6260
- const props = useProps("Flex", defaultProps$q, _props), {
6307
+ const defaultProps$n = {}, Flex = polymorphicFactory((_props, ref) => {
6308
+ const props = useProps("Flex", defaultProps$n, _props), {
6261
6309
  classNames,
6262
6310
  className,
6263
6311
  style: style2,
@@ -6376,12 +6424,12 @@ function useFloatingIndicator({
6376
6424
  ), { initialized, hidden: hidden2 };
6377
6425
  }
6378
6426
  var classes$9 = { root: "m_96b553a6" };
6379
- const defaultProps$p = {}, varsResolver$b = (_theme, { transitionDuration }) => ({
6427
+ const defaultProps$m = {}, varsResolver$b = (_theme, { transitionDuration }) => ({
6380
6428
  root: {
6381
6429
  "--transition-duration": typeof transitionDuration == "number" ? `${transitionDuration}ms` : transitionDuration
6382
6430
  }
6383
6431
  }), FloatingIndicator = factory((_props, ref) => {
6384
- const props = useProps("FloatingIndicator", defaultProps$p, _props), {
6432
+ const props = useProps("FloatingIndicator", defaultProps$m, _props), {
6385
6433
  classNames,
6386
6434
  className,
6387
6435
  style: style2,
@@ -6444,7 +6492,7 @@ function getTextTruncate(truncate) {
6444
6492
  if (truncate === "end" || truncate)
6445
6493
  return "end";
6446
6494
  }
6447
- const defaultProps$o = {
6495
+ const defaultProps$l = {
6448
6496
  inherit: !1
6449
6497
  }, varsResolver$a = /* Will be removed in 9.0 */ /* eslint-disable-next-line @typescript-eslint/no-deprecated */ (theme, { variant, lineClamp, gradient, size: size2, color: color2 }) => ({
6450
6498
  root: {
@@ -6455,7 +6503,7 @@ const defaultProps$o = {
6455
6503
  "--text-color": color2 ? getThemeColor(color2, theme) : void 0
6456
6504
  }
6457
6505
  }), Text = polymorphicFactory((_props, ref) => {
6458
- const props = useProps("Text", defaultProps$o, _props), {
6506
+ const props = useProps("Text", defaultProps$l, _props), {
6459
6507
  lineClamp,
6460
6508
  truncate,
6461
6509
  inline: inline2,
@@ -6532,12 +6580,12 @@ function CheckIcon({ size: size2, style: style2, ...others }) {
6532
6580
  );
6533
6581
  }
6534
6582
  var classes$7 = { root: "m_77c9d27d", inner: "m_80f1301b", label: "m_811560b9", section: "m_a74036a", loader: "m_a25b86ee", group: "m_80d6d844", groupSection: "m_70be2a01" };
6535
- const defaultProps$n = {
6583
+ const defaultProps$k = {
6536
6584
  orientation: "horizontal"
6537
6585
  }, varsResolver$9 = (_, { borderWidth: borderWidth2 }) => ({
6538
6586
  group: { "--button-border-width": rem(borderWidth2) }
6539
6587
  }), ButtonGroup = factory((_props, ref) => {
6540
- const props = useProps("ButtonGroup", defaultProps$n, _props), {
6588
+ const props = useProps("ButtonGroup", defaultProps$k, _props), {
6541
6589
  className,
6542
6590
  style: style2,
6543
6591
  classNames,
@@ -6549,7 +6597,7 @@ const defaultProps$n = {
6549
6597
  variant,
6550
6598
  mod,
6551
6599
  ...others
6552
- } = useProps("ButtonGroup", defaultProps$n, _props), getStyles2 = useStyles({
6600
+ } = useProps("ButtonGroup", defaultProps$k, _props), getStyles2 = useStyles({
6553
6601
  name: "ButtonGroup",
6554
6602
  props,
6555
6603
  classes: classes$7,
@@ -6576,7 +6624,7 @@ const defaultProps$n = {
6576
6624
  });
6577
6625
  ButtonGroup.classes = classes$7;
6578
6626
  ButtonGroup.displayName = "@mantine/core/ButtonGroup";
6579
- const defaultProps$m = {}, varsResolver$8 = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6627
+ const defaultProps$j = {}, varsResolver$8 = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6580
6628
  const colors2 = theme.variantColorResolver({
6581
6629
  color: color2 || theme.primaryColor,
6582
6630
  theme,
@@ -6596,7 +6644,7 @@ const defaultProps$m = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6596
6644
  }
6597
6645
  };
6598
6646
  }, ButtonGroupSection = factory((_props, ref) => {
6599
- const props = useProps("ButtonGroupSection", defaultProps$m, _props), {
6647
+ const props = useProps("ButtonGroupSection", defaultProps$j, _props), {
6600
6648
  className,
6601
6649
  style: style2,
6602
6650
  classNames,
@@ -6608,7 +6656,7 @@ const defaultProps$m = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6608
6656
  radius,
6609
6657
  autoContrast,
6610
6658
  ...others
6611
- } = useProps("ButtonGroupSection", defaultProps$m, _props), getStyles2 = useStyles({
6659
+ } = useProps("ButtonGroupSection", defaultProps$j, _props), getStyles2 = useStyles({
6612
6660
  name: "ButtonGroupSection",
6613
6661
  props,
6614
6662
  classes: classes$7,
@@ -6630,7 +6678,7 @@ const loaderTransition = {
6630
6678
  out: { opacity: 0, transform: "translate(-50%, -200%)" },
6631
6679
  common: { transformOrigin: "center" },
6632
6680
  transitionProperty: "transform, opacity"
6633
- }, defaultProps$l = {}, varsResolver$7 = (theme, { radius, color: color2, gradient, variant, size: size2, justify, autoContrast }) => {
6681
+ }, defaultProps$i = {}, varsResolver$7 = (theme, { radius, color: color2, gradient, variant, size: size2, justify, autoContrast }) => {
6634
6682
  const colors2 = theme.variantColorResolver({
6635
6683
  color: color2 || theme.primaryColor,
6636
6684
  theme,
@@ -6653,7 +6701,7 @@ const loaderTransition = {
6653
6701
  }
6654
6702
  };
6655
6703
  }, Button = polymorphicFactory((_props, ref) => {
6656
- const props = useProps("Button", defaultProps$l, _props), {
6704
+ const props = useProps("Button", defaultProps$i, _props), {
6657
6705
  style: style2,
6658
6706
  vars,
6659
6707
  className,
@@ -6729,7 +6777,7 @@ Button.displayName = "@mantine/core/Button";
6729
6777
  Button.Group = ButtonGroup;
6730
6778
  Button.GroupSection = ButtonGroupSection;
6731
6779
  var classes$6 = { root: "m_de3d2490", colorOverlay: "m_862f3d1b", shadowOverlay: "m_98ae7f22", alphaOverlay: "m_95709ac0", childrenOverlay: "m_93e74e3" };
6732
- const defaultProps$k = {
6780
+ const defaultProps$h = {
6733
6781
  withShadow: !0
6734
6782
  }, varsResolver$6 = (_, { radius, size: size2 }) => ({
6735
6783
  root: {
@@ -6737,7 +6785,7 @@ const defaultProps$k = {
6737
6785
  "--cs-size": rem(size2)
6738
6786
  }
6739
6787
  }), ColorSwatch = polymorphicFactory((_props, ref) => {
6740
- const props = useProps("ColorSwatch", defaultProps$k, _props), {
6788
+ const props = useProps("ColorSwatch", defaultProps$h, _props), {
6741
6789
  classNames,
6742
6790
  className,
6743
6791
  style: style2,
@@ -6751,7 +6799,7 @@ const defaultProps$k = {
6751
6799
  children: children2,
6752
6800
  variant,
6753
6801
  ...others
6754
- } = useProps("ColorSwatch", defaultProps$k, props), getStyles2 = useStyles({
6802
+ } = useProps("ColorSwatch", defaultProps$h, props), getStyles2 = useStyles({
6755
6803
  name: "ColorSwatch",
6756
6804
  props,
6757
6805
  classes: classes$6,
@@ -6783,7 +6831,7 @@ const defaultProps$k = {
6783
6831
  ColorSwatch.classes = classes$6;
6784
6832
  ColorSwatch.displayName = "@mantine/core/ColorSwatch";
6785
6833
  var classes$5 = { root: "m_3eebeb36", label: "m_9e365f20" };
6786
- const defaultProps$j = {
6834
+ const defaultProps$g = {
6787
6835
  orientation: "horizontal"
6788
6836
  }, varsResolver$5 = (theme, { color: color2, variant, size: size2 }) => ({
6789
6837
  root: {
@@ -6792,7 +6840,7 @@ const defaultProps$j = {
6792
6840
  "--divider-size": getSize(size2, "divider-size")
6793
6841
  }
6794
6842
  }), Divider = factory((_props, ref) => {
6795
- const props = useProps("Divider", defaultProps$j, _props), {
6843
+ const props = useProps("Divider", defaultProps$g, _props), {
6796
6844
  classNames,
6797
6845
  className,
6798
6846
  style: style2,
@@ -6841,54 +6889,6 @@ function useDelayedHover({ open, close, openDelay, closeDelay }) {
6841
6889
  };
6842
6890
  return useEffect(() => clearTimeouts, []), { openDropdown, closeDropdown };
6843
6891
  }
6844
- const [HoverCardContextProvider, useHoverCardContext] = createSafeContext(
6845
- "HoverCard component was not found in the tree"
6846
- ), defaultProps$i = {};
6847
- function HoverCardDropdown(props) {
6848
- const { children: children2, onMouseEnter, onMouseLeave, ...others } = useProps(
6849
- "HoverCardDropdown",
6850
- defaultProps$i,
6851
- props
6852
- ), ctx = useHoverCardContext(), handleMouseEnter = createEventHandler(onMouseEnter, ctx.openDropdown), handleMouseLeave = createEventHandler(onMouseLeave, ctx.closeDropdown);
6853
- return /* @__PURE__ */ jsx(Popover.Dropdown, { onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ...others, children: children2 });
6854
- }
6855
- HoverCardDropdown.displayName = "@mantine/core/HoverCardDropdown";
6856
- const defaultProps$h = {
6857
- refProp: "ref"
6858
- }, HoverCardTarget = forwardRef((props, ref) => {
6859
- const { children: children2, refProp, eventPropsWrapperName, ...others } = useProps(
6860
- "HoverCardTarget",
6861
- defaultProps$h,
6862
- props
6863
- );
6864
- if (!isElement$1(children2))
6865
- throw new Error(
6866
- "HoverCard.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported"
6867
- );
6868
- const ctx = useHoverCardContext(), onMouseEnter = createEventHandler(children2.props.onMouseEnter, ctx.openDropdown), onMouseLeave = createEventHandler(children2.props.onMouseLeave, ctx.closeDropdown), eventListeners = { onMouseEnter, onMouseLeave };
6869
- return /* @__PURE__ */ jsx(Popover.Target, { refProp, ref, ...others, children: cloneElement(
6870
- children2,
6871
- eventPropsWrapperName ? { [eventPropsWrapperName]: eventListeners } : eventListeners
6872
- ) });
6873
- });
6874
- HoverCardTarget.displayName = "@mantine/core/HoverCardTarget";
6875
- const defaultProps$g = {
6876
- openDelay: 0,
6877
- closeDelay: 150,
6878
- initiallyOpened: !1
6879
- };
6880
- function HoverCard(props) {
6881
- const { children: children2, onOpen, onClose, openDelay, closeDelay, initiallyOpened, ...others } = useProps(
6882
- "HoverCard",
6883
- defaultProps$g,
6884
- props
6885
- ), [opened, { open, close }] = useDisclosure(initiallyOpened, { onClose, onOpen }), { openDropdown, closeDropdown } = useDelayedHover({ open, close, openDelay, closeDelay });
6886
- return /* @__PURE__ */ jsx(HoverCardContextProvider, { value: { openDropdown, closeDropdown }, children: /* @__PURE__ */ jsx(Popover, { ...others, opened, __staticSelector: "HoverCard", children: children2 }) });
6887
- }
6888
- HoverCard.displayName = "@mantine/core/HoverCard";
6889
- HoverCard.Target = HoverCardTarget;
6890
- HoverCard.Dropdown = HoverCardDropdown;
6891
- HoverCard.extend = (input) => input;
6892
6892
  var index$1 = useLayoutEffect;
6893
6893
  const [MenuContextProvider, useMenuContext] = createSafeContext(
6894
6894
  "Menu component was not found in the tree"
@@ -15960,15 +15960,13 @@ function IfEnabled({
15960
15960
  }) {
15961
15961
  return useEnabledFeatures()[`enable${feature}`] === !0 && and2 ? /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) : null;
15962
15962
  }
15963
- function IfNotEnabled({
15964
- feature,
15965
- children: children2
15966
- }) {
15963
+ function IfNotEnabled({ feature, children: children2 }) {
15967
15964
  return useEnabledFeatures()[`enable${feature}`] !== !0 ? /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) : null;
15968
15965
  }
15969
- function IfNotReadOnly({
15970
- children: children2
15971
- }) {
15966
+ function IfReadOnly({ children: children2 }) {
15967
+ return useEnabledFeatures().enableReadOnly === !0 ? /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) : null;
15968
+ }
15969
+ function IfNotReadOnly({ children: children2 }) {
15972
15970
  return useEnabledFeatures().enableReadOnly === !0 ? null : /* @__PURE__ */ jsx(Fragment$1, { children: children2 });
15973
15971
  }
15974
15972
  const IconRendererContext = createContext(null);
@@ -19313,6 +19311,27 @@ const createRecipe = (name, defaultVariants, compoundVariants) => {
19313
19311
  return splitProps(props, likec4tagVariantKeys);
19314
19312
  },
19315
19313
  getVariantProps: likec4tagFn.getVariantProps
19314
+ }), markdownBlockFn = /* @__PURE__ */ createRecipe("likec4-markdown-block", {
19315
+ uselikec4palette: !1
19316
+ }, []), markdownBlockVariantMap = {
19317
+ uselikec4palette: [
19318
+ "true",
19319
+ "false"
19320
+ ]
19321
+ }, markdownBlockVariantKeys = Object.keys(markdownBlockVariantMap), markdownBlock = /* @__PURE__ */ Object.assign(memo(markdownBlockFn.recipeFn), {
19322
+ __recipe__: !0,
19323
+ __name__: "markdownBlock",
19324
+ __getCompoundVariantCss__: markdownBlockFn.__getCompoundVariantCss__,
19325
+ raw: (props) => props,
19326
+ variantKeys: markdownBlockVariantKeys,
19327
+ variantMap: markdownBlockVariantMap,
19328
+ merge(recipe) {
19329
+ return mergeRecipes(this, recipe);
19330
+ },
19331
+ splitVariantProps(props) {
19332
+ return splitProps(props, markdownBlockVariantKeys);
19333
+ },
19334
+ getVariantProps: markdownBlockFn.getVariantProps
19316
19335
  }), MotionButton = /* @__PURE__ */ createMinimalMotionComponent("button"), MotionDiv = /* @__PURE__ */ createMinimalMotionComponent("div"), compoundActionBtn = cva({
19317
19336
  base: {
19318
19337
  transitionDuration: "normal",
@@ -20302,140 +20321,157 @@ const ElementTag = forwardRef(
20302
20321
  }
20303
20322
  );
20304
20323
  }
20305
- ), propsAreEqual = (prev, next) => prev.data.width === next.data.width && deepEqual(prev.data.tags, next.data.tags), ElementTags = memo$1(({ id: id2, data: { tags, width } }) => {
20306
- const zoom2 = useCurrentZoom(), zoomIsLargeEnough = zoom2 > 1.2, portalProps = useMantinePortalProps();
20324
+ ), propsAreEqual = (prev, next) => prev.data.width === next.data.width && deepEqual(prev.data.tags, next.data.tags) && (prev.data.hovered ?? !1) === (next.data.hovered ?? !1), ElementTags = memo$1(({ id: id2, data: { tags, width, hovered = !1 } }) => {
20325
+ const {
20326
+ hovered: isTagsBarHovered,
20327
+ ref: tagsBarRef
20328
+ } = useHover$1(), {
20329
+ hovered: isTagsToolbarHovered,
20330
+ ref: tagsToolbarRef
20331
+ } = useHover$1(), [isVisible, setVisible] = useDebouncedState(!1, hovered ? 120 : 300);
20332
+ useEffect(() => {
20333
+ setVisible((visibleNow) => visibleNow ? hovered || isTagsBarHovered || isTagsToolbarHovered : hovered && (isTagsBarHovered || isTagsToolbarHovered));
20334
+ }, [isTagsBarHovered, isTagsToolbarHovered, hovered]);
20335
+ const zoom2 = useCurrentZoom(), zoomIsLargeEnough = zoom2 > 1.2, diagram = useDiagram(), onHover = (tag) => {
20336
+ diagram.send({ type: "tag.highlight", tag });
20337
+ }, onLeave = useCallback(() => {
20338
+ diagram.send({ type: "tag.unhighlight" });
20339
+ }, []);
20307
20340
  if (!tags || tags.length === 0)
20308
20341
  return null;
20309
20342
  const maxWidth = Math.max(Math.round(width * zoom2) - 10, 200);
20310
- return /* @__PURE__ */ jsxs(
20311
- HoverCard,
20312
- {
20313
- ...portalProps,
20314
- floatingStrategy: "fixed",
20315
- position: "bottom-start",
20316
- offset: {
20317
- alignmentAxis: Math.round(4 * zoom2),
20318
- mainAxis: 8
20319
- },
20320
- keepMounted: !1,
20321
- openDelay: 300,
20322
- closeDelay: 500,
20323
- children: [
20324
- /* @__PURE__ */ jsx(HoverCard.Target, { children: /* @__PURE__ */ jsx(
20325
- "div",
20343
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
20344
+ /* @__PURE__ */ jsx(
20345
+ "div",
20346
+ {
20347
+ ref: tagsBarRef,
20348
+ className: cx(
20349
+ "likec4-element-tags",
20350
+ hstack({
20351
+ pointerEvents: "all",
20352
+ gap: 4,
20353
+ alignItems: "flex-end",
20354
+ justifyItems: "stretch",
20355
+ position: "absolute",
20356
+ width: "100%",
20357
+ bottom: 0,
20358
+ left: 0,
20359
+ padding: 4,
20360
+ _shapeCylinder: {
20361
+ bottom: 5
20362
+ },
20363
+ _shapeStorage: {
20364
+ bottom: 5
20365
+ },
20366
+ _shapeQueue: {
20367
+ bottom: 0,
20368
+ paddingLeft: 14
20369
+ }
20370
+ })
20371
+ ),
20372
+ onClick: stopPropagation,
20373
+ children: tags.map((tag) => /* @__PURE__ */ jsx(
20374
+ Box,
20326
20375
  {
20327
- className: cx(
20328
- "likec4-element-tags",
20329
- hstack({
20330
- pointerEvents: "all",
20331
- gap: 4,
20332
- alignItems: "flex-end",
20333
- justifyItems: "stretch",
20334
- position: "absolute",
20335
- width: "100%",
20336
- bottom: 0,
20337
- left: 0,
20338
- padding: 4,
20339
- _shapeCylinder: {
20340
- bottom: 5
20341
- },
20342
- _shapeStorage: {
20343
- bottom: 5
20344
- },
20345
- _shapeQueue: {
20346
- bottom: 0,
20347
- paddingLeft: 14
20348
- }
20349
- })
20350
- ),
20351
- onClick: stopPropagation,
20352
- children: tags.map((tag) => /* @__PURE__ */ jsx(
20353
- Box,
20354
- {
20355
- "data-likec4-tag": tag,
20356
- className: css({
20357
- layerStyle: "likec4.tag",
20358
- flex: 1,
20359
- display: "flex",
20360
- alignItems: "center",
20361
- justifyContent: "center",
20362
- maxWidth: 50,
20363
- height: 5,
20364
- _whenHovered: {
20365
- height: 12,
20366
- borderRadius: 4,
20367
- transitionDelay: ".08s"
20368
- },
20369
- transition: "fast"
20370
- })
20376
+ "data-likec4-tag": tag,
20377
+ className: css({
20378
+ layerStyle: "likec4.tag",
20379
+ flex: 1,
20380
+ display: "flex",
20381
+ alignItems: "center",
20382
+ justifyContent: "center",
20383
+ maxWidth: 50,
20384
+ height: 5,
20385
+ _whenHovered: {
20386
+ height: 12,
20387
+ borderRadius: 4,
20388
+ transitionDelay: ".08s"
20371
20389
  },
20372
- id2 + "#" + tag
20373
- ))
20374
- }
20375
- ) }),
20376
- /* @__PURE__ */ jsx(
20377
- HoverCard.Dropdown,
20390
+ transition: "fast"
20391
+ })
20392
+ },
20393
+ id2 + "#" + tag
20394
+ ))
20395
+ }
20396
+ ),
20397
+ /* @__PURE__ */ jsx(NodeToolbar, { isVisible, align: "start", position: Position.Bottom, children: /* @__PURE__ */ jsx(
20398
+ HStack,
20399
+ {
20400
+ ref: tagsToolbarRef,
20401
+ css: {
20402
+ gap: 4,
20403
+ flexWrap: "wrap",
20404
+ pb: "sm",
20405
+ translate: "auto",
20406
+ x: -8,
20407
+ maxWidth
20408
+ },
20409
+ children: tags.map((tag) => /* @__PURE__ */ jsx(
20410
+ ElementTag,
20378
20411
  {
20379
- p: 0,
20380
- w: "auto",
20381
- maw: maxWidth,
20412
+ tag,
20382
20413
  className: css({
20383
- background: "transparent",
20384
- border: "none"
20414
+ userSelect: "none",
20415
+ cursor: "pointer",
20416
+ ...zoomIsLargeEnough && {
20417
+ fontSize: "lg",
20418
+ borderRadius: 4,
20419
+ px: 6
20420
+ }
20385
20421
  }),
20386
- children: /* @__PURE__ */ jsx(ElementTagsDropdown, { tags, zoomIsLargeEnough })
20387
- }
20388
- )
20389
- ]
20390
- }
20391
- );
20422
+ onClick: (e2) => {
20423
+ e2.stopPropagation(), diagram.openSearch(`#${tag}`);
20424
+ },
20425
+ onMouseEnter: () => onHover(tag),
20426
+ onMouseLeave: onLeave
20427
+ },
20428
+ tag
20429
+ ))
20430
+ }
20431
+ ) })
20432
+ ] });
20392
20433
  }, propsAreEqual);
20393
20434
  ElementTags.displayName = "ElementTags";
20394
- function ElementTagsDropdown({ tags, zoomIsLargeEnough }) {
20395
- const diagram = useDiagram(), onHover = (tag) => {
20396
- diagram.send({ type: "tag.highlight", tag });
20397
- }, onLeave = useCallback(() => {
20398
- diagram.send({ type: "tag.unhighlight" });
20399
- }, []);
20435
+ const MarkdownBlock = forwardRef(({
20436
+ value,
20437
+ textScale = 1,
20438
+ uselikec4palette = !1,
20439
+ hideIfEmpty = !1,
20440
+ emptyText = "no content",
20441
+ className,
20442
+ ...props
20443
+ }, ref) => {
20444
+ if (value.isEmpty && hideIfEmpty)
20445
+ return null;
20446
+ const content = value.nonEmpty ? { dangerouslySetInnerHTML: { __html: value.html } } : { children: /* @__PURE__ */ jsx(Text, { component: "span", fz: "xs", c: "dimmed", children: emptyText }) };
20400
20447
  return /* @__PURE__ */ jsx(
20401
- HStack,
20448
+ Box,
20402
20449
  {
20403
- css: {
20404
- gap: 4,
20405
- flexWrap: "wrap",
20406
- pb: "sm"
20450
+ ref,
20451
+ ...props,
20452
+ className: cx(
20453
+ markdownBlock({
20454
+ uselikec4palette
20455
+ }),
20456
+ className
20457
+ ),
20458
+ style: {
20459
+ // @ts-expect-error
20460
+ "--mantine-scale": textScale
20407
20461
  },
20408
- children: tags.map((tag) => /* @__PURE__ */ jsx(
20409
- ElementTag,
20410
- {
20411
- tag,
20412
- className: css({
20413
- userSelect: "none",
20414
- cursor: "pointer",
20415
- ...zoomIsLargeEnough && {
20416
- fontSize: "lg",
20417
- borderRadius: 4,
20418
- px: 6
20419
- }
20420
- }),
20421
- onClick: (e2) => {
20422
- e2.stopPropagation(), diagram.openSearch(`#${tag}`);
20423
- },
20424
- onMouseEnter: () => onHover(tag),
20425
- onMouseLeave: onLeave
20426
- },
20427
- tag
20428
- ))
20462
+ ...content
20429
20463
  }
20430
20464
  );
20431
- }
20465
+ });
20466
+ MarkdownBlock.displayName = "MarkdownBlock";
20432
20467
  const iconSize = "--icon-size", title = css.raw({
20433
20468
  textStyle: "likec4.node.primary",
20434
20469
  flex: "0 0 auto",
20435
20470
  textAlign: "center",
20436
20471
  color: "likec4.palette.hiContrast"
20437
20472
  }), description = css.raw({
20438
- flex: "0 1 auto",
20473
+ flexGrow: "0",
20474
+ flexShrink: "1",
20439
20475
  textStyle: "likec4.node.secondary",
20440
20476
  color: "likec4.palette.loContrast",
20441
20477
  textAlign: "center",
@@ -20505,6 +20541,8 @@ const iconSize = "--icon-size", title = css.raw({
20505
20541
  flex: "1",
20506
20542
  height: "fit-content",
20507
20543
  width: "fit-content",
20544
+ maxHeight: "100%",
20545
+ maxWidth: "100%",
20508
20546
  margin: "0 auto",
20509
20547
  display: "flex",
20510
20548
  alignItems: "center",
@@ -20556,6 +20594,8 @@ const iconSize = "--icon-size", title = css.raw({
20556
20594
  textContainer: {
20557
20595
  height: "fit-content",
20558
20596
  width: "fit-content",
20597
+ maxHeight: "100%",
20598
+ maxWidth: "100%",
20559
20599
  flex: "0 1 auto",
20560
20600
  display: "flex",
20561
20601
  flexDirection: "column",
@@ -20625,7 +20665,7 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20625
20665
  className: elementIcon
20626
20666
  }), classes2 = elementTitle({
20627
20667
  hasIcon: n$1(elementIcon$1),
20628
- hasDescription: !n(data.description ?? ""),
20668
+ hasDescription: !!data.description?.nonEmpty,
20629
20669
  hasTechnology: !n(data.technology ?? "")
20630
20670
  }), size2 = nodeSizes(data.style).size, isSmOrXs = size2 === "sm" || size2 === "xs";
20631
20671
  return /* @__PURE__ */ jsxs(
@@ -20645,7 +20685,7 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20645
20685
  /* @__PURE__ */ jsx(
20646
20686
  Text,
20647
20687
  {
20648
- component: "h3",
20688
+ component: "div",
20649
20689
  className: cx(classes2.title, "likec4-element-title"),
20650
20690
  lineClamp: isSmOrXs ? 2 : 3,
20651
20691
  children: data.title
@@ -20660,12 +20700,14 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20660
20700
  }
20661
20701
  ),
20662
20702
  data.description && /* @__PURE__ */ jsx(
20663
- Text,
20703
+ MarkdownBlock,
20664
20704
  {
20665
- component: "div",
20666
20705
  className: cx(classes2.description, "likec4-element-description"),
20667
- lineClamp: isSmOrXs ? 3 : 5,
20668
- children: data.description
20706
+ value: data.description,
20707
+ uselikec4palette: !0,
20708
+ hideIfEmpty: !0,
20709
+ maxHeight: data.description.isMarkdown ? "8rem" : void 0,
20710
+ lineClamp: isSmOrXs ? 3 : 5
20669
20711
  }
20670
20712
  )
20671
20713
  ] })
@@ -21564,7 +21606,7 @@ const backdropBlur = "--_blur", backdropOpacity = "--_opacity", level = "--_leve
21564
21606
  });
21565
21607
  Overlay.displayName = "Overlay";
21566
21608
  export {
21567
- createReactComponent as $,
21609
+ getContrastColor as $,
21568
21610
  createOptionalContext as A,
21569
21611
  Box$1 as B,
21570
21612
  useResolvedStylesApi as C,
@@ -21587,272 +21629,276 @@ export {
21587
21629
  Text as T,
21588
21630
  UnstyledButton as U,
21589
21631
  parseThemeColor as V,
21590
- Loader as W,
21591
- createScopedKeydownHandler as X,
21592
- getContrastColor as Y,
21593
- findElementAncestor as Z,
21594
- useClickOutside as _,
21632
+ createEventHandler as W,
21633
+ useDisclosure as X,
21634
+ useDelayedHover as Y,
21635
+ Loader as Z,
21636
+ createScopedKeydownHandler as _,
21595
21637
  useMediaQuery as a,
21596
- BackgroundVariant as a$,
21597
- C as a0,
21598
- s as a1,
21599
- u$2 as a2,
21600
- MotionConfigContext as a3,
21601
- useConstant as a4,
21602
- PresenceContext as a5,
21603
- useIsomorphicLayoutEffect$1 as a6,
21604
- LayoutGroupContext as a7,
21605
- createRenderBatcher as a8,
21606
- featureDefinitions as a9,
21607
- vh as aA,
21608
- numberValueTypes as aB,
21609
- isControllingVariants as aC,
21610
- isVariantNode as aD,
21611
- hasReducedMotionListener as aE,
21612
- initPrefersReducedMotion as aF,
21613
- prefersReducedMotion as aG,
21614
- isCSSVariableName as aH,
21615
- buildHTMLStyles as aI,
21616
- scrapeMotionValuesFromProps$1 as aJ,
21617
- camelToDash as aK,
21618
- scrapeMotionValuesFromProps as aL,
21619
- buildSVGAttrs as aM,
21620
- isSVGTag as aN,
21621
- isSVGComponent as aO,
21622
- useDebouncedCallback as aP,
21623
- isBrowser as aQ,
21624
- getPatternStyles as aR,
21625
- patternFns as aS,
21626
- splitProps as aT,
21627
- styled as aU,
21628
- css as aV,
21629
- useLikeC4Specification as aW,
21630
- useUpdateEffect as aX,
21631
- n as aY,
21632
- t$1 as aZ,
21633
- Background as a_,
21634
- LazyContext as aa,
21635
- loadExternalIsValidProp as ab,
21636
- resolveVariantFromProps as ac,
21637
- MotionGlobalConfig as ad,
21638
- isMotionValue as ae,
21639
- optimizedAppearDataAttribute as af,
21640
- transformProps as ag,
21641
- number as ah,
21642
- alpha as ai,
21643
- clamp$1 as aj,
21644
- percent as ak,
21645
- isCSSVariableToken as al,
21646
- px as am,
21647
- transformPropOrder as an,
21648
- isVariantLabel as ao,
21649
- variantProps as ap,
21650
- isAnimationControls as aq,
21651
- variantPriorityOrder as ar,
21652
- isRefObject as as,
21653
- SwitchLayoutGroupContext as at,
21654
- addScaleCorrector as au,
21655
- microtask as av,
21656
- resolveMotionValue as aw,
21657
- scaleCorrectors as ax,
21658
- degrees$1 as ay,
21659
- vw as az,
21638
+ n as a$,
21639
+ findElementAncestor as a0,
21640
+ useClickOutside as a1,
21641
+ createReactComponent as a2,
21642
+ C as a3,
21643
+ s as a4,
21644
+ u$2 as a5,
21645
+ MotionConfigContext as a6,
21646
+ useConstant as a7,
21647
+ PresenceContext as a8,
21648
+ useIsomorphicLayoutEffect$1 as a9,
21649
+ scaleCorrectors as aA,
21650
+ degrees$1 as aB,
21651
+ vw as aC,
21652
+ vh as aD,
21653
+ numberValueTypes as aE,
21654
+ isControllingVariants as aF,
21655
+ isVariantNode as aG,
21656
+ hasReducedMotionListener as aH,
21657
+ initPrefersReducedMotion as aI,
21658
+ prefersReducedMotion as aJ,
21659
+ isCSSVariableName as aK,
21660
+ buildHTMLStyles as aL,
21661
+ scrapeMotionValuesFromProps$1 as aM,
21662
+ camelToDash as aN,
21663
+ scrapeMotionValuesFromProps as aO,
21664
+ buildSVGAttrs as aP,
21665
+ isSVGTag as aQ,
21666
+ isSVGComponent as aR,
21667
+ useDebouncedCallback as aS,
21668
+ isBrowser as aT,
21669
+ getPatternStyles as aU,
21670
+ patternFns as aV,
21671
+ splitProps as aW,
21672
+ styled as aX,
21673
+ css as aY,
21674
+ useLikeC4Specification as aZ,
21675
+ useUpdateEffect as a_,
21676
+ LayoutGroupContext as aa,
21677
+ createRenderBatcher as ab,
21678
+ featureDefinitions as ac,
21679
+ LazyContext as ad,
21680
+ loadExternalIsValidProp as ae,
21681
+ resolveVariantFromProps as af,
21682
+ MotionGlobalConfig as ag,
21683
+ isMotionValue as ah,
21684
+ optimizedAppearDataAttribute as ai,
21685
+ transformProps as aj,
21686
+ number as ak,
21687
+ alpha as al,
21688
+ clamp$1 as am,
21689
+ percent as an,
21690
+ isCSSVariableToken as ao,
21691
+ px as ap,
21692
+ transformPropOrder as aq,
21693
+ isVariantLabel as ar,
21694
+ variantProps as as,
21695
+ isAnimationControls as at,
21696
+ variantPriorityOrder as au,
21697
+ isRefObject as av,
21698
+ SwitchLayoutGroupContext as aw,
21699
+ addScaleCorrector as ax,
21700
+ microtask as ay,
21701
+ resolveMotionValue as az,
21660
21702
  useMantineTheme as b,
21661
- useLikeC4Model as b$,
21662
- useIsZoomTooSmall as b0,
21663
- useXYStoreApi as b1,
21664
- index as b2,
21665
- stopPropagation as b3,
21666
- cx as b4,
21667
- useStore$1 as b5,
21668
- XSTATE_STOP as b6,
21669
- cloneMachineSnapshot as b7,
21670
- evaluateGuard as b8,
21671
- createErrorActorEvent as b9,
21672
- toArray as bA,
21673
- formatTransitions as bB,
21674
- toTransitionConfigArray as bC,
21675
- formatTransition as bD,
21676
- getCandidates as bE,
21677
- NULL_EVENT as bF,
21678
- createInvokeId as bG,
21679
- getDelayedTransitions as bH,
21680
- formatInitialTransition as bI,
21681
- deepEqual as bJ,
21682
- ActionIcon as bK,
21683
- IconZoomScan as bL,
21684
- sva as bM,
21685
- Box as bN,
21686
- n$1 as bO,
21687
- EdgeLabelRenderer as bP,
21688
- e as bQ,
21689
- useDiagramContext as bR,
21690
- useDiagram as bS,
21691
- useMantinePortalProps as bT,
21692
- PopoverTarget as bU,
21693
- PopoverDropdown as bV,
21694
- Stack as bW,
21695
- Group as bX,
21696
- Button as bY,
21697
- IconCheck as bZ,
21698
- cva as b_,
21699
- XSTATE_ERROR as ba,
21703
+ Button as b$,
21704
+ t$1 as b0,
21705
+ Background as b1,
21706
+ BackgroundVariant as b2,
21707
+ useIsZoomTooSmall as b3,
21708
+ useXYStoreApi as b4,
21709
+ index as b5,
21710
+ stopPropagation as b6,
21711
+ cx as b7,
21712
+ useStore$1 as b8,
21713
+ XSTATE_STOP as b9,
21714
+ evaluateGuard as bA,
21715
+ getCandidates as bB,
21716
+ NULL_EVENT as bC,
21717
+ createInvokeId as bD,
21718
+ getDelayedTransitions as bE,
21719
+ formatInitialTransition as bF,
21720
+ createErrorActorEvent as bG,
21721
+ XSTATE_ERROR as bH,
21722
+ cancel as bI,
21723
+ raise as bJ,
21724
+ spawnChild as bK,
21725
+ stopChild as bL,
21726
+ deepEqual as bM,
21727
+ ActionIcon as bN,
21728
+ IconZoomScan as bO,
21729
+ sva as bP,
21730
+ Box as bQ,
21731
+ n$1 as bR,
21732
+ EdgeLabelRenderer as bS,
21733
+ e as bT,
21734
+ useDiagramContext as bU,
21735
+ useDiagram as bV,
21736
+ useMantinePortalProps as bW,
21737
+ PopoverTarget as bX,
21738
+ PopoverDropdown as bY,
21739
+ Stack as bZ,
21740
+ Group as b_,
21741
+ cloneMachineSnapshot as ba,
21700
21742
  ProcessingStatus as bb,
21701
21743
  resolveReferencedActor as bc,
21702
21744
  createActor as bd,
21703
- cancel as be,
21704
- raise as bf,
21705
- spawnChild as bg,
21706
- stopChild as bh,
21707
- resolveStateValue as bi,
21708
- getAllStateNodes as bj,
21709
- getStateNodes as bk,
21710
- createMachineSnapshot as bl,
21711
- isInFinalState as bm,
21712
- macrostep as bn,
21713
- transitionNode as bo,
21714
- resolveActionsAndContext as bp,
21715
- createInitEvent as bq,
21716
- microstep as br,
21717
- getInitialStateNodes as bs,
21718
- toStatePath as bt,
21719
- isStateId as bu,
21720
- getStateNodeByPath as bv,
21721
- getPersistedSnapshot as bw,
21722
- $$ACTOR_TYPE as bx,
21723
- STATE_DELIMITER as by,
21724
- mapValues as bz,
21745
+ resolveStateValue as be,
21746
+ getAllStateNodes as bf,
21747
+ getStateNodes as bg,
21748
+ createMachineSnapshot as bh,
21749
+ isInFinalState as bi,
21750
+ macrostep as bj,
21751
+ transitionNode as bk,
21752
+ resolveActionsAndContext as bl,
21753
+ createInitEvent as bm,
21754
+ microstep as bn,
21755
+ getInitialStateNodes as bo,
21756
+ toStatePath as bp,
21757
+ isStateId as bq,
21758
+ getStateNodeByPath as br,
21759
+ getPersistedSnapshot as bs,
21760
+ $$ACTOR_TYPE as bt,
21761
+ STATE_DELIMITER as bu,
21762
+ mapValues as bv,
21763
+ toArray as bw,
21764
+ formatTransitions as bx,
21765
+ toTransitionConfigArray as by,
21766
+ formatTransition as bz,
21725
21767
  useMantineStyleNonce as c,
21726
- useXYStore as c$,
21727
- findDiagramNode as c0,
21728
- findDiagramEdge as c1,
21729
- Menu as c2,
21730
- MenuTarget as c3,
21731
- MenuDropdown as c4,
21732
- MenuLabel as c5,
21733
- MenuDivider as c6,
21734
- MenuItem as c7,
21735
- useEnabledFeatures as c8,
21736
- useDiagramEventHandlers as c9,
21737
- CompoundTitle as cA,
21738
- ElementNodeContainer as cB,
21739
- ElementShape as cC,
21740
- ElementTitle as cD,
21741
- ElementTags as cE,
21742
- ElementDetailsButton as cF,
21743
- Handle as cG,
21744
- Position as cH,
21745
- getDefaultExportFromCjs as cI,
21746
- l$1 as cJ,
21747
- IconSelector as cK,
21748
- SegmentedControl as cL,
21749
- ReactFlowProvider as cM,
21750
- useStoreApi as cN,
21751
- useReactFlow as cO,
21752
- Panel as cP,
21753
- m as cQ,
21754
- u as cR,
21755
- useSyncedRef as cS,
21756
- IconRenderer as cT,
21757
- useTimeoutEffect as cU,
21758
- ReactRemoveScroll as cV,
21759
- Flex as cW,
21760
- ElementTag as cX,
21761
- ActionIconGroup as cY,
21762
- DiagramFeatures as cZ,
21763
- Divider as c_,
21764
- TooltipGroup as ca,
21765
- Space as cb,
21766
- Tooltip$1 as cc,
21767
- IfEnabled as cd,
21768
- IconFileSymlink as ce,
21769
- getNodeDimensions as cf,
21770
- useIsPanning as cg,
21771
- useXYFlow as ch,
21772
- useDiagramActorSnapshot as ci,
21773
- useXYInternalNode as cj,
21774
- isSamePoint as ck,
21775
- bezierControlPoints as cl,
21776
- bezierPath as cm,
21777
- ViewGroupNode as cn,
21778
- CompoundDeploymentNode as co,
21779
- CompoundElementNode as cp,
21780
- DeploymentNode as cq,
21781
- ElementNode as cr,
21782
- shallowEqual as cs,
21783
- useSelector as ct,
21784
- getBezierPath as cu,
21785
- useCurrentViewId as cv,
21786
- ElementActionButtons as cw,
21787
- IconTransform as cx,
21788
- customNode as cy,
21789
- CompoundNodeContainer as cz,
21768
+ ActionIconGroup as c$,
21769
+ IconCheck as c0,
21770
+ cva as c1,
21771
+ useLikeC4Model as c2,
21772
+ findDiagramNode as c3,
21773
+ findDiagramEdge as c4,
21774
+ Menu as c5,
21775
+ MenuTarget as c6,
21776
+ MenuDropdown as c7,
21777
+ MenuLabel as c8,
21778
+ MenuDivider as c9,
21779
+ IconTransform as cA,
21780
+ customNode as cB,
21781
+ CompoundNodeContainer as cC,
21782
+ CompoundTitle as cD,
21783
+ ElementNodeContainer as cE,
21784
+ ElementShape as cF,
21785
+ ElementTitle as cG,
21786
+ ElementTags as cH,
21787
+ ElementDetailsButton as cI,
21788
+ Handle as cJ,
21789
+ Position as cK,
21790
+ getDefaultExportFromCjs as cL,
21791
+ l$1 as cM,
21792
+ IconSelector as cN,
21793
+ SegmentedControl as cO,
21794
+ ReactFlowProvider as cP,
21795
+ useStoreApi as cQ,
21796
+ useReactFlow as cR,
21797
+ Panel as cS,
21798
+ m as cT,
21799
+ u as cU,
21800
+ useSyncedRef as cV,
21801
+ IconRenderer as cW,
21802
+ useTimeoutEffect as cX,
21803
+ ReactRemoveScroll as cY,
21804
+ Flex as cZ,
21805
+ ElementTag as c_,
21806
+ MenuItem as ca,
21807
+ useEnabledFeatures as cb,
21808
+ useDiagramEventHandlers as cc,
21809
+ TooltipGroup as cd,
21810
+ Space as ce,
21811
+ Tooltip$1 as cf,
21812
+ IfEnabled as cg,
21813
+ IconFileSymlink as ch,
21814
+ getNodeDimensions as ci,
21815
+ useIsPanning as cj,
21816
+ useXYFlow as ck,
21817
+ useDiagramActorSnapshot as cl,
21818
+ useXYInternalNode as cm,
21819
+ isSamePoint as cn,
21820
+ bezierControlPoints as co,
21821
+ bezierPath as cp,
21822
+ ViewGroupNode as cq,
21823
+ CompoundDeploymentNode as cr,
21824
+ CompoundElementNode as cs,
21825
+ DeploymentNode as ct,
21826
+ ElementNode as cu,
21827
+ shallowEqual as cv,
21828
+ useSelector as cw,
21829
+ getBezierPath as cx,
21830
+ useCurrentViewId as cy,
21831
+ ElementActionButtons as cz,
21790
21832
  alpha$1 as d,
21791
- IfNotEnabled as d$,
21792
- useReducedMotionConfig as d0,
21793
- Overlay as d1,
21794
- t$2 as d2,
21795
- VisuallyHidden as d3,
21796
- MotionDiv as d4,
21797
- IconOrShapeRenderer as d5,
21798
- MotionButton as d6,
21799
- FocusTrap as d7,
21800
- HStack as d8,
21801
- t$4 as d9,
21802
- nodeToRect as dA,
21803
- useDiagramEventHandlersRef as dB,
21804
- useActorRef as dC,
21805
- DiagramActorContextProvider as dD,
21806
- IconRendererProvider as dE,
21807
- DiagramEventHandlers as dF,
21808
- ReduceGraphicsContext as dG,
21809
- RootContainer as dH,
21810
- useMutationObserver as dI,
21811
- Portal as dJ,
21812
- shallowEqual$1 as dK,
21813
- LikeC4ModelContext as dL,
21814
- useLikeC4ViewModel as dM,
21815
- useSetState as dN,
21816
- CompoundActionButton as dO,
21817
- CompoundDetailsButton as dP,
21818
- DefaultHandles as dQ,
21819
- CompoundActions as dR,
21820
- CompoundDeploymentToolbar as dS,
21821
- CompoundDetailsButtonWithHandler as dT,
21822
- CompoundElementToolbar as dU,
21823
- DeploymentElementActions as dV,
21824
- DeploymentElementToolbar as dW,
21825
- ElementActions as dX,
21826
- ElementDetailsButtonWithHandler as dY,
21827
- ElementToolbar as dZ,
21828
- Toolbar as d_,
21829
- isMacOs as da,
21830
- FloatingIndicator as db,
21831
- clampUseMovePosition as dc,
21832
- useMove as dd,
21833
- HoverCard as de,
21834
- HoverCardTarget as df,
21835
- HoverCardDropdown as dg,
21836
- useDiagramSyncLayoutState as dh,
21837
- ButtonGroup as di,
21838
- useIsReducedGraphics as dj,
21839
- usePanningAtom as dk,
21840
- useTimeout as dl,
21841
- useCustomCompareMemo as dm,
21842
- applyEdgeChanges as dn,
21843
- applyNodeChanges as dp,
21844
- getViewportForBounds as dq,
21845
- typedSystem as dr,
21846
- centerXYInternalNode as ds,
21847
- t$3 as dt,
21848
- getBoundsOfRects as du,
21849
- boxToRect as dv,
21850
- and as dw,
21851
- AllDisabled as dx,
21852
- focusedBounds as dy,
21853
- or as dz,
21833
+ ElementDetailsButtonWithHandler as d$,
21834
+ MarkdownBlock as d0,
21835
+ DiagramFeatures as d1,
21836
+ Divider as d2,
21837
+ useXYStore as d3,
21838
+ useReducedMotionConfig as d4,
21839
+ Overlay as d5,
21840
+ t$2 as d6,
21841
+ VisuallyHidden as d7,
21842
+ MotionDiv as d8,
21843
+ IconOrShapeRenderer as d9,
21844
+ focusedBounds as dA,
21845
+ or as dB,
21846
+ nodeToRect as dC,
21847
+ useDiagramEventHandlersRef as dD,
21848
+ useActorRef as dE,
21849
+ DiagramActorContextProvider as dF,
21850
+ IconRendererProvider as dG,
21851
+ DiagramEventHandlers as dH,
21852
+ ReduceGraphicsContext as dI,
21853
+ RootContainer as dJ,
21854
+ useMutationObserver as dK,
21855
+ Portal as dL,
21856
+ shallowEqual$1 as dM,
21857
+ LikeC4ModelContext as dN,
21858
+ useDiagramActorRef as dO,
21859
+ useLikeC4ViewModel as dP,
21860
+ useSetState as dQ,
21861
+ CompoundActionButton as dR,
21862
+ CompoundDetailsButton as dS,
21863
+ DefaultHandles as dT,
21864
+ CompoundActions as dU,
21865
+ CompoundDeploymentToolbar as dV,
21866
+ CompoundDetailsButtonWithHandler as dW,
21867
+ CompoundElementToolbar as dX,
21868
+ DeploymentElementActions as dY,
21869
+ DeploymentElementToolbar as dZ,
21870
+ ElementActions as d_,
21871
+ MotionButton as da,
21872
+ FocusTrap as db,
21873
+ HStack as dc,
21874
+ t$4 as dd,
21875
+ isMacOs as de,
21876
+ useHover$1 as df,
21877
+ FloatingIndicator as dg,
21878
+ clampUseMovePosition as dh,
21879
+ useMove as di,
21880
+ useDiagramSyncLayoutState as dj,
21881
+ ButtonGroup as dk,
21882
+ useIsReducedGraphics as dl,
21883
+ usePanningAtom as dm,
21884
+ useTimeout as dn,
21885
+ useCustomCompareMemo as dp,
21886
+ applyEdgeChanges as dq,
21887
+ applyNodeChanges as dr,
21888
+ getViewportForBounds as ds,
21889
+ typedSystem as dt,
21890
+ centerXYInternalNode as du,
21891
+ t$3 as dv,
21892
+ getBoundsOfRects as dw,
21893
+ boxToRect as dx,
21894
+ and as dy,
21895
+ AllDisabled as dz,
21854
21896
  em as e,
21855
- IfNotReadOnly as e0,
21897
+ ElementToolbar as e0,
21898
+ Toolbar as e1,
21899
+ IfNotEnabled as e2,
21900
+ IfNotReadOnly as e3,
21901
+ IfReadOnly as e4,
21856
21902
  getPrimaryContrastColor as f,
21857
21903
  getPrimaryShade as g,
21858
21904
  deepMerge as h,