@likec4/diagram 1.32.2 → 1.33.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 (155) hide show
  1. package/bundle/{chunk-DlHyKoeo.js → chunk-DyFK-AJ5.js} +516 -488
  2. package/bundle/custom.js +53 -50
  3. package/bundle/index.js +317 -154
  4. package/dist/base/primitives/MarkdownBlock.d.ts +27 -0
  5. package/dist/base/primitives/MarkdownBlock.js +42 -0
  6. package/dist/base/primitives/compound/CompoundActionButton.js +1 -1
  7. package/dist/base/primitives/compound/CompoundDetailsButton.js +1 -1
  8. package/dist/base/primitives/edge/EdgeActionButton.js +1 -1
  9. package/dist/base/primitives/element/ElementDetailsButton.js +1 -1
  10. package/dist/base/primitives/element/ElementTags.d.ts +1 -1
  11. package/dist/base/primitives/element/ElementTags.js +116 -125
  12. package/dist/base/primitives/element/ElementTitle.css.js +6 -1
  13. package/dist/base/primitives/element/ElementTitle.d.ts +3 -2
  14. package/dist/base/primitives/element/ElementTitle.js +9 -6
  15. package/dist/base/primitives/index.d.ts +1 -0
  16. package/dist/bundle/LikeC4View.js +1 -1
  17. package/dist/bundle/custom.js +31 -0
  18. package/dist/bundle/index.js +1 -0
  19. package/dist/components/ErrorFallback.js +1 -1
  20. package/dist/components/Link.js +2 -1
  21. package/dist/components/SearchControl.js +1 -1
  22. package/dist/context/DiagramFeatures.d.ts +3 -2
  23. package/dist/context/DiagramFeatures.js +16 -1
  24. package/dist/context/IconRenderer.js +6 -1
  25. package/dist/context/TagStylesContext.js +1 -1
  26. package/dist/custom/components.d.ts +2 -2
  27. package/dist/custom/customNodes.js +18 -0
  28. package/dist/custom/hooks.d.ts +3 -3
  29. package/dist/custom/index.js +31 -0
  30. package/dist/hooks/safeContext.js +1 -1
  31. package/dist/hooks/useXYFlow.d.ts +2 -1
  32. package/dist/index.d.ts +4 -6
  33. package/dist/index.js +1 -0
  34. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.js +5 -2
  35. package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -1
  36. package/dist/likec4diagram/custom/nodes/nodes.js +3 -3
  37. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -1
  38. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -1
  39. package/dist/likec4diagram/types.d.ts +3 -2
  40. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +1 -1
  41. package/dist/likec4diagram/ui/controls/Controls.js +3 -1
  42. package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +1 -1
  43. package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +9 -1
  44. package/dist/likec4diagram/ui/controls/NavigationButtons.js +2 -1
  45. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +2 -1
  46. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +19 -15
  47. package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -1
  48. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +4 -1
  49. package/dist/likec4diagram/useViewToNodesEdges.js +2 -2
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. package/dist/overlays/element-details/ElementDetailsCard.css.js +4 -2
  97. package/dist/overlays/element-details/ElementDetailsCard.js +127 -12
  98. package/dist/overlays/element-details/TabPanelDeployments.js +3 -1
  99. package/dist/overlays/element-details/TabPanelRelationships.js +3 -1
  100. package/dist/overlays/element-details/TabPanelStructure.js +1 -1
  101. package/dist/overlays/relationship-details/RelationshipDetails.d.ts +2 -2
  102. package/dist/overlays/relationship-details/RelationshipDetails.js +3 -1
  103. package/dist/overlays/relationship-details/SelectEdge.js +2 -1
  104. package/dist/overlays/relationship-details/_types.d.ts +4 -3
  105. package/dist/overlays/relationship-details/actor.d.ts +2 -2
  106. package/dist/overlays/relationship-details/custom/ElementActions.js +3 -1
  107. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +2 -2
  108. package/dist/overlays/relationship-details/hooks.d.ts +10 -10
  109. package/dist/overlays/relationship-details/layout-to-xyflow.js +4 -4
  110. package/dist/overlays/relationship-details/layout.d.ts +5 -3
  111. package/dist/overlays/relationship-details/layout.js +2 -2
  112. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -1
  113. package/dist/overlays/relationships-browser/SelectElement.js +2 -1
  114. package/dist/overlays/relationships-browser/_types.d.ts +3 -2
  115. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -1
  116. package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +2 -2
  117. package/dist/overlays/relationships-browser/layout.d.ts +4 -3
  118. package/dist/overlays/relationships-browser/layout.js +3 -3
  119. package/dist/search/components/ElementsColumn.js +2 -2
  120. package/dist/search/components/PickView.js +1 -1
  121. package/dist/search/components/SearchByTags.js +1 -1
  122. package/dist/search/components/SearchInput.js +1 -1
  123. package/dist/search/components/ViewsColum.js +4 -3
  124. package/dist/state/DiagramActorProvider.js +9 -1
  125. package/dist/state/diagram-machine.js +1 -1
  126. package/dist/styles-min.css +1 -1
  127. package/dist/styles.css +1 -1
  128. package/dist/styles.css2.js +1 -1
  129. package/package.json +20 -14
  130. package/panda.buildinfo.json +25 -6
  131. package/src/base/primitives/MarkdownBlock.tsx +66 -0
  132. package/src/base/primitives/element/ElementTags.tsx +118 -116
  133. package/src/base/primitives/element/ElementTitle.css.ts +7 -1
  134. package/src/base/primitives/element/ElementTitle.tsx +14 -9
  135. package/src/base/primitives/index.ts +1 -0
  136. package/src/context/DiagramFeatures.tsx +7 -7
  137. package/src/custom/components.ts +2 -0
  138. package/src/custom/hooks.ts +5 -0
  139. package/src/hooks/useXYFlow.ts +9 -1
  140. package/src/index.ts +18 -6
  141. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.tsx +1 -1
  142. package/src/likec4diagram/types.ts +2 -2
  143. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +21 -16
  144. package/src/likec4diagram/useViewToNodesEdges.ts +2 -1
  145. package/src/overlays/element-details/ElementDetailsCard.css.ts +3 -1
  146. package/src/overlays/element-details/ElementDetailsCard.tsx +101 -17
  147. package/src/overlays/relationship-details/_types.ts +12 -3
  148. package/src/overlays/relationship-details/layout-to-xyflow.ts +3 -2
  149. package/src/overlays/relationship-details/layout.ts +7 -4
  150. package/src/overlays/relationships-browser/_types.ts +2 -1
  151. package/src/overlays/relationships-browser/layout.ts +7 -4
  152. package/src/search/components/ElementsColumn.tsx +1 -1
  153. package/src/search/components/ViewsColum.tsx +2 -2
  154. package/src/state/DiagramActorProvider.tsx +10 -2
  155. 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));
@@ -5013,11 +5039,11 @@ function toInt(value) {
5013
5039
  return value ? parseInt(value, 10) : 0;
5014
5040
  }
5015
5041
  var classes$i = { root: "m_87cf2631" };
5016
- const defaultProps$D = {
5042
+ const defaultProps$A = {
5017
5043
  __staticSelector: "UnstyledButton"
5018
5044
  }, UnstyledButton = polymorphicFactory(
5019
5045
  (_props, ref) => {
5020
- const props = useProps("UnstyledButton", defaultProps$D, _props), {
5046
+ const props = useProps("UnstyledButton", defaultProps$A, _props), {
5021
5047
  className,
5022
5048
  component = "button",
5023
5049
  __staticSelector,
@@ -5051,8 +5077,8 @@ const defaultProps$D = {
5051
5077
  UnstyledButton.classes = classes$i;
5052
5078
  UnstyledButton.displayName = "@mantine/core/UnstyledButton";
5053
5079
  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({
5080
+ const defaultProps$z = {}, VisuallyHidden = factory((_props, ref) => {
5081
+ const props = useProps("VisuallyHidden", defaultProps$z, _props), { classNames, className, style: style2, styles, unstyled, vars, ...others } = props, getStyles2 = useStyles({
5056
5082
  name: "VisuallyHidden",
5057
5083
  classes: classes$h,
5058
5084
  props,
@@ -5067,13 +5093,13 @@ const defaultProps$C = {}, VisuallyHidden = factory((_props, ref) => {
5067
5093
  VisuallyHidden.classes = classes$h;
5068
5094
  VisuallyHidden.displayName = "@mantine/core/VisuallyHidden";
5069
5095
  var classes$g = { root: "m_1b7284a3" };
5070
- const defaultProps$B = {}, varsResolver$j = (_, { radius, shadow }) => ({
5096
+ const defaultProps$y = {}, varsResolver$j = (_, { radius, shadow }) => ({
5071
5097
  root: {
5072
5098
  "--paper-radius": radius === void 0 ? void 0 : getRadius(radius),
5073
5099
  "--paper-shadow": getShadow(shadow)
5074
5100
  }
5075
5101
  }), Paper = polymorphicFactory((_props, ref) => {
5076
- const props = useProps("Paper", defaultProps$B, _props), {
5102
+ const props = useProps("Paper", defaultProps$y, _props), {
5077
5103
  classNames,
5078
5104
  className,
5079
5105
  style: style2,
@@ -5215,7 +5241,7 @@ function getFloatingPosition(dir, position) {
5215
5241
  return position;
5216
5242
  }
5217
5243
  var classes$f = { root: "m_9814e45f" };
5218
- const defaultProps$A = {
5244
+ const defaultProps$x = {
5219
5245
  zIndex: getDefaultZIndex("modal")
5220
5246
  }, varsResolver$i = (_, { gradient, color: color2, backgroundOpacity, blur, radius, zIndex }) => ({
5221
5247
  root: {
@@ -5225,7 +5251,7 @@ const defaultProps$A = {
5225
5251
  "--overlay-z-index": zIndex?.toString()
5226
5252
  }
5227
5253
  }), Overlay$1 = polymorphicFactory((_props, ref) => {
5228
- const props = useProps("Overlay", defaultProps$A, _props), {
5254
+ const props = useProps("Overlay", defaultProps$x, _props), {
5229
5255
  classNames,
5230
5256
  className,
5231
5257
  style: style2,
@@ -5275,10 +5301,10 @@ function getTargetNode({ target, reuseTargetNode, ...others }) {
5275
5301
  }
5276
5302
  return createPortalNode(others);
5277
5303
  }
5278
- const defaultProps$z = {
5304
+ const defaultProps$w = {
5279
5305
  reuseTargetNode: !0
5280
5306
  }, Portal = factory((props, ref) => {
5281
- const { children: children2, target, reuseTargetNode, ...others } = useProps("Portal", defaultProps$z, props), [mounted, setMounted] = useState(!1), nodeRef = useRef(null);
5307
+ const { children: children2, target, reuseTargetNode, ...others } = useProps("Portal", defaultProps$w, props), [mounted, setMounted] = useState(!1), nodeRef = useRef(null);
5282
5308
  return useIsomorphicEffect(() => (setMounted(!0), nodeRef.current = getTargetNode({ target, reuseTargetNode, ...others }), assignRef(ref, nodeRef.current), !target && !reuseTargetNode && nodeRef.current && document.body.appendChild(nodeRef.current), () => {
5283
5309
  !target && !reuseTargetNode && nodeRef.current && document.body.removeChild(nodeRef.current);
5284
5310
  }), [target]), !mounted || !nodeRef.current ? null : createPortal(/* @__PURE__ */ jsx(Fragment$1, { children: children2 }), nodeRef.current);
@@ -5545,8 +5571,8 @@ FocusTrap.displayName = "@mantine/core/FocusTrap";
5545
5571
  FocusTrapInitialFocus.displayName = "@mantine/core/FocusTrapInitialFocus";
5546
5572
  FocusTrap.InitialFocus = FocusTrapInitialFocus;
5547
5573
  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), {
5574
+ const defaultProps$v = {}, PopoverDropdown = factory((_props, ref) => {
5575
+ const props = useProps("PopoverDropdown", defaultProps$v, _props), {
5550
5576
  className,
5551
5577
  style: style2,
5552
5578
  vars,
@@ -5640,13 +5666,13 @@ const defaultProps$y = {}, PopoverDropdown = factory((_props, ref) => {
5640
5666
  });
5641
5667
  PopoverDropdown.classes = classes$e;
5642
5668
  PopoverDropdown.displayName = "@mantine/core/PopoverDropdown";
5643
- const defaultProps$x = {
5669
+ const defaultProps$u = {
5644
5670
  refProp: "ref",
5645
5671
  popupType: "dialog"
5646
5672
  }, PopoverTarget = factory((props, ref) => {
5647
5673
  const { children: children2, refProp, popupType, ...others } = useProps(
5648
5674
  "PopoverTarget",
5649
- defaultProps$x,
5675
+ defaultProps$u,
5650
5676
  props
5651
5677
  );
5652
5678
  if (!isElement$1(children2))
@@ -5681,7 +5707,7 @@ function getDefaultMiddlewares$1(middlewares) {
5681
5707
  }
5682
5708
  function getPopoverMiddlewares(options, getFloating, env) {
5683
5709
  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(
5710
+ return options.dropdownVisible && env !== "test" && options.preventPositionChangeWhenVisible && (middlewaresOptions.flip = !1, middlewaresOptions.shift = !1), middlewaresOptions.shift && middlewares.push(
5685
5711
  shift(
5686
5712
  typeof middlewaresOptions.shift == "boolean" ? { limiter: limitShift(), padding: 5 } : { limiter: limitShift(), padding: 5, ...middlewaresOptions.shift }
5687
5713
  )
@@ -5712,9 +5738,11 @@ function usePopover(options) {
5712
5738
  onChange: options.onChange
5713
5739
  }), previouslyOpened = useRef(_opened), onClose = () => {
5714
5740
  _opened && !options.disabled && setOpened(!1);
5715
- }, onToggle = () => !options.disabled && setOpened(!_opened), floating = useFloating({
5741
+ }, onToggle = () => {
5742
+ options.disabled || setOpened(!_opened);
5743
+ }, floating = useFloating({
5716
5744
  strategy: options.strategy,
5717
- placement: options.positionRef.current,
5745
+ placement: options.preventPositionChangeWhenVisible ? options.positionRef.current : options.position,
5718
5746
  middleware: getPopoverMiddlewares(options, () => floating, env),
5719
5747
  whileElementsMounted: autoUpdate
5720
5748
  });
@@ -5735,7 +5763,7 @@ function usePopover(options) {
5735
5763
  onToggle
5736
5764
  };
5737
5765
  }
5738
- const defaultProps$w = {
5766
+ const defaultProps$t = {
5739
5767
  position: "bottom",
5740
5768
  offset: 8,
5741
5769
  positionDependencies: [],
@@ -5764,7 +5792,7 @@ const defaultProps$w = {
5764
5792
  }
5765
5793
  });
5766
5794
  function Popover(_props) {
5767
- const props = useProps("Popover", defaultProps$w, _props), {
5795
+ const props = useProps("Popover", defaultProps$t, _props), {
5768
5796
  children: children2,
5769
5797
  position,
5770
5798
  offset: offset2,
@@ -5812,6 +5840,7 @@ function Popover(_props) {
5812
5840
  withOverlay,
5813
5841
  overlayProps,
5814
5842
  hideDetached,
5843
+ preventPositionChangeWhenVisible,
5815
5844
  ...others
5816
5845
  } = props, getStyles2 = useStyles({
5817
5846
  name: __staticSelector,
@@ -5842,7 +5871,8 @@ function Popover(_props) {
5842
5871
  dropdownVisible,
5843
5872
  setDropdownVisible,
5844
5873
  positionRef,
5845
- disabled
5874
+ disabled,
5875
+ preventPositionChangeWhenVisible
5846
5876
  });
5847
5877
  useClickOutside(
5848
5878
  () => {
@@ -5962,7 +5992,7 @@ const defaultLoaders = {
5962
5992
  bars: Bars,
5963
5993
  oval: Oval,
5964
5994
  dots: Dots
5965
- }, defaultProps$v = {
5995
+ }, defaultProps$s = {
5966
5996
  loaders: defaultLoaders,
5967
5997
  type: "oval"
5968
5998
  }, varsResolver$g = (theme, { size: size2, color: color2 }) => ({
@@ -5971,7 +6001,7 @@ const defaultLoaders = {
5971
6001
  "--loader-color": color2 ? getThemeColor(color2, theme) : void 0
5972
6002
  }
5973
6003
  }), Loader = factory((_props, ref) => {
5974
- const props = useProps("Loader", defaultProps$v, _props), {
6004
+ const props = useProps("Loader", defaultProps$s, _props), {
5975
6005
  size: size2,
5976
6006
  color: color2,
5977
6007
  type,
@@ -6013,12 +6043,12 @@ Loader.defaultLoaders = defaultLoaders;
6013
6043
  Loader.classes = classes$d;
6014
6044
  Loader.displayName = "@mantine/core/Loader";
6015
6045
  var classes$c = { root: "m_8d3f4000", icon: "m_8d3afb97", loader: "m_302b9fb1", group: "m_1a0f1b21", groupSection: "m_437b6484" };
6016
- const defaultProps$u = {
6046
+ const defaultProps$r = {
6017
6047
  orientation: "horizontal"
6018
6048
  }, varsResolver$f = (_, { borderWidth: borderWidth2 }) => ({
6019
6049
  group: { "--ai-border-width": rem(borderWidth2) }
6020
6050
  }), ActionIconGroup = factory((_props, ref) => {
6021
- const props = useProps("ActionIconGroup", defaultProps$u, _props), {
6051
+ const props = useProps("ActionIconGroup", defaultProps$r, _props), {
6022
6052
  className,
6023
6053
  style: style2,
6024
6054
  classNames,
@@ -6030,7 +6060,7 @@ const defaultProps$u = {
6030
6060
  variant,
6031
6061
  mod,
6032
6062
  ...others
6033
- } = useProps("ActionIconGroup", defaultProps$u, _props), getStyles2 = useStyles({
6063
+ } = useProps("ActionIconGroup", defaultProps$r, _props), getStyles2 = useStyles({
6034
6064
  name: "ActionIconGroup",
6035
6065
  props,
6036
6066
  classes: classes$c,
@@ -6057,7 +6087,7 @@ const defaultProps$u = {
6057
6087
  });
6058
6088
  ActionIconGroup.classes = classes$c;
6059
6089
  ActionIconGroup.displayName = "@mantine/core/ActionIconGroup";
6060
- const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6090
+ const defaultProps$q = {}, varsResolver$e = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6061
6091
  const colors2 = theme.variantColorResolver({
6062
6092
  color: color2 || theme.primaryColor,
6063
6093
  theme,
@@ -6077,7 +6107,7 @@ const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gra
6077
6107
  }
6078
6108
  };
6079
6109
  }, ActionIconGroupSection = factory((_props, ref) => {
6080
- const props = useProps("ActionIconGroupSection", defaultProps$t, _props), {
6110
+ const props = useProps("ActionIconGroupSection", defaultProps$q, _props), {
6081
6111
  className,
6082
6112
  style: style2,
6083
6113
  classNames,
@@ -6089,7 +6119,7 @@ const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gra
6089
6119
  radius,
6090
6120
  autoContrast,
6091
6121
  ...others
6092
- } = useProps("ActionIconGroupSection", defaultProps$t, _props), getStyles2 = useStyles({
6122
+ } = useProps("ActionIconGroupSection", defaultProps$q, _props), getStyles2 = useStyles({
6093
6123
  name: "ActionIconGroupSection",
6094
6124
  props,
6095
6125
  classes: classes$c,
@@ -6106,7 +6136,7 @@ const defaultProps$t = {}, varsResolver$e = (theme, { radius, color: color2, gra
6106
6136
  });
6107
6137
  ActionIconGroupSection.classes = classes$c;
6108
6138
  ActionIconGroupSection.displayName = "@mantine/core/ActionIconGroupSection";
6109
- const defaultProps$s = {}, varsResolver$d = (theme, { size: size2, radius, variant, gradient, color: color2, autoContrast }) => {
6139
+ const defaultProps$p = {}, varsResolver$d = (theme, { size: size2, radius, variant, gradient, color: color2, autoContrast }) => {
6110
6140
  const colors2 = theme.variantColorResolver({
6111
6141
  color: color2 || theme.primaryColor,
6112
6142
  theme,
@@ -6126,7 +6156,7 @@ const defaultProps$s = {}, varsResolver$d = (theme, { size: size2, radius, varia
6126
6156
  }
6127
6157
  };
6128
6158
  }, ActionIcon = polymorphicFactory((_props, ref) => {
6129
- const props = useProps("ActionIcon", defaultProps$s, _props), {
6159
+ const props = useProps("ActionIcon", defaultProps$p, _props), {
6130
6160
  className,
6131
6161
  unstyled,
6132
6162
  variant,
@@ -6185,7 +6215,7 @@ function filterFalsyChildren(children2) {
6185
6215
  return Children.toArray(children2).filter(Boolean);
6186
6216
  }
6187
6217
  var classes$b = { root: "m_4081bf90" };
6188
- const defaultProps$r = {
6218
+ const defaultProps$o = {
6189
6219
  preventGrowOverflow: !0,
6190
6220
  gap: "md",
6191
6221
  align: "center",
@@ -6200,7 +6230,7 @@ const defaultProps$r = {
6200
6230
  "--group-wrap": wrap
6201
6231
  }
6202
6232
  }), Group = factory((_props, ref) => {
6203
- const props = useProps("Group", defaultProps$r, _props), {
6233
+ const props = useProps("Group", defaultProps$o, _props), {
6204
6234
  classNames,
6205
6235
  className,
6206
6236
  style: style2,
@@ -6256,8 +6286,8 @@ const FLEX_STYLE_PROPS_DATA = {
6256
6286
  direction: { type: "identity", property: "flexDirection" }
6257
6287
  };
6258
6288
  var classes$a = { root: "m_8bffd616" };
6259
- const defaultProps$q = {}, Flex = polymorphicFactory((_props, ref) => {
6260
- const props = useProps("Flex", defaultProps$q, _props), {
6289
+ const defaultProps$n = {}, Flex = polymorphicFactory((_props, ref) => {
6290
+ const props = useProps("Flex", defaultProps$n, _props), {
6261
6291
  classNames,
6262
6292
  className,
6263
6293
  style: style2,
@@ -6376,12 +6406,12 @@ function useFloatingIndicator({
6376
6406
  ), { initialized, hidden: hidden2 };
6377
6407
  }
6378
6408
  var classes$9 = { root: "m_96b553a6" };
6379
- const defaultProps$p = {}, varsResolver$b = (_theme, { transitionDuration }) => ({
6409
+ const defaultProps$m = {}, varsResolver$b = (_theme, { transitionDuration }) => ({
6380
6410
  root: {
6381
6411
  "--transition-duration": typeof transitionDuration == "number" ? `${transitionDuration}ms` : transitionDuration
6382
6412
  }
6383
6413
  }), FloatingIndicator = factory((_props, ref) => {
6384
- const props = useProps("FloatingIndicator", defaultProps$p, _props), {
6414
+ const props = useProps("FloatingIndicator", defaultProps$m, _props), {
6385
6415
  classNames,
6386
6416
  className,
6387
6417
  style: style2,
@@ -6444,7 +6474,7 @@ function getTextTruncate(truncate) {
6444
6474
  if (truncate === "end" || truncate)
6445
6475
  return "end";
6446
6476
  }
6447
- const defaultProps$o = {
6477
+ const defaultProps$l = {
6448
6478
  inherit: !1
6449
6479
  }, 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
6480
  root: {
@@ -6455,7 +6485,7 @@ const defaultProps$o = {
6455
6485
  "--text-color": color2 ? getThemeColor(color2, theme) : void 0
6456
6486
  }
6457
6487
  }), Text = polymorphicFactory((_props, ref) => {
6458
- const props = useProps("Text", defaultProps$o, _props), {
6488
+ const props = useProps("Text", defaultProps$l, _props), {
6459
6489
  lineClamp,
6460
6490
  truncate,
6461
6491
  inline: inline2,
@@ -6532,12 +6562,12 @@ function CheckIcon({ size: size2, style: style2, ...others }) {
6532
6562
  );
6533
6563
  }
6534
6564
  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 = {
6565
+ const defaultProps$k = {
6536
6566
  orientation: "horizontal"
6537
6567
  }, varsResolver$9 = (_, { borderWidth: borderWidth2 }) => ({
6538
6568
  group: { "--button-border-width": rem(borderWidth2) }
6539
6569
  }), ButtonGroup = factory((_props, ref) => {
6540
- const props = useProps("ButtonGroup", defaultProps$n, _props), {
6570
+ const props = useProps("ButtonGroup", defaultProps$k, _props), {
6541
6571
  className,
6542
6572
  style: style2,
6543
6573
  classNames,
@@ -6549,7 +6579,7 @@ const defaultProps$n = {
6549
6579
  variant,
6550
6580
  mod,
6551
6581
  ...others
6552
- } = useProps("ButtonGroup", defaultProps$n, _props), getStyles2 = useStyles({
6582
+ } = useProps("ButtonGroup", defaultProps$k, _props), getStyles2 = useStyles({
6553
6583
  name: "ButtonGroup",
6554
6584
  props,
6555
6585
  classes: classes$7,
@@ -6576,7 +6606,7 @@ const defaultProps$n = {
6576
6606
  });
6577
6607
  ButtonGroup.classes = classes$7;
6578
6608
  ButtonGroup.displayName = "@mantine/core/ButtonGroup";
6579
- const defaultProps$m = {}, varsResolver$8 = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6609
+ const defaultProps$j = {}, varsResolver$8 = (theme, { radius, color: color2, gradient, variant, autoContrast, size: size2 }) => {
6580
6610
  const colors2 = theme.variantColorResolver({
6581
6611
  color: color2 || theme.primaryColor,
6582
6612
  theme,
@@ -6596,7 +6626,7 @@ const defaultProps$m = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6596
6626
  }
6597
6627
  };
6598
6628
  }, ButtonGroupSection = factory((_props, ref) => {
6599
- const props = useProps("ButtonGroupSection", defaultProps$m, _props), {
6629
+ const props = useProps("ButtonGroupSection", defaultProps$j, _props), {
6600
6630
  className,
6601
6631
  style: style2,
6602
6632
  classNames,
@@ -6608,7 +6638,7 @@ const defaultProps$m = {}, varsResolver$8 = (theme, { radius, color: color2, gra
6608
6638
  radius,
6609
6639
  autoContrast,
6610
6640
  ...others
6611
- } = useProps("ButtonGroupSection", defaultProps$m, _props), getStyles2 = useStyles({
6641
+ } = useProps("ButtonGroupSection", defaultProps$j, _props), getStyles2 = useStyles({
6612
6642
  name: "ButtonGroupSection",
6613
6643
  props,
6614
6644
  classes: classes$7,
@@ -6630,7 +6660,7 @@ const loaderTransition = {
6630
6660
  out: { opacity: 0, transform: "translate(-50%, -200%)" },
6631
6661
  common: { transformOrigin: "center" },
6632
6662
  transitionProperty: "transform, opacity"
6633
- }, defaultProps$l = {}, varsResolver$7 = (theme, { radius, color: color2, gradient, variant, size: size2, justify, autoContrast }) => {
6663
+ }, defaultProps$i = {}, varsResolver$7 = (theme, { radius, color: color2, gradient, variant, size: size2, justify, autoContrast }) => {
6634
6664
  const colors2 = theme.variantColorResolver({
6635
6665
  color: color2 || theme.primaryColor,
6636
6666
  theme,
@@ -6653,7 +6683,7 @@ const loaderTransition = {
6653
6683
  }
6654
6684
  };
6655
6685
  }, Button = polymorphicFactory((_props, ref) => {
6656
- const props = useProps("Button", defaultProps$l, _props), {
6686
+ const props = useProps("Button", defaultProps$i, _props), {
6657
6687
  style: style2,
6658
6688
  vars,
6659
6689
  className,
@@ -6729,7 +6759,7 @@ Button.displayName = "@mantine/core/Button";
6729
6759
  Button.Group = ButtonGroup;
6730
6760
  Button.GroupSection = ButtonGroupSection;
6731
6761
  var classes$6 = { root: "m_de3d2490", colorOverlay: "m_862f3d1b", shadowOverlay: "m_98ae7f22", alphaOverlay: "m_95709ac0", childrenOverlay: "m_93e74e3" };
6732
- const defaultProps$k = {
6762
+ const defaultProps$h = {
6733
6763
  withShadow: !0
6734
6764
  }, varsResolver$6 = (_, { radius, size: size2 }) => ({
6735
6765
  root: {
@@ -6737,7 +6767,7 @@ const defaultProps$k = {
6737
6767
  "--cs-size": rem(size2)
6738
6768
  }
6739
6769
  }), ColorSwatch = polymorphicFactory((_props, ref) => {
6740
- const props = useProps("ColorSwatch", defaultProps$k, _props), {
6770
+ const props = useProps("ColorSwatch", defaultProps$h, _props), {
6741
6771
  classNames,
6742
6772
  className,
6743
6773
  style: style2,
@@ -6751,7 +6781,7 @@ const defaultProps$k = {
6751
6781
  children: children2,
6752
6782
  variant,
6753
6783
  ...others
6754
- } = useProps("ColorSwatch", defaultProps$k, props), getStyles2 = useStyles({
6784
+ } = useProps("ColorSwatch", defaultProps$h, props), getStyles2 = useStyles({
6755
6785
  name: "ColorSwatch",
6756
6786
  props,
6757
6787
  classes: classes$6,
@@ -6783,7 +6813,7 @@ const defaultProps$k = {
6783
6813
  ColorSwatch.classes = classes$6;
6784
6814
  ColorSwatch.displayName = "@mantine/core/ColorSwatch";
6785
6815
  var classes$5 = { root: "m_3eebeb36", label: "m_9e365f20" };
6786
- const defaultProps$j = {
6816
+ const defaultProps$g = {
6787
6817
  orientation: "horizontal"
6788
6818
  }, varsResolver$5 = (theme, { color: color2, variant, size: size2 }) => ({
6789
6819
  root: {
@@ -6792,7 +6822,7 @@ const defaultProps$j = {
6792
6822
  "--divider-size": getSize(size2, "divider-size")
6793
6823
  }
6794
6824
  }), Divider = factory((_props, ref) => {
6795
- const props = useProps("Divider", defaultProps$j, _props), {
6825
+ const props = useProps("Divider", defaultProps$g, _props), {
6796
6826
  classNames,
6797
6827
  className,
6798
6828
  style: style2,
@@ -6841,54 +6871,6 @@ function useDelayedHover({ open, close, openDelay, closeDelay }) {
6841
6871
  };
6842
6872
  return useEffect(() => clearTimeouts, []), { openDropdown, closeDropdown };
6843
6873
  }
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
6874
  var index$1 = useLayoutEffect;
6893
6875
  const [MenuContextProvider, useMenuContext] = createSafeContext(
6894
6876
  "Menu component was not found in the tree"
@@ -15960,15 +15942,13 @@ function IfEnabled({
15960
15942
  }) {
15961
15943
  return useEnabledFeatures()[`enable${feature}`] === !0 && and2 ? /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) : null;
15962
15944
  }
15963
- function IfNotEnabled({
15964
- feature,
15965
- children: children2
15966
- }) {
15945
+ function IfNotEnabled({ feature, children: children2 }) {
15967
15946
  return useEnabledFeatures()[`enable${feature}`] !== !0 ? /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) : null;
15968
15947
  }
15969
- function IfNotReadOnly({
15970
- children: children2
15971
- }) {
15948
+ function IfReadOnly({ children: children2 }) {
15949
+ return useEnabledFeatures().enableReadOnly === !0 ? /* @__PURE__ */ jsx(Fragment$1, { children: children2 }) : null;
15950
+ }
15951
+ function IfNotReadOnly({ children: children2 }) {
15972
15952
  return useEnabledFeatures().enableReadOnly === !0 ? null : /* @__PURE__ */ jsx(Fragment$1, { children: children2 });
15973
15953
  }
15974
15954
  const IconRendererContext = createContext(null);
@@ -19313,6 +19293,27 @@ const createRecipe = (name, defaultVariants, compoundVariants) => {
19313
19293
  return splitProps(props, likec4tagVariantKeys);
19314
19294
  },
19315
19295
  getVariantProps: likec4tagFn.getVariantProps
19296
+ }), markdownBlockFn = /* @__PURE__ */ createRecipe("likec4-markdown-block", {
19297
+ uselikec4palette: !1
19298
+ }, []), markdownBlockVariantMap = {
19299
+ uselikec4palette: [
19300
+ "true",
19301
+ "false"
19302
+ ]
19303
+ }, markdownBlockVariantKeys = Object.keys(markdownBlockVariantMap), markdownBlock = /* @__PURE__ */ Object.assign(memo(markdownBlockFn.recipeFn), {
19304
+ __recipe__: !0,
19305
+ __name__: "markdownBlock",
19306
+ __getCompoundVariantCss__: markdownBlockFn.__getCompoundVariantCss__,
19307
+ raw: (props) => props,
19308
+ variantKeys: markdownBlockVariantKeys,
19309
+ variantMap: markdownBlockVariantMap,
19310
+ merge(recipe) {
19311
+ return mergeRecipes(this, recipe);
19312
+ },
19313
+ splitVariantProps(props) {
19314
+ return splitProps(props, markdownBlockVariantKeys);
19315
+ },
19316
+ getVariantProps: markdownBlockFn.getVariantProps
19316
19317
  }), MotionButton = /* @__PURE__ */ createMinimalMotionComponent("button"), MotionDiv = /* @__PURE__ */ createMinimalMotionComponent("div"), compoundActionBtn = cva({
19317
19318
  base: {
19318
19319
  transitionDuration: "normal",
@@ -20302,140 +20303,157 @@ const ElementTag = forwardRef(
20302
20303
  }
20303
20304
  );
20304
20305
  }
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();
20306
+ ), 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 } }) => {
20307
+ const {
20308
+ hovered: isTagsBarHovered,
20309
+ ref: tagsBarRef
20310
+ } = useHover$1(), {
20311
+ hovered: isTagsToolbarHovered,
20312
+ ref: tagsToolbarRef
20313
+ } = useHover$1(), [isVisible, setVisible] = useDebouncedState(!1, hovered ? 120 : 300);
20314
+ useEffect(() => {
20315
+ setVisible((visibleNow) => visibleNow ? hovered || isTagsBarHovered || isTagsToolbarHovered : hovered && (isTagsBarHovered || isTagsToolbarHovered));
20316
+ }, [isTagsBarHovered, isTagsToolbarHovered, hovered]);
20317
+ const zoom2 = useCurrentZoom(), zoomIsLargeEnough = zoom2 > 1.2, diagram = useDiagram(), onHover = (tag) => {
20318
+ diagram.send({ type: "tag.highlight", tag });
20319
+ }, onLeave = useCallback(() => {
20320
+ diagram.send({ type: "tag.unhighlight" });
20321
+ }, []);
20307
20322
  if (!tags || tags.length === 0)
20308
20323
  return null;
20309
20324
  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",
20325
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
20326
+ /* @__PURE__ */ jsx(
20327
+ "div",
20328
+ {
20329
+ ref: tagsBarRef,
20330
+ className: cx(
20331
+ "likec4-element-tags",
20332
+ hstack({
20333
+ pointerEvents: "all",
20334
+ gap: 4,
20335
+ alignItems: "flex-end",
20336
+ justifyItems: "stretch",
20337
+ position: "absolute",
20338
+ width: "100%",
20339
+ bottom: 0,
20340
+ left: 0,
20341
+ padding: 4,
20342
+ _shapeCylinder: {
20343
+ bottom: 5
20344
+ },
20345
+ _shapeStorage: {
20346
+ bottom: 5
20347
+ },
20348
+ _shapeQueue: {
20349
+ bottom: 0,
20350
+ paddingLeft: 14
20351
+ }
20352
+ })
20353
+ ),
20354
+ onClick: stopPropagation,
20355
+ children: tags.map((tag) => /* @__PURE__ */ jsx(
20356
+ Box,
20326
20357
  {
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
- })
20358
+ "data-likec4-tag": tag,
20359
+ className: css({
20360
+ layerStyle: "likec4.tag",
20361
+ flex: 1,
20362
+ display: "flex",
20363
+ alignItems: "center",
20364
+ justifyContent: "center",
20365
+ maxWidth: 50,
20366
+ height: 5,
20367
+ _whenHovered: {
20368
+ height: 12,
20369
+ borderRadius: 4,
20370
+ transitionDelay: ".08s"
20371
20371
  },
20372
- id2 + "#" + tag
20373
- ))
20374
- }
20375
- ) }),
20376
- /* @__PURE__ */ jsx(
20377
- HoverCard.Dropdown,
20372
+ transition: "fast"
20373
+ })
20374
+ },
20375
+ id2 + "#" + tag
20376
+ ))
20377
+ }
20378
+ ),
20379
+ /* @__PURE__ */ jsx(NodeToolbar, { isVisible, align: "start", position: Position.Bottom, children: /* @__PURE__ */ jsx(
20380
+ HStack,
20381
+ {
20382
+ ref: tagsToolbarRef,
20383
+ css: {
20384
+ gap: 4,
20385
+ flexWrap: "wrap",
20386
+ pb: "sm",
20387
+ translate: "auto",
20388
+ x: -8,
20389
+ maxWidth
20390
+ },
20391
+ children: tags.map((tag) => /* @__PURE__ */ jsx(
20392
+ ElementTag,
20378
20393
  {
20379
- p: 0,
20380
- w: "auto",
20381
- maw: maxWidth,
20394
+ tag,
20382
20395
  className: css({
20383
- background: "transparent",
20384
- border: "none"
20396
+ userSelect: "none",
20397
+ cursor: "pointer",
20398
+ ...zoomIsLargeEnough && {
20399
+ fontSize: "lg",
20400
+ borderRadius: 4,
20401
+ px: 6
20402
+ }
20385
20403
  }),
20386
- children: /* @__PURE__ */ jsx(ElementTagsDropdown, { tags, zoomIsLargeEnough })
20387
- }
20388
- )
20389
- ]
20390
- }
20391
- );
20404
+ onClick: (e2) => {
20405
+ e2.stopPropagation(), diagram.openSearch(`#${tag}`);
20406
+ },
20407
+ onMouseEnter: () => onHover(tag),
20408
+ onMouseLeave: onLeave
20409
+ },
20410
+ tag
20411
+ ))
20412
+ }
20413
+ ) })
20414
+ ] });
20392
20415
  }, propsAreEqual);
20393
20416
  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
- }, []);
20417
+ const MarkdownBlock = forwardRef(({
20418
+ value,
20419
+ textScale = 1,
20420
+ uselikec4palette = !1,
20421
+ hideIfEmpty = !1,
20422
+ emptyText = "no content",
20423
+ className,
20424
+ ...props
20425
+ }, ref) => {
20426
+ if (value.isEmpty && hideIfEmpty)
20427
+ return null;
20428
+ const content = value.nonEmpty ? { dangerouslySetInnerHTML: { __html: value.html } } : { children: /* @__PURE__ */ jsx(Text, { component: "span", fz: "xs", c: "dimmed", children: emptyText }) };
20400
20429
  return /* @__PURE__ */ jsx(
20401
- HStack,
20430
+ Box,
20402
20431
  {
20403
- css: {
20404
- gap: 4,
20405
- flexWrap: "wrap",
20406
- pb: "sm"
20432
+ ref,
20433
+ ...props,
20434
+ className: cx(
20435
+ markdownBlock({
20436
+ uselikec4palette
20437
+ }),
20438
+ className
20439
+ ),
20440
+ style: {
20441
+ // @ts-expect-error
20442
+ "--mantine-scale": textScale
20407
20443
  },
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
- ))
20444
+ ...content
20429
20445
  }
20430
20446
  );
20431
- }
20447
+ });
20448
+ MarkdownBlock.displayName = "MarkdownBlock";
20432
20449
  const iconSize = "--icon-size", title = css.raw({
20433
20450
  textStyle: "likec4.node.primary",
20434
20451
  flex: "0 0 auto",
20435
20452
  textAlign: "center",
20436
20453
  color: "likec4.palette.hiContrast"
20437
20454
  }), description = css.raw({
20438
- flex: "0 1 auto",
20455
+ flexGrow: "0",
20456
+ flexShrink: "1",
20439
20457
  textStyle: "likec4.node.secondary",
20440
20458
  color: "likec4.palette.loContrast",
20441
20459
  textAlign: "center",
@@ -20505,6 +20523,8 @@ const iconSize = "--icon-size", title = css.raw({
20505
20523
  flex: "1",
20506
20524
  height: "fit-content",
20507
20525
  width: "fit-content",
20526
+ maxHeight: "100%",
20527
+ maxWidth: "100%",
20508
20528
  margin: "0 auto",
20509
20529
  display: "flex",
20510
20530
  alignItems: "center",
@@ -20556,6 +20576,8 @@ const iconSize = "--icon-size", title = css.raw({
20556
20576
  textContainer: {
20557
20577
  height: "fit-content",
20558
20578
  width: "fit-content",
20579
+ maxHeight: "100%",
20580
+ maxWidth: "100%",
20559
20581
  flex: "0 1 auto",
20560
20582
  display: "flex",
20561
20583
  flexDirection: "column",
@@ -20625,7 +20647,7 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20625
20647
  className: elementIcon
20626
20648
  }), classes2 = elementTitle({
20627
20649
  hasIcon: n$1(elementIcon$1),
20628
- hasDescription: !n(data.description ?? ""),
20650
+ hasDescription: !!data.description?.nonEmpty,
20629
20651
  hasTechnology: !n(data.technology ?? "")
20630
20652
  }), size2 = nodeSizes(data.style).size, isSmOrXs = size2 === "sm" || size2 === "xs";
20631
20653
  return /* @__PURE__ */ jsxs(
@@ -20645,7 +20667,7 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20645
20667
  /* @__PURE__ */ jsx(
20646
20668
  Text,
20647
20669
  {
20648
- component: "h3",
20670
+ component: "div",
20649
20671
  className: cx(classes2.title, "likec4-element-title"),
20650
20672
  lineClamp: isSmOrXs ? 2 : 3,
20651
20673
  children: data.title
@@ -20660,12 +20682,14 @@ function ElementTitle({ id: id2, data, iconSize: iconSize$12 }) {
20660
20682
  }
20661
20683
  ),
20662
20684
  data.description && /* @__PURE__ */ jsx(
20663
- Text,
20685
+ MarkdownBlock,
20664
20686
  {
20665
- component: "div",
20666
20687
  className: cx(classes2.description, "likec4-element-description"),
20667
- lineClamp: isSmOrXs ? 3 : 5,
20668
- children: data.description
20688
+ value: data.description,
20689
+ uselikec4palette: !0,
20690
+ hideIfEmpty: !0,
20691
+ maxHeight: data.description.isMarkdown ? "8rem" : void 0,
20692
+ lineClamp: isSmOrXs ? 3 : 5
20669
20693
  }
20670
20694
  )
20671
20695
  ] })
@@ -21564,7 +21588,7 @@ const backdropBlur = "--_blur", backdropOpacity = "--_opacity", level = "--_leve
21564
21588
  });
21565
21589
  Overlay.displayName = "Overlay";
21566
21590
  export {
21567
- createReactComponent as $,
21591
+ getContrastColor as $,
21568
21592
  createOptionalContext as A,
21569
21593
  Box$1 as B,
21570
21594
  useResolvedStylesApi as C,
@@ -21587,272 +21611,276 @@ export {
21587
21611
  Text as T,
21588
21612
  UnstyledButton as U,
21589
21613
  parseThemeColor as V,
21590
- Loader as W,
21591
- createScopedKeydownHandler as X,
21592
- getContrastColor as Y,
21593
- findElementAncestor as Z,
21594
- useClickOutside as _,
21614
+ createEventHandler as W,
21615
+ useDisclosure as X,
21616
+ useDelayedHover as Y,
21617
+ Loader as Z,
21618
+ createScopedKeydownHandler as _,
21595
21619
  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,
21620
+ n as a$,
21621
+ findElementAncestor as a0,
21622
+ useClickOutside as a1,
21623
+ createReactComponent as a2,
21624
+ C as a3,
21625
+ s as a4,
21626
+ u$2 as a5,
21627
+ MotionConfigContext as a6,
21628
+ useConstant as a7,
21629
+ PresenceContext as a8,
21630
+ useIsomorphicLayoutEffect$1 as a9,
21631
+ scaleCorrectors as aA,
21632
+ degrees$1 as aB,
21633
+ vw as aC,
21634
+ vh as aD,
21635
+ numberValueTypes as aE,
21636
+ isControllingVariants as aF,
21637
+ isVariantNode as aG,
21638
+ hasReducedMotionListener as aH,
21639
+ initPrefersReducedMotion as aI,
21640
+ prefersReducedMotion as aJ,
21641
+ isCSSVariableName as aK,
21642
+ buildHTMLStyles as aL,
21643
+ scrapeMotionValuesFromProps$1 as aM,
21644
+ camelToDash as aN,
21645
+ scrapeMotionValuesFromProps as aO,
21646
+ buildSVGAttrs as aP,
21647
+ isSVGTag as aQ,
21648
+ isSVGComponent as aR,
21649
+ useDebouncedCallback as aS,
21650
+ isBrowser as aT,
21651
+ getPatternStyles as aU,
21652
+ patternFns as aV,
21653
+ splitProps as aW,
21654
+ styled as aX,
21655
+ css as aY,
21656
+ useLikeC4Specification as aZ,
21657
+ useUpdateEffect as a_,
21658
+ LayoutGroupContext as aa,
21659
+ createRenderBatcher as ab,
21660
+ featureDefinitions as ac,
21661
+ LazyContext as ad,
21662
+ loadExternalIsValidProp as ae,
21663
+ resolveVariantFromProps as af,
21664
+ MotionGlobalConfig as ag,
21665
+ isMotionValue as ah,
21666
+ optimizedAppearDataAttribute as ai,
21667
+ transformProps as aj,
21668
+ number as ak,
21669
+ alpha as al,
21670
+ clamp$1 as am,
21671
+ percent as an,
21672
+ isCSSVariableToken as ao,
21673
+ px as ap,
21674
+ transformPropOrder as aq,
21675
+ isVariantLabel as ar,
21676
+ variantProps as as,
21677
+ isAnimationControls as at,
21678
+ variantPriorityOrder as au,
21679
+ isRefObject as av,
21680
+ SwitchLayoutGroupContext as aw,
21681
+ addScaleCorrector as ax,
21682
+ microtask as ay,
21683
+ resolveMotionValue as az,
21660
21684
  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,
21700
- ProcessingStatus as bb,
21701
- resolveReferencedActor as bc,
21702
- 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,
21685
+ Button as b$,
21686
+ t$1 as b0,
21687
+ Background as b1,
21688
+ BackgroundVariant as b2,
21689
+ useIsZoomTooSmall as b3,
21690
+ useXYStoreApi as b4,
21691
+ index as b5,
21692
+ stopPropagation as b6,
21693
+ cx as b7,
21694
+ useStore$1 as b8,
21695
+ XSTATE_STOP as b9,
21696
+ $$ACTOR_TYPE as bA,
21697
+ STATE_DELIMITER as bB,
21698
+ mapValues as bC,
21699
+ toArray as bD,
21700
+ formatTransitions as bE,
21701
+ toTransitionConfigArray as bF,
21702
+ formatTransition as bG,
21703
+ getCandidates as bH,
21704
+ NULL_EVENT as bI,
21705
+ createInvokeId as bJ,
21706
+ getDelayedTransitions as bK,
21707
+ formatInitialTransition as bL,
21708
+ deepEqual as bM,
21709
+ ActionIcon as bN,
21710
+ IconZoomScan as bO,
21711
+ sva as bP,
21712
+ Box as bQ,
21713
+ n$1 as bR,
21714
+ EdgeLabelRenderer as bS,
21715
+ e as bT,
21716
+ useDiagramContext as bU,
21717
+ useDiagram as bV,
21718
+ useMantinePortalProps as bW,
21719
+ PopoverTarget as bX,
21720
+ PopoverDropdown as bY,
21721
+ Stack as bZ,
21722
+ Group as b_,
21723
+ cloneMachineSnapshot as ba,
21724
+ evaluateGuard as bb,
21725
+ createErrorActorEvent as bc,
21726
+ XSTATE_ERROR as bd,
21727
+ ProcessingStatus as be,
21728
+ resolveReferencedActor as bf,
21729
+ createActor as bg,
21730
+ cancel as bh,
21731
+ raise as bi,
21732
+ spawnChild as bj,
21733
+ stopChild as bk,
21734
+ resolveStateValue as bl,
21735
+ getAllStateNodes as bm,
21736
+ getStateNodes as bn,
21737
+ createMachineSnapshot as bo,
21738
+ isInFinalState as bp,
21739
+ macrostep as bq,
21740
+ transitionNode as br,
21741
+ resolveActionsAndContext as bs,
21742
+ createInitEvent as bt,
21743
+ microstep as bu,
21744
+ getInitialStateNodes as bv,
21745
+ toStatePath as bw,
21746
+ isStateId as bx,
21747
+ getStateNodeByPath as by,
21748
+ getPersistedSnapshot as bz,
21725
21749
  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,
21750
+ ActionIconGroup as c$,
21751
+ IconCheck as c0,
21752
+ cva as c1,
21753
+ useLikeC4Model as c2,
21754
+ findDiagramNode as c3,
21755
+ findDiagramEdge as c4,
21756
+ Menu as c5,
21757
+ MenuTarget as c6,
21758
+ MenuDropdown as c7,
21759
+ MenuLabel as c8,
21760
+ MenuDivider as c9,
21761
+ IconTransform as cA,
21762
+ customNode as cB,
21763
+ CompoundNodeContainer as cC,
21764
+ CompoundTitle as cD,
21765
+ ElementNodeContainer as cE,
21766
+ ElementShape as cF,
21767
+ ElementTitle as cG,
21768
+ ElementTags as cH,
21769
+ ElementDetailsButton as cI,
21770
+ Handle as cJ,
21771
+ Position as cK,
21772
+ getDefaultExportFromCjs as cL,
21773
+ l$1 as cM,
21774
+ IconSelector as cN,
21775
+ SegmentedControl as cO,
21776
+ ReactFlowProvider as cP,
21777
+ useStoreApi as cQ,
21778
+ useReactFlow as cR,
21779
+ Panel as cS,
21780
+ m as cT,
21781
+ u as cU,
21782
+ useSyncedRef as cV,
21783
+ IconRenderer as cW,
21784
+ useTimeoutEffect as cX,
21785
+ ReactRemoveScroll as cY,
21786
+ Flex as cZ,
21787
+ ElementTag as c_,
21788
+ MenuItem as ca,
21789
+ useEnabledFeatures as cb,
21790
+ useDiagramEventHandlers as cc,
21791
+ TooltipGroup as cd,
21792
+ Space as ce,
21793
+ Tooltip$1 as cf,
21794
+ IfEnabled as cg,
21795
+ IconFileSymlink as ch,
21796
+ getNodeDimensions as ci,
21797
+ useIsPanning as cj,
21798
+ useXYFlow as ck,
21799
+ useDiagramActorSnapshot as cl,
21800
+ useXYInternalNode as cm,
21801
+ isSamePoint as cn,
21802
+ bezierControlPoints as co,
21803
+ bezierPath as cp,
21804
+ ViewGroupNode as cq,
21805
+ CompoundDeploymentNode as cr,
21806
+ CompoundElementNode as cs,
21807
+ DeploymentNode as ct,
21808
+ ElementNode as cu,
21809
+ shallowEqual as cv,
21810
+ useSelector as cw,
21811
+ getBezierPath as cx,
21812
+ useCurrentViewId as cy,
21813
+ ElementActionButtons as cz,
21790
21814
  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,
21815
+ ElementDetailsButtonWithHandler as d$,
21816
+ MarkdownBlock as d0,
21817
+ DiagramFeatures as d1,
21818
+ Divider as d2,
21819
+ useXYStore as d3,
21820
+ useReducedMotionConfig as d4,
21821
+ Overlay as d5,
21822
+ t$2 as d6,
21823
+ VisuallyHidden as d7,
21824
+ MotionDiv as d8,
21825
+ IconOrShapeRenderer as d9,
21826
+ focusedBounds as dA,
21827
+ or as dB,
21828
+ nodeToRect as dC,
21829
+ useDiagramEventHandlersRef as dD,
21830
+ useActorRef as dE,
21831
+ DiagramActorContextProvider as dF,
21832
+ IconRendererProvider as dG,
21833
+ DiagramEventHandlers as dH,
21834
+ ReduceGraphicsContext as dI,
21835
+ RootContainer as dJ,
21836
+ useMutationObserver as dK,
21837
+ Portal as dL,
21838
+ shallowEqual$1 as dM,
21839
+ LikeC4ModelContext as dN,
21840
+ useDiagramActorRef as dO,
21841
+ useLikeC4ViewModel as dP,
21842
+ useSetState as dQ,
21843
+ CompoundActionButton as dR,
21844
+ CompoundDetailsButton as dS,
21845
+ DefaultHandles as dT,
21846
+ CompoundActions as dU,
21847
+ CompoundDeploymentToolbar as dV,
21848
+ CompoundDetailsButtonWithHandler as dW,
21849
+ CompoundElementToolbar as dX,
21850
+ DeploymentElementActions as dY,
21851
+ DeploymentElementToolbar as dZ,
21852
+ ElementActions as d_,
21853
+ MotionButton as da,
21854
+ FocusTrap as db,
21855
+ HStack as dc,
21856
+ t$4 as dd,
21857
+ isMacOs as de,
21858
+ useHover$1 as df,
21859
+ FloatingIndicator as dg,
21860
+ clampUseMovePosition as dh,
21861
+ useMove as di,
21862
+ useDiagramSyncLayoutState as dj,
21863
+ ButtonGroup as dk,
21864
+ useIsReducedGraphics as dl,
21865
+ usePanningAtom as dm,
21866
+ useTimeout as dn,
21867
+ useCustomCompareMemo as dp,
21868
+ applyEdgeChanges as dq,
21869
+ applyNodeChanges as dr,
21870
+ getViewportForBounds as ds,
21871
+ typedSystem as dt,
21872
+ centerXYInternalNode as du,
21873
+ t$3 as dv,
21874
+ getBoundsOfRects as dw,
21875
+ boxToRect as dx,
21876
+ and as dy,
21877
+ AllDisabled as dz,
21854
21878
  em as e,
21855
- IfNotReadOnly as e0,
21879
+ ElementToolbar as e0,
21880
+ Toolbar as e1,
21881
+ IfNotEnabled as e2,
21882
+ IfNotReadOnly as e3,
21883
+ IfReadOnly as e4,
21856
21884
  getPrimaryContrastColor as f,
21857
21885
  getPrimaryShade as g,
21858
21886
  deepMerge as h,