@flamingo-stack/openframe-frontend-core 0.0.410 → 0.0.411-snapshot.20260711170430

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 (126) hide show
  1. package/dist/{chunk-STGWQFYT.cjs → chunk-3SNDISEN.cjs} +92 -30
  2. package/dist/chunk-3SNDISEN.cjs.map +1 -0
  3. package/dist/{chunk-RL344I7V.cjs → chunk-3U4IZF7H.cjs} +7 -7
  4. package/dist/{chunk-RL344I7V.cjs.map → chunk-3U4IZF7H.cjs.map} +1 -1
  5. package/dist/{chunk-7Q52HP45.js → chunk-4FNDOTW2.js} +139 -77
  6. package/dist/chunk-4FNDOTW2.js.map +1 -0
  7. package/dist/{chunk-O5W26SCL.js → chunk-6AB36PRE.js} +2 -2
  8. package/dist/{chunk-IK5AR6QG.js → chunk-B2BERJ4M.js} +6 -6
  9. package/dist/{chunk-SOALFYU6.cjs → chunk-BKYV2ALJ.cjs} +582 -591
  10. package/dist/chunk-BKYV2ALJ.cjs.map +1 -0
  11. package/dist/{chunk-KPGKNUJF.cjs → chunk-BRHCGXOH.cjs} +40 -40
  12. package/dist/{chunk-KPGKNUJF.cjs.map → chunk-BRHCGXOH.cjs.map} +1 -1
  13. package/dist/{chunk-NO2KT42M.js → chunk-DGIF3YDV.js} +2 -2
  14. package/dist/{chunk-LQWYXIKB.js → chunk-FXZO4EKN.js} +5 -5
  15. package/dist/{chunk-CUN4CJUN.cjs → chunk-G2G7HLEM.cjs} +3 -3
  16. package/dist/{chunk-CUN4CJUN.cjs.map → chunk-G2G7HLEM.cjs.map} +1 -1
  17. package/dist/{chunk-NEMUCNCG.cjs → chunk-H4ISMWHG.cjs} +73 -73
  18. package/dist/{chunk-NEMUCNCG.cjs.map → chunk-H4ISMWHG.cjs.map} +1 -1
  19. package/dist/{chunk-L6OPVKVR.js → chunk-HXRULNWA.js} +5 -5
  20. package/dist/{chunk-RPGFIUN3.cjs → chunk-MF5CVIAC.cjs} +32 -32
  21. package/dist/{chunk-RPGFIUN3.cjs.map → chunk-MF5CVIAC.cjs.map} +1 -1
  22. package/dist/{chunk-J6M2G6TD.js → chunk-MHNBDSWH.js} +6 -6
  23. package/dist/{chunk-E4J5KKHH.js → chunk-NJSBYUJZ.js} +3 -3
  24. package/dist/{chunk-YRKPMYI3.cjs → chunk-RALT6D4H.cjs} +15 -15
  25. package/dist/{chunk-YRKPMYI3.cjs.map → chunk-RALT6D4H.cjs.map} +1 -1
  26. package/dist/{chunk-ZMFQWMM7.js → chunk-SAJM3PDE.js} +2 -2
  27. package/dist/{chunk-V3EZQWHQ.cjs → chunk-SMLAYAIW.cjs} +5 -5
  28. package/dist/{chunk-V3EZQWHQ.cjs.map → chunk-SMLAYAIW.cjs.map} +1 -1
  29. package/dist/{chunk-5HOII3WB.js → chunk-SOLI7V4I.js} +4 -4
  30. package/dist/{chunk-WGOATV3P.cjs → chunk-SZ27SV6T.cjs} +73 -73
  31. package/dist/{chunk-WGOATV3P.cjs.map → chunk-SZ27SV6T.cjs.map} +1 -1
  32. package/dist/{chunk-ZF5O3KUQ.js → chunk-TYCWPT33.js} +3 -3
  33. package/dist/{chunk-F4KE5AZO.cjs → chunk-VTTPNZX3.cjs} +40 -40
  34. package/dist/{chunk-F4KE5AZO.cjs.map → chunk-VTTPNZX3.cjs.map} +1 -1
  35. package/dist/{chunk-T6ZUBXPA.cjs → chunk-VXM2GCKS.cjs} +12 -12
  36. package/dist/{chunk-T6ZUBXPA.cjs.map → chunk-VXM2GCKS.cjs.map} +1 -1
  37. package/dist/{chunk-KZPVN7AZ.js → chunk-XBC5AES6.js} +2 -2
  38. package/dist/{chunk-KRLBVBYU.cjs → chunk-XVPWVG6N.cjs} +18 -18
  39. package/dist/{chunk-KRLBVBYU.cjs.map → chunk-XVPWVG6N.cjs.map} +1 -1
  40. package/dist/{chunk-IVM47EGI.js → chunk-YVJ2XBFU.js} +389 -398
  41. package/dist/chunk-YVJ2XBFU.js.map +1 -0
  42. package/dist/{chunk-VUW4G6SU.js → chunk-Z4RKJOFH.js} +3 -3
  43. package/dist/{chunk-A3RW7M6B.cjs → chunk-ZZWFS7CD.cjs} +29 -29
  44. package/dist/{chunk-A3RW7M6B.cjs.map → chunk-ZZWFS7CD.cjs.map} +1 -1
  45. package/dist/components/announcement-bar.d.ts.map +1 -1
  46. package/dist/components/case-studies/index.cjs +9 -9
  47. package/dist/components/case-studies/index.js +3 -3
  48. package/dist/components/chat/index.cjs +3 -3
  49. package/dist/components/chat/index.js +2 -2
  50. package/dist/components/contact/index.cjs +4 -4
  51. package/dist/components/contact/index.js +3 -3
  52. package/dist/components/docs/index.cjs +6 -6
  53. package/dist/components/docs/index.js +5 -5
  54. package/dist/components/embeds/index.cjs +4 -4
  55. package/dist/components/embeds/index.js +3 -3
  56. package/dist/components/faq/index.cjs +5 -5
  57. package/dist/components/faq/index.js +4 -4
  58. package/dist/components/features/index.cjs +3 -3
  59. package/dist/components/features/index.js +2 -2
  60. package/dist/components/help-center-pages/index.cjs +22 -22
  61. package/dist/components/help-center-pages/index.js +13 -13
  62. package/dist/components/index.cjs +137 -135
  63. package/dist/components/index.cjs.map +1 -1
  64. package/dist/components/index.js +14 -12
  65. package/dist/components/index.js.map +1 -1
  66. package/dist/components/navigation/header.d.ts.map +1 -1
  67. package/dist/components/navigation/index.cjs +5 -3
  68. package/dist/components/navigation/index.cjs.map +1 -1
  69. package/dist/components/navigation/index.d.ts +1 -1
  70. package/dist/components/navigation/index.d.ts.map +1 -1
  71. package/dist/components/navigation/index.js +4 -2
  72. package/dist/components/navigation/mobile-burger-menu.d.ts.map +1 -1
  73. package/dist/components/navigation/mobile-nav-panel.d.ts +2 -0
  74. package/dist/components/navigation/mobile-nav-panel.d.ts.map +1 -1
  75. package/dist/components/navigation/sliding-sidebar.d.ts.map +1 -1
  76. package/dist/components/onboarding-guides/index.cjs +7 -7
  77. package/dist/components/onboarding-guides/index.js +6 -6
  78. package/dist/components/related-content/index.cjs +5 -5
  79. package/dist/components/related-content/index.js +4 -4
  80. package/dist/components/tickets/index.cjs +6 -6
  81. package/dist/components/tickets/index.js +5 -5
  82. package/dist/components/ui/index.cjs +3 -3
  83. package/dist/components/ui/index.js +2 -2
  84. package/dist/components/ui/modal-v2.d.ts.map +1 -1
  85. package/dist/components/ui/modal.d.ts.map +1 -1
  86. package/dist/hooks/index.cjs +6 -2
  87. package/dist/hooks/index.cjs.map +1 -1
  88. package/dist/hooks/index.js +5 -1
  89. package/dist/hooks/ui/index.d.ts +2 -0
  90. package/dist/hooks/ui/index.d.ts.map +1 -1
  91. package/dist/hooks/ui/use-focus-trap.d.ts +32 -0
  92. package/dist/hooks/ui/use-focus-trap.d.ts.map +1 -0
  93. package/dist/hooks/ui/use-header-height.d.ts +10 -1
  94. package/dist/hooks/ui/use-header-height.d.ts.map +1 -1
  95. package/dist/index.cjs +9 -3
  96. package/dist/index.cjs.map +1 -1
  97. package/dist/index.js +8 -2
  98. package/package.json +1 -1
  99. package/src/components/announcement-bar.tsx +9 -2
  100. package/src/components/navigation/header.tsx +5 -0
  101. package/src/components/navigation/index.ts +1 -1
  102. package/src/components/navigation/mobile-burger-menu.tsx +16 -29
  103. package/src/components/navigation/mobile-nav-panel.tsx +32 -35
  104. package/src/components/navigation/sliding-sidebar.tsx +29 -9
  105. package/src/components/ui/modal-v2.tsx +7 -6
  106. package/src/components/ui/modal.tsx +7 -9
  107. package/src/hooks/ui/index.ts +6 -0
  108. package/src/hooks/ui/use-focus-trap.ts +110 -0
  109. package/src/hooks/ui/use-header-height.ts +17 -2
  110. package/src/stories/MobileNavPanel.stories.tsx +150 -0
  111. package/dist/chunk-7Q52HP45.js.map +0 -1
  112. package/dist/chunk-IVM47EGI.js.map +0 -1
  113. package/dist/chunk-SOALFYU6.cjs.map +0 -1
  114. package/dist/chunk-STGWQFYT.cjs.map +0 -1
  115. /package/dist/{chunk-O5W26SCL.js.map → chunk-6AB36PRE.js.map} +0 -0
  116. /package/dist/{chunk-IK5AR6QG.js.map → chunk-B2BERJ4M.js.map} +0 -0
  117. /package/dist/{chunk-NO2KT42M.js.map → chunk-DGIF3YDV.js.map} +0 -0
  118. /package/dist/{chunk-LQWYXIKB.js.map → chunk-FXZO4EKN.js.map} +0 -0
  119. /package/dist/{chunk-L6OPVKVR.js.map → chunk-HXRULNWA.js.map} +0 -0
  120. /package/dist/{chunk-J6M2G6TD.js.map → chunk-MHNBDSWH.js.map} +0 -0
  121. /package/dist/{chunk-E4J5KKHH.js.map → chunk-NJSBYUJZ.js.map} +0 -0
  122. /package/dist/{chunk-ZMFQWMM7.js.map → chunk-SAJM3PDE.js.map} +0 -0
  123. /package/dist/{chunk-5HOII3WB.js.map → chunk-SOLI7V4I.js.map} +0 -0
  124. /package/dist/{chunk-ZF5O3KUQ.js.map → chunk-TYCWPT33.js.map} +0 -0
  125. /package/dist/{chunk-KZPVN7AZ.js.map → chunk-XBC5AES6.js.map} +0 -0
  126. /package/dist/{chunk-VUW4G6SU.js.map → chunk-Z4RKJOFH.js.map} +0 -0
@@ -26,7 +26,8 @@
26
26
 
27
27
 
28
28
 
29
- var _chunkSTGWQFYTcjs = require('./chunk-STGWQFYT.cjs');
29
+
30
+ var _chunk3SNDISENcjs = require('./chunk-3SNDISEN.cjs');
30
31
 
31
32
 
32
33
 
@@ -792,7 +793,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
792
793
  onClick: onToggle,
793
794
  className: "flex gap-[var(--spacing-system-xsf)] items-start w-full p-[var(--spacing-system-sf)] cursor-pointer text-left",
794
795
  children: [
795
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType, size: 16 }) }),
796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3SNDISENcjs.ToolIcon, { toolType, size: 16 }) }),
796
797
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
797
798
  "div",
798
799
  {
@@ -4873,7 +4874,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4873
4874
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
4874
4875
  onClick: () => setExpanded((prev) => !prev),
4875
4876
  children: [
4876
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4877
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3SNDISENcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4877
4878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4878
4879
  "div",
4879
4880
  {
@@ -6597,7 +6598,7 @@ function ChatQuickActionRow({
6597
6598
  wrap = false,
6598
6599
  className
6599
6600
  }) {
6600
- const auto = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
6601
+ const auto = _chunk3SNDISENcjs.useAutoLimitTags.call(void 0, {
6601
6602
  count: chips.length,
6602
6603
  reserveInputWidth: false
6603
6604
  });
@@ -7184,7 +7185,7 @@ function DialogSearchBar({
7184
7185
  onSearchChange
7185
7186
  }) {
7186
7187
  const [value, setValue] = React16.useState(_nullishCoalesce(initialValue, () => ( "")));
7187
- const debounced = _chunkSTGWQFYTcjs.useDebounce.call(void 0, value, 300);
7188
+ const debounced = _chunk3SNDISENcjs.useDebounce.call(void 0, value, 300);
7188
7189
  const lastEmitted = React16.useRef(_nullishCoalesce(initialValue, () => ( "")));
7189
7190
  React16.useEffect(() => {
7190
7191
  if (debounced === lastEmitted.current) return;
@@ -7649,6 +7650,7 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
7649
7650
  // src/components/ui/modal-v2.tsx
7650
7651
 
7651
7652
 
7653
+ var _overlays = require('@react-aria/overlays');
7652
7654
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
7653
7655
 
7654
7656
  var ANIMATION_DURATION = 200;
@@ -7664,6 +7666,7 @@ var Modal = React20.forwardRef(
7664
7666
  const timeout = setTimeout(() => setIsMounted(false), ANIMATION_DURATION);
7665
7667
  return () => clearTimeout(timeout);
7666
7668
  }, [isOpen]);
7669
+ _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
7667
7670
  _react.useEffect.call(void 0, () => {
7668
7671
  const handleKeyDown = (event) => {
7669
7672
  if (event.key === "Escape") {
@@ -7671,12 +7674,8 @@ var Modal = React20.forwardRef(
7671
7674
  }
7672
7675
  };
7673
7676
  if (isOpen) {
7674
- document.body.style.overflow = "hidden";
7675
7677
  document.addEventListener("keydown", handleKeyDown);
7676
- return () => {
7677
- document.body.style.overflow = "unset";
7678
- document.removeEventListener("keydown", handleKeyDown);
7679
- };
7678
+ return () => document.removeEventListener("keydown", handleKeyDown);
7680
7679
  }
7681
7680
  }, [isOpen, onClose]);
7682
7681
  if (!isMounted) return null;
@@ -9007,7 +9006,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
9007
9006
  return;
9008
9007
  }
9009
9008
  const target = stripSameOriginToPath(href);
9010
- if (target.includes("#") && _chunkSTGWQFYTcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkSTGWQFYTcjs.STICKY_HEADER_OFFSET_PX })) {
9009
+ if (target.includes("#") && _chunk3SNDISENcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk3SNDISENcjs.STICKY_HEADER_OFFSET_PX })) {
9011
9010
  return;
9012
9011
  }
9013
9012
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _141 => _141.navigation, 'access', _142 => _142.navigate, 'optionalCall', _143 => _143({ href, path, targetPlatform })]), () => ( false));
@@ -9446,7 +9445,7 @@ function EntityPortraitCard({
9446
9445
  setIsWide(img.naturalWidth / img.naturalHeight >= MIN_WIDE_RATIO);
9447
9446
  }
9448
9447
  };
9449
- const edgeColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--ods-bg-secondary)");
9448
+ const edgeColor = _chunk3SNDISENcjs.useImageEdgeColor.call(void 0, isWide === false ? src : null, "var(--ods-bg-secondary)");
9450
9449
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, "block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Card, { className: "bg-ods-card border border-ods-border hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08] transition-all duration-200 p-6 flex flex-col gap-6 overflow-hidden h-full", children: [
9451
9450
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9452
9451
  "div",
@@ -9753,7 +9752,7 @@ function AdminContentCard({
9753
9752
  const [imageError, setImageError] = _react.useState.call(void 0, false);
9754
9753
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
9755
9754
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
9756
- const imageBgColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
9755
+ const imageBgColor = _chunk3SNDISENcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
9757
9756
  _react.useEffect.call(void 0, () => {
9758
9757
  setImageLoaded(false);
9759
9758
  }, [displayUrl]);
@@ -10473,7 +10472,7 @@ function useVideoWarmup({
10473
10472
  const runtime = _chunk2B6773QMcjs.useChatRuntime.call(void 0, );
10474
10473
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _185 => _185.endpoints, 'access', _186 => _186.supabaseStorageOrigin])));
10475
10474
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
10476
- const { ref, isNear } = _chunkSTGWQFYTcjs.useNearViewport.call(void 0, nearMargin);
10475
+ const { ref, isNear } = _chunk3SNDISENcjs.useNearViewport.call(void 0, nearMargin);
10477
10476
  _react.useEffect.call(void 0, () => {
10478
10477
  if (!isNear || !videoUrl || !resolvedOrigin) return;
10479
10478
  const conn = navigator.connection;
@@ -12071,7 +12070,7 @@ function useEntityCardPlaceholder({
12071
12070
  siteName = "",
12072
12071
  aspect = "wide"
12073
12072
  }) {
12074
- const derived = _chunkSTGWQFYTcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
12073
+ const derived = _chunk3SNDISENcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
12075
12074
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
12076
12075
  }
12077
12076
 
@@ -13342,7 +13341,7 @@ function AutocompleteInner(props, ref) {
13342
13341
  }, [valueArray, options]);
13343
13342
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
13344
13343
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
13345
- const autoLimitTags = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
13344
+ const autoLimitTags = _chunk3SNDISENcjs.useAutoLimitTags.call(void 0, {
13346
13345
  count: multiple ? selectedOptions.length : 0,
13347
13346
  limitTags: multiple ? limitTagsProp : 0,
13348
13347
  placeholder: inputPlaceholder
@@ -14083,7 +14082,7 @@ function DatePickerCalendar({
14083
14082
  fluid = false
14084
14083
  }) {
14085
14084
  const today = /* @__PURE__ */ new Date();
14086
- const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( true));
14085
+ const isMdUp = _nullishCoalesce(_chunk3SNDISENcjs.useMdUp.call(void 0, ), () => ( true));
14087
14086
  const monthsToShow = isMdUp ? numberOfMonths : 1;
14088
14087
  const [draftRange, setDraftRange] = React43.useState(
14089
14088
  mode === "range" ? selected : void 0
@@ -15107,7 +15106,7 @@ var ProgressBar = ({
15107
15106
  mobileHeight = 8,
15108
15107
  inverted = false
15109
15108
  }) => {
15110
- const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( true));
15109
+ const isMdUp = _nullishCoalesce(_chunk3SNDISENcjs.useMdUp.call(void 0, ), () => ( true));
15111
15110
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
15112
15111
  const effectiveHeight = isMdUp ? height : mobileHeight;
15113
15112
  const containerRef = _react.useRef.call(void 0, null);
@@ -15234,7 +15233,7 @@ function InfoCardFooter({ footer }) {
15234
15233
  ] });
15235
15234
  }
15236
15235
  function InfoCardValueRow({ label, value, showLabel, copyable, icon, copyAriaLabel }) {
15237
- const { copy, copied } = _chunkSTGWQFYTcjs.useCopyToClipboard.call(void 0, );
15236
+ const { copy, copied } = _chunk3SNDISENcjs.useCopyToClipboard.call(void 0, );
15238
15237
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
15239
15238
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
15240
15239
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -17048,8 +17047,10 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
17048
17047
 
17049
17048
 
17050
17049
 
17050
+
17051
17051
  var Modal2 = React60.forwardRef(
17052
17052
  ({ isOpen, onClose, children, className }, ref) => {
17053
+ _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
17053
17054
  _react.useEffect.call(void 0, () => {
17054
17055
  const handleKeyDown = (event) => {
17055
17056
  if (event.key === "Escape") {
@@ -17057,12 +17058,8 @@ var Modal2 = React60.forwardRef(
17057
17058
  }
17058
17059
  };
17059
17060
  if (isOpen) {
17060
- document.body.style.overflow = "hidden";
17061
17061
  document.addEventListener("keydown", handleKeyDown);
17062
- return () => {
17063
- document.body.style.overflow = "unset";
17064
- document.removeEventListener("keydown", handleKeyDown);
17065
- };
17062
+ return () => document.removeEventListener("keydown", handleKeyDown);
17066
17063
  }
17067
17064
  }, [isOpen, onClose]);
17068
17065
  if (!isOpen) return null;
@@ -17527,7 +17524,7 @@ var DrawerContent = React63.forwardRef(
17527
17524
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
17528
17525
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
17529
17526
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
17530
- const headerHeight = _chunkSTGWQFYTcjs.useHeaderHeight.call(void 0, );
17527
+ const headerHeight = _chunk3SNDISENcjs.useHeaderHeight.call(void 0, );
17531
17528
  const [isMobile, setIsMobile] = React63.useState(false);
17532
17529
  React63.useEffect(() => {
17533
17530
  if (typeof window === "undefined") return;
@@ -19746,7 +19743,7 @@ var OGLinkPreview = ({
19746
19743
  const hasImage = !!resolvedImageUrl;
19747
19744
  const isFallbackImage = resolvedImageUrl === fallbackImage;
19748
19745
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
19749
- const bgColor = _chunkSTGWQFYTcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
19746
+ const bgColor = _chunk3SNDISENcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
19750
19747
  const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row border border-ods-border rounded-lg overflow-hidden bg-ods-card h-[120px]", children: [
19751
19748
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
19752
19749
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -22197,7 +22194,7 @@ function ListPageLayout({
22197
22194
  }) {
22198
22195
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
22199
22196
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
22200
- const debouncedSearchValue = _chunkSTGWQFYTcjs.useDebounce.call(void 0, localSearchValue, 500);
22197
+ const debouncedSearchValue = _chunk3SNDISENcjs.useDebounce.call(void 0, localSearchValue, 500);
22201
22198
  _react.useEffect.call(void 0, () => {
22202
22199
  setLocalSearchValue(searchValue);
22203
22200
  }, [searchValue]);
@@ -22858,7 +22855,7 @@ function toToolLabel(input) {
22858
22855
  if (!input) return "";
22859
22856
  const toolType = normalizeToolType(input);
22860
22857
  if (toolType) {
22861
- return _chunkSTGWQFYTcjs.toolLabels[toolType];
22858
+ return _chunk3SNDISENcjs.toolLabels[toolType];
22862
22859
  }
22863
22860
  return input;
22864
22861
  }
@@ -22869,7 +22866,7 @@ function getToolTypeAliases(toolType) {
22869
22866
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
22870
22867
  }
22871
22868
  function getToolLabel(toolType) {
22872
- return _chunkSTGWQFYTcjs.toolLabels[toolType] || toolType;
22869
+ return _chunk3SNDISENcjs.toolLabels[toolType] || toolType;
22873
22870
  }
22874
22871
 
22875
22872
  // src/types/shell.types.ts
@@ -25954,10 +25951,10 @@ function CompleteAccountForm({
25954
25951
  className
25955
25952
  }) {
25956
25953
  const fieldsDisabled = disabled || loading;
25957
- const firstNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _518 => _518.firstName]), firstName);
25958
- const lastNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _519 => _519.lastName]), lastName);
25959
- const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _520 => _520.password]), password);
25960
- const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.confirmPassword]), confirmPassword);
25954
+ const firstNameErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _518 => _518.firstName]), firstName);
25955
+ const lastNameErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _519 => _519.lastName]), lastName);
25956
+ const passwordErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _520 => _520.password]), password);
25957
+ const confirmErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _521 => _521.confirmPassword]), confirmPassword);
25961
25958
  const handleKeyDown = (event) => {
25962
25959
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
25963
25960
  onSubmit();
@@ -26145,9 +26142,9 @@ function CreateOrganizationForm({
26145
26142
  }) {
26146
26143
  const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
26147
26144
  const fieldsDisabled = disabled || loading || isSsoMode;
26148
- const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.email]), email);
26149
- const orgNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.organizationName]), organizationName);
26150
- const domainErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.domain]), domain);
26145
+ const emailErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _522 => _522.email]), email);
26146
+ const orgNameErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _523 => _523.organizationName]), organizationName);
26147
+ const domainErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _524 => _524.domain]), domain);
26151
26148
  const handleKeyDown = (event) => {
26152
26149
  if (event.key === "Enter" && !fieldsDisabled) {
26153
26150
  onSubmit();
@@ -26300,7 +26297,7 @@ function LoginForm({
26300
26297
  }) {
26301
26298
  const isSsoMode = !!ssoProviders && ssoProviders.length > 0;
26302
26299
  const fieldDisabled = disabled || loading || isSsoMode;
26303
- const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _530 => _530.email]), email);
26300
+ const emailErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _530 => _530.email]), email);
26304
26301
  const handleKeyDown = (event) => {
26305
26302
  if (event.key === "Enter" && !fieldDisabled) {
26306
26303
  onSubmit();
@@ -26401,8 +26398,8 @@ function OpenFrameSsoLoginForm({
26401
26398
  className
26402
26399
  }) {
26403
26400
  const fieldsDisabled = disabled || loading;
26404
- const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _531 => _531.email]), email);
26405
- const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _532 => _532.password]), password);
26401
+ const emailErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _531 => _531.email]), email);
26402
+ const passwordErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _532 => _532.password]), password);
26406
26403
  const handleKeyDown = (event) => {
26407
26404
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26408
26405
  onSubmit();
@@ -26509,11 +26506,11 @@ function OpenFrameSsoSignUpForm({
26509
26506
  className
26510
26507
  }) {
26511
26508
  const fieldsDisabled = disabled || loading;
26512
- const emailErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26513
- const firstNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.firstName]), firstName);
26514
- const lastNameErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.lastName]), lastName);
26515
- const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.password]), password);
26516
- const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.confirmPassword]), confirmPassword);
26509
+ const emailErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _533 => _533.email]), email);
26510
+ const firstNameErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _534 => _534.firstName]), firstName);
26511
+ const lastNameErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _535 => _535.lastName]), lastName);
26512
+ const passwordErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _536 => _536.password]), password);
26513
+ const confirmErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _537 => _537.confirmPassword]), confirmPassword);
26517
26514
  const handleKeyDown = (event) => {
26518
26515
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26519
26516
  onSubmit();
@@ -26656,8 +26653,8 @@ function PasswordResetForm({
26656
26653
  className
26657
26654
  }) {
26658
26655
  const fieldsDisabled = disabled || loading;
26659
- const passwordErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26660
- const confirmErr = _chunkSTGWQFYTcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.confirmPassword]), confirmPassword);
26656
+ const passwordErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _538 => _538.password]), password);
26657
+ const confirmErr = _chunk3SNDISENcjs.useDeferredError.call(void 0, _optionalChain([errors, 'optionalAccess', _539 => _539.confirmPassword]), confirmPassword);
26661
26658
  const handleKeyDown = (event) => {
26662
26659
  if (event.key === "Enter" && !fieldsDisabled && !submitDisabled) {
26663
26660
  onSubmit();
@@ -28946,7 +28943,7 @@ function PlatformFilterComponent({
28946
28943
  variant: selectedPlatform === platform.value ? "accent" : "outline",
28947
28944
  size: size2,
28948
28945
  onClick: () => onPlatformChange(platform.value),
28949
- leftIcon: showIcons ? _chunkSTGWQFYTcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
28946
+ leftIcon: showIcons ? _chunk3SNDISENcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
28950
28947
  className: "text-h3",
28951
28948
  children: platform.label
28952
28949
  },
@@ -31800,7 +31797,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
31800
31797
  };
31801
31798
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
31802
31799
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
31803
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31800
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3SNDISENcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
31804
31801
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
31805
31802
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", title: policy.name, children: policy.name }),
31806
31803
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
@@ -32111,8 +32108,8 @@ function WaitlistForm({
32111
32108
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
32112
32109
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
32113
32110
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
32114
- const { toast } = _chunkSTGWQFYTcjs.useToast.call(void 0, );
32115
- const { honeypotInputProps, getSignals, resetSignals } = _chunkSTGWQFYTcjs.useHumanitySignals.call(void 0, );
32111
+ const { toast } = _chunk3SNDISENcjs.useToast.call(void 0, );
32112
+ const { honeypotInputProps, getSignals, resetSignals } = _chunk3SNDISENcjs.useHumanitySignals.call(void 0, );
32116
32113
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
32117
32114
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
32118
32115
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -33094,7 +33091,7 @@ function NotificationTile({
33094
33091
  onError: () => setFailedImageUrl(image),
33095
33092
  className: "size-4 rounded-[2px] object-cover"
33096
33093
  }
33097
- ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkSTGWQFYTcjs.dotColorByVariant[accentVariant]) })))
33094
+ ) : _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunk3SNDISENcjs.dotColorByVariant[accentVariant]) })))
33098
33095
  }
33099
33096
  ),
33100
33097
  type ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -33142,7 +33139,7 @@ function NotificationTile({
33142
33139
  "aria-hidden": true,
33143
33140
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
33144
33141
  "absolute inset-x-0 -bottom-px h-1 origin-left",
33145
- _chunkSTGWQFYTcjs.progressColorByVariant[accentVariant]
33142
+ _chunk3SNDISENcjs.progressColorByVariant[accentVariant]
33146
33143
  ),
33147
33144
  style: {
33148
33145
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -33365,7 +33362,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
33365
33362
  ] });
33366
33363
  }
33367
33364
  function DesktopNotificationsToggleRow({ checked, onChange }) {
33368
- const { supported, permission, request } = _chunkSTGWQFYTcjs.useNotificationPermission.call(void 0, );
33365
+ const { supported, permission, request } = _chunk3SNDISENcjs.useNotificationPermission.call(void 0, );
33369
33366
  if (!supported) return null;
33370
33367
  const blocked = permission === "denied";
33371
33368
  const handleChange = async (value) => {
@@ -34813,7 +34810,7 @@ function EmptyState2() {
34813
34810
  // src/components/features/board/use-board-collapse.ts
34814
34811
 
34815
34812
  function useBoardCollapse(storageKey) {
34816
- const [persisted, setPersisted] = _chunkSTGWQFYTcjs.useLocalStorage.call(void 0,
34813
+ const [persisted, setPersisted] = _chunk3SNDISENcjs.useLocalStorage.call(void 0,
34817
34814
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
34818
34815
  {}
34819
34816
  );
@@ -34863,7 +34860,7 @@ function Board({
34863
34860
  onThumbPointerDown,
34864
34861
  onThumbPointerMove,
34865
34862
  onThumbPointerUp
34866
- } = _chunkSTGWQFYTcjs.useHorizontalScrollbar.call(void 0, );
34863
+ } = _chunk3SNDISENcjs.useHorizontalScrollbar.call(void 0, );
34867
34864
  const [items, setItems] = React106.useState(columns);
34868
34865
  const isDraggingRef = React106.useRef(false);
34869
34866
  React106.useEffect(() => {
@@ -35211,6 +35208,125 @@ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
35211
35208
 
35212
35209
  _chunkBX3R44MRcjs.init_button2.call(void 0, );
35213
35210
 
35211
+ // src/components/navigation/mobile-nav-panel.tsx
35212
+
35213
+
35214
+ _chunkBX3R44MRcjs.init_button2.call(void 0, );
35215
+
35216
+
35217
+ var MOBILE_NAV_PANEL_ID = "mobile-nav-panel";
35218
+ function MobileNavPanel({ isOpen, config }) {
35219
+ const panelRef = _react.useRef.call(void 0, null);
35220
+ _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
35221
+ _chunk3SNDISENcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: config.onClose });
35222
+ const headerHeight = _chunk3SNDISENcjs.useHeaderHeight.call(void 0, 64, { enabled: isOpen });
35223
+ if (!isOpen) return null;
35224
+ const renderNavigationItem = (item) => {
35225
+ if (item.element) {
35226
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: item.element }, item.id);
35227
+ }
35228
+ const handleClick = () => {
35229
+ if (item.onClick) {
35230
+ item.onClick();
35231
+ }
35232
+ _optionalChain([config, 'access', _726 => _726.onClose, 'optionalCall', _727 => _727()]);
35233
+ };
35234
+ if (item.href) {
35235
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35236
+ _chunkBX3R44MRcjs.Button,
35237
+ {
35238
+ variant: "outline",
35239
+ size: "small-legacy",
35240
+ href: item.href,
35241
+ onClick: handleClick,
35242
+ leftIcon: item.icon,
35243
+ rightIcon: item.badge,
35244
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
35245
+ "justify-start h-12 px-4 bg-transparent border-none text-ods-text-primary hover:bg-ods-bg-hover gap-3 rounded-md transition-colors",
35246
+ item.isActive ? "bg-ods-bg-hover" : ""
35247
+ ),
35248
+ children: item.label
35249
+ },
35250
+ item.id
35251
+ );
35252
+ }
35253
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35254
+ _chunkBX3R44MRcjs.Button,
35255
+ {
35256
+ variant: "outline",
35257
+ size: "small-legacy",
35258
+ onClick: handleClick,
35259
+ leftIcon: item.icon,
35260
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
35261
+ "justify-start h-12 px-4 bg-transparent border-none text-ods-text-primary hover:bg-ods-bg-hover gap-3 rounded-md transition-colors",
35262
+ item.isActive ? "bg-ods-bg-hover" : ""
35263
+ ),
35264
+ children: [
35265
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 text-left", children: item.label }),
35266
+ item.badge !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-auto", children: item.badge })
35267
+ ]
35268
+ },
35269
+ item.id
35270
+ );
35271
+ };
35272
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
35273
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35274
+ "div",
35275
+ {
35276
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "fixed inset-0 z-[9998]", OVERLAY_BACKDROP_CLASS),
35277
+ onClick: config.onClose
35278
+ }
35279
+ ),
35280
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35281
+ "div",
35282
+ {
35283
+ ref: panelRef,
35284
+ id: MOBILE_NAV_PANEL_ID,
35285
+ role: "dialog",
35286
+ "aria-modal": "true",
35287
+ "aria-label": "Navigation menu",
35288
+ tabIndex: -1,
35289
+ style: { "--mobile-nav-top": `${headerHeight + 16}px` },
35290
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
35291
+ "fixed z-[9999] rounded-lg shadow-xl",
35292
+ config.className ? "" : "bg-ods-card border border-ods-border",
35293
+ // Responsive positioning and sizing
35294
+ "right-2 left-2 md:left-auto",
35295
+ "md:right-6 md:w-[400px] md:max-w-[calc(100vw-3rem)]",
35296
+ // Small-viewport (svh) sizing anchored below the measured header —
35297
+ // 100vh overflowed under mobile browser chrome, leaving the bottom
35298
+ // entries and footer unreachable while the body was scroll-locked.
35299
+ "top-[var(--mobile-nav-top)]",
35300
+ "max-h-[calc(100svh-var(--mobile-nav-top)-50px)] md:max-h-[calc(100svh-var(--mobile-nav-top)-8px)]",
35301
+ "flex flex-col",
35302
+ config.className || ""
35303
+ ),
35304
+ onClick: (e) => e.stopPropagation(),
35305
+ children: [
35306
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-end p-2 border-b border-ods-border flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35307
+ _chunkBX3R44MRcjs.Button,
35308
+ {
35309
+ "aria-label": "Close menu",
35310
+ size: "icon",
35311
+ variant: "transparent",
35312
+ leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "w-4 h-4 text-ods-text-primary" }),
35313
+ onClick: config.onClose,
35314
+ className: "hover:bg-ods-bg-hover"
35315
+ }
35316
+ ) }),
35317
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-2 py-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col space-y-1", children: config.sections.map((section, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
35318
+ section.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-4 pt-2 pb-1 text-xs font-semibold text-ods-text-secondary uppercase tracking-wide", children: section.title }),
35319
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-1", children: section.items.map(renderNavigationItem) })
35320
+ ] }, index)) }) }),
35321
+ config.footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border p-4 pb-[max(1rem,env(safe-area-inset-bottom))] flex-shrink-0", children: config.footer })
35322
+ ]
35323
+ }
35324
+ )
35325
+ ] });
35326
+ }
35327
+
35328
+ // src/components/navigation/header.tsx
35329
+
35214
35330
  function Header2({ config, platform }) {
35215
35331
  const [show, setShow] = _react.useState.call(void 0, true);
35216
35332
  const [lastScrollY, setLastScrollY] = _react.useState.call(void 0, 0);
@@ -35344,7 +35460,7 @@ function Header2({ config, platform }) {
35344
35460
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35345
35461
  "flex justify-start w-full",
35346
35462
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
35347
- index < (_nullishCoalesce(_optionalChain([item, 'access', _726 => _726.children, 'optionalAccess', _727 => _727.length]), () => ( 0))) - 1 && "mb-1",
35463
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _728 => _728.children, 'optionalAccess', _729 => _729.length]), () => ( 0))) - 1 && "mb-1",
35348
35464
  "text-ods-text-primary",
35349
35465
  // All dropdown items use primary text color
35350
35466
  child.isActive && "bg-ods-bg-hover"
@@ -35436,7 +35552,7 @@ function Header2({ config, platform }) {
35436
35552
  style: config.style,
35437
35553
  children: [
35438
35554
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
35439
- _optionalChain([config, 'access', _728 => _728.actions, 'optionalAccess', _729 => _729.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
35555
+ _optionalChain([config, 'access', _730 => _730.actions, 'optionalAccess', _731 => _731.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
35440
35556
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
35441
35557
  ] }),
35442
35558
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -35453,7 +35569,7 @@ function Header2({ config, platform }) {
35453
35569
  }
35454
35570
  ),
35455
35571
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
35456
- _optionalChain([config, 'access', _730 => _730.actions, 'optionalAccess', _731 => _731.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
35572
+ _optionalChain([config, 'access', _732 => _732.actions, 'optionalAccess', _733 => _733.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
35457
35573
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35458
35574
  _chunkBX3R44MRcjs.Button,
35459
35575
  {
@@ -35461,10 +35577,12 @@ function Header2({ config, platform }) {
35461
35577
  size: "icon",
35462
35578
  className: "flex md:hidden",
35463
35579
  onClick: () => {
35464
- _optionalChain([config, 'access', _732 => _732.mobile, 'optionalAccess', _733 => _733.onToggle, 'optionalCall', _734 => _734()]);
35580
+ _optionalChain([config, 'access', _734 => _734.mobile, 'optionalAccess', _735 => _735.onToggle, 'optionalCall', _736 => _736()]);
35465
35581
  },
35466
- "aria-label": _optionalChain([config, 'access', _735 => _735.mobile, 'optionalAccess', _736 => _736.isOpen]) ? "Close menu" : "Open menu",
35467
- leftIcon: _optionalChain([config, 'access', _737 => _737.mobile, 'optionalAccess', _738 => _738.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
35582
+ "aria-label": _optionalChain([config, 'access', _737 => _737.mobile, 'optionalAccess', _738 => _738.isOpen]) ? "Close menu" : "Open menu",
35583
+ "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _739 => _739.mobile, 'optionalAccess', _740 => _740.isOpen]), () => ( false)),
35584
+ "aria-controls": _optionalChain([config, 'access', _741 => _741.mobile, 'optionalAccess', _742 => _742.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
35585
+ leftIcon: _optionalChain([config, 'access', _743 => _743.mobile, 'optionalAccess', _744 => _744.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
35468
35586
  }
35469
35587
  )
35470
35588
  ] })
@@ -35481,10 +35599,10 @@ function Header2({ config, platform }) {
35481
35599
  // src/components/navigation/header-skeleton.tsx
35482
35600
 
35483
35601
  function HeaderSkeleton({ config }) {
35484
- const showNavigation = _optionalChain([config, 'optionalAccess', _739 => _739.navigation]) && config.navigation.items.length > 0;
35485
- const showActions = _optionalChain([config, 'optionalAccess', _740 => _740.actions, 'optionalAccess', _741 => _741.right]) && config.actions.right.length > 0;
35486
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _742 => _742.mobile, 'optionalAccess', _743 => _743.enabled]);
35487
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _744 => _744.className, 'optionalAccess', _745 => _745.includes, 'call', _746 => _746("admin")]);
35602
+ const showNavigation = _optionalChain([config, 'optionalAccess', _745 => _745.navigation]) && config.navigation.items.length > 0;
35603
+ const showActions = _optionalChain([config, 'optionalAccess', _746 => _746.actions, 'optionalAccess', _747 => _747.right]) && config.actions.right.length > 0;
35604
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _748 => _748.mobile, 'optionalAccess', _749 => _749.enabled]);
35605
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _750 => _750.className, 'optionalAccess', _751 => _751.includes, 'call', _752 => _752("admin")]);
35488
35606
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35489
35607
  "header",
35490
35608
  {
@@ -35493,11 +35611,11 @@ function HeaderSkeleton({ config }) {
35493
35611
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
35494
35612
  "px-6 py-3",
35495
35613
  "transition-opacity duration-300 ease-in-out",
35496
- _optionalChain([config, 'optionalAccess', _747 => _747.className])
35614
+ _optionalChain([config, 'optionalAccess', _753 => _753.className])
35497
35615
  ),
35498
35616
  children: [
35499
35617
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
35500
- isAdminHeader && _optionalChain([config, 'optionalAccess', _748 => _748.actions, 'optionalAccess', _749 => _749.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
35618
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _754 => _754.actions, 'optionalAccess', _755 => _755.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
35501
35619
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
35502
35620
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
35503
35621
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -35505,8 +35623,8 @@ function HeaderSkeleton({ config }) {
35505
35623
  ] }),
35506
35624
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
35507
35625
  "hidden md:flex items-center gap-2",
35508
- _optionalChain([config, 'optionalAccess', _750 => _750.navigation, 'optionalAccess', _751 => _751.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
35509
- _optionalChain([config, 'optionalAccess', _752 => _752.navigation, 'optionalAccess', _753 => _753.position]) === "right" && "ml-auto mr-4"
35626
+ _optionalChain([config, 'optionalAccess', _756 => _756.navigation, 'optionalAccess', _757 => _757.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
35627
+ _optionalChain([config, 'optionalAccess', _758 => _758.navigation, 'optionalAccess', _759 => _759.position]) === "right" && "ml-auto mr-4"
35510
35628
  ), children: [
35511
35629
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
35512
35630
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -35534,139 +35652,20 @@ function ClientOnlyHeader({ config, skeleton }) {
35534
35652
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Header2, { config });
35535
35653
  }
35536
35654
 
35537
- // src/components/navigation/mobile-nav-panel.tsx
35538
-
35539
- _chunkBX3R44MRcjs.init_button2.call(void 0, );
35540
-
35541
-
35542
- function MobileNavPanel({ isOpen, config }) {
35543
- const panelRef = _react.useRef.call(void 0, null);
35544
- _react.useEffect.call(void 0, () => {
35545
- if (isOpen) {
35546
- document.body.style.overflow = "hidden";
35547
- } else {
35548
- document.body.style.overflow = "unset";
35549
- }
35550
- return () => {
35551
- document.body.style.overflow = "unset";
35552
- };
35553
- }, [isOpen]);
35554
- _react.useEffect.call(void 0, () => {
35555
- const handleKeyDown = (e) => {
35556
- if (e.key === "Escape" && isOpen) {
35557
- _optionalChain([config, 'access', _754 => _754.onClose, 'optionalCall', _755 => _755()]);
35558
- }
35559
- };
35560
- if (isOpen) {
35561
- document.addEventListener("keydown", handleKeyDown);
35562
- return () => document.removeEventListener("keydown", handleKeyDown);
35563
- }
35564
- }, [isOpen, config]);
35565
- if (!isOpen) return null;
35566
- const renderNavigationItem = (item) => {
35567
- if (item.element) {
35568
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: item.element }, item.id);
35569
- }
35570
- const handleClick = () => {
35571
- if (item.onClick) {
35572
- item.onClick();
35573
- }
35574
- _optionalChain([config, 'access', _756 => _756.onClose, 'optionalCall', _757 => _757()]);
35575
- };
35576
- if (item.href) {
35577
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35578
- _chunkBX3R44MRcjs.Button,
35579
- {
35580
- variant: "outline",
35581
- size: "small-legacy",
35582
- href: item.href,
35583
- onClick: handleClick,
35584
- leftIcon: item.icon,
35585
- rightIcon: item.badge,
35586
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
35587
- "justify-start h-12 px-4 bg-transparent border-none text-ods-text-primary hover:bg-ods-bg-hover gap-3 rounded-md transition-colors",
35588
- item.isActive ? "bg-ods-bg-hover" : ""
35589
- ),
35590
- children: item.label
35591
- },
35592
- item.id
35593
- );
35594
- }
35595
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35596
- _chunkBX3R44MRcjs.Button,
35597
- {
35598
- variant: "outline",
35599
- size: "small-legacy",
35600
- onClick: handleClick,
35601
- leftIcon: item.icon,
35602
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
35603
- "justify-start h-12 px-4 bg-transparent border-none text-ods-text-primary hover:bg-ods-bg-hover gap-3 rounded-md transition-colors",
35604
- item.isActive ? "bg-ods-bg-hover" : ""
35605
- ),
35606
- children: [
35607
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 text-left", children: item.label }),
35608
- item.badge !== void 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ml-auto", children: item.badge })
35609
- ]
35610
- },
35611
- item.id
35612
- );
35613
- };
35614
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
35615
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35616
- "div",
35617
- {
35618
- className: "fixed inset-0 z-[9998] bg-black/50",
35619
- onClick: config.onClose
35620
- }
35621
- ),
35622
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35623
- "div",
35624
- {
35625
- ref: panelRef,
35626
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
35627
- "fixed z-[9999] rounded-lg shadow-xl",
35628
- config.className ? "" : "bg-ods-card border border-ods-border",
35629
- // Responsive positioning and sizing - matching original working version
35630
- "right-2 left-2 md:left-auto",
35631
- "md:right-6 md:w-[400px] md:max-w-[calc(100vw-3rem)]",
35632
- // Height constraints with proper mobile spacing - increased top position
35633
- "top-20 max-h-[calc(100vh-130px)] md:max-h-[calc(100vh-88px)]",
35634
- "flex flex-col",
35635
- config.className || ""
35636
- ),
35637
- onClick: (e) => e.stopPropagation(),
35638
- children: [
35639
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-end p-2 border-b border-ods-border flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35640
- _chunkBX3R44MRcjs.Button,
35641
- {
35642
- "aria-label": "Close menu",
35643
- size: "icon",
35644
- variant: "transparent",
35645
- leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "w-4 h-4 text-ods-text-primary" }),
35646
- onClick: config.onClose,
35647
- className: "hover:bg-ods-bg-hover"
35648
- }
35649
- ) }),
35650
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 overflow-y-auto overflow-x-hidden px-2 py-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col space-y-1", children: config.sections.map((section, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
35651
- section.title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-4 pt-2 pb-1 text-xs font-semibold text-ods-text-secondary uppercase tracking-wide", children: section.title }),
35652
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-1", children: section.items.map(renderNavigationItem) })
35653
- ] }, index)) }) }),
35654
- config.footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border p-4 flex-shrink-0", children: config.footer })
35655
- ]
35656
- }
35657
- )
35658
- ] });
35659
- }
35660
-
35661
35655
  // src/components/navigation/sliding-sidebar.tsx
35662
35656
 
35663
35657
 
35658
+
35664
35659
  _chunkBX3R44MRcjs.init_button2.call(void 0, );
35665
35660
 
35666
35661
  function SlidingSidebar({ config }) {
35667
35662
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
35668
35663
  const [mounted, setMounted] = _react.useState.call(void 0, false);
35669
- const headerHeight = _chunkSTGWQFYTcjs.useHeaderHeight.call(void 0, );
35664
+ const headerHeight = _chunk3SNDISENcjs.useHeaderHeight.call(void 0, );
35665
+ const asideRef = _react.useRef.call(void 0, null);
35666
+ const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
35667
+ _overlays.usePreventScroll.call(void 0, { isDisabled: !config.isOpen });
35668
+ _chunk3SNDISENcjs.useFocusTrap.call(void 0, asideRef, config.isOpen, { onEscape: config.onClose, contain: false });
35670
35669
  _react.useEffect.call(void 0, () => {
35671
35670
  setMounted(true);
35672
35671
  }, []);
@@ -35741,7 +35740,7 @@ function SlidingSidebar({ config }) {
35741
35740
  variant: "transparent",
35742
35741
  size: "default",
35743
35742
  onClick: () => {
35744
- _optionalChain([item, 'access', _758 => _758.onClick, 'optionalCall', _759 => _759()]);
35743
+ _optionalChain([item, 'access', _760 => _760.onClick, 'optionalCall', _761 => _761()]);
35745
35744
  config.onClose();
35746
35745
  },
35747
35746
  leftIcon: item.icon,
@@ -35764,7 +35763,7 @@ function SlidingSidebar({ config }) {
35764
35763
  variant: "transparent",
35765
35764
  size: "default",
35766
35765
  onClick: () => {
35767
- _optionalChain([item, 'access', _760 => _760.onClick, 'optionalCall', _761 => _761()]);
35766
+ _optionalChain([item, 'access', _762 => _762.onClick, 'optionalCall', _763 => _763()]);
35768
35767
  config.onClose();
35769
35768
  },
35770
35769
  leftIcon: item.icon,
@@ -35795,18 +35794,19 @@ function SlidingSidebar({ config }) {
35795
35794
  duration: 0.3,
35796
35795
  ease: [0.4, 0, 0.2, 1]
35797
35796
  },
35798
- className: "fixed inset-0 bg-black/50 z-[45]",
35797
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "fixed inset-0 z-[45]", OVERLAY_BACKDROP_CLASS),
35799
35798
  onClick: () => config.onClose()
35800
35799
  }
35801
35800
  ) }),
35802
35801
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35803
35802
  _framermotion.motion.aside,
35804
35803
  {
35804
+ ref: asideRef,
35805
35805
  initial: false,
35806
35806
  animate: {
35807
35807
  x: config.isOpen ? 0 : config.position === "right" ? "100%" : "-100%"
35808
35808
  },
35809
- transition: {
35809
+ transition: prefersReducedMotion ? { duration: 0 } : {
35810
35810
  type: "spring",
35811
35811
  damping: 25,
35812
35812
  stiffness: 300,
@@ -35814,6 +35814,10 @@ function SlidingSidebar({ config }) {
35814
35814
  restDelta: 0.01,
35815
35815
  velocity: config.isOpen ? 5 : -5
35816
35816
  },
35817
+ tabIndex: -1,
35818
+ inert: !config.isOpen || void 0,
35819
+ role: config.isOpen ? "dialog" : void 0,
35820
+ "aria-label": config.isOpen ? "Navigation sidebar" : void 0,
35817
35821
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35818
35822
  "fixed top-0 bottom-0 z-[46] w-72 bg-ods-card border-ods-border flex flex-col shadow-xl",
35819
35823
  config.position === "right" ? "right-0 border-l" : "left-0 border-r",
@@ -35821,8 +35825,8 @@ function SlidingSidebar({ config }) {
35821
35825
  ),
35822
35826
  children: [
35823
35827
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0", style: { height: `${headerHeight}px` } }),
35824
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { className: "flex-1 p-4 space-y-2 overflow-y-auto", children: config.items.map((item) => renderMenuItem(item)) }),
35825
- config.footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4 border-t border-ods-border", children: config.footer })
35828
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "nav", { className: "flex-1 p-4 space-y-2 overflow-y-auto overscroll-contain", children: config.items.map((item) => renderMenuItem(item)) }),
35829
+ config.footer && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-4 pb-[max(1rem,env(safe-area-inset-bottom))] border-t border-ods-border", children: config.footer })
35826
35830
  ]
35827
35831
  }
35828
35832
  )
@@ -35891,7 +35895,7 @@ function StickySectionNav({
35891
35895
  ] });
35892
35896
  }
35893
35897
  function useSectionNavigation(sections, options) {
35894
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _762 => _762[0], 'optionalAccess', _763 => _763.id]) || "");
35898
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _764 => _764[0], 'optionalAccess', _765 => _765.id]) || "");
35895
35899
  const isScrollingFromClick = _react.useRef.call(void 0, false);
35896
35900
  const { offset: offset2 = 100 } = options || {};
35897
35901
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -35899,7 +35903,7 @@ function useSectionNavigation(sections, options) {
35899
35903
  if (!targetElement) return;
35900
35904
  isScrollingFromClick.current = true;
35901
35905
  setActiveSection(sectionId);
35902
- _chunkSTGWQFYTcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
35906
+ _chunk3SNDISENcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
35903
35907
  setTimeout(() => {
35904
35908
  isScrollingFromClick.current = false;
35905
35909
  }, 500);
@@ -35915,7 +35919,7 @@ function useSectionNavigation(sections, options) {
35915
35919
  const handleScroll = () => {
35916
35920
  if (isScrollingFromClick.current) return;
35917
35921
  const scrollPosition = window.scrollY + offset2 + 50;
35918
- let currentSection = _optionalChain([sections, 'access', _764 => _764[0], 'optionalAccess', _765 => _765.id]) || "";
35922
+ let currentSection = _optionalChain([sections, 'access', _766 => _766[0], 'optionalAccess', _767 => _767.id]) || "";
35919
35923
  for (let i = sections.length - 1; i >= 0; i--) {
35920
35924
  const element = document.getElementById(sections[i].id);
35921
35925
  if (element && scrollPosition >= element.offsetTop) {
@@ -36085,10 +36089,10 @@ var MINIMIZED_WIDTH = 56;
36085
36089
  var EXPANDED_WIDTH = 224;
36086
36090
  var STORAGE_KEY = "of.navigationSidebar.minimized";
36087
36091
  function NavigationSidebar({ config, disabled = false }) {
36088
- const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( false));
36089
- const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
36092
+ const isMdUp = _nullishCoalesce(_chunk3SNDISENcjs.useMdUp.call(void 0, ), () => ( false));
36093
+ const isLgUp = _nullishCoalesce(_chunk3SNDISENcjs.useLgUp.call(void 0, ), () => ( false));
36090
36094
  const isTablet = isMdUp && !isLgUp;
36091
- const [desktopMinimized, setDesktopMinimized] = _chunkSTGWQFYTcjs.useLocalStorage.call(void 0,
36095
+ const [desktopMinimized, setDesktopMinimized] = _chunk3SNDISENcjs.useLocalStorage.call(void 0,
36092
36096
  STORAGE_KEY,
36093
36097
  _nullishCoalesce(config.minimized, () => ( false))
36094
36098
  );
@@ -36106,7 +36110,7 @@ function NavigationSidebar({ config, disabled = false }) {
36106
36110
  } else {
36107
36111
  setDesktopMinimized((prev) => !prev);
36108
36112
  }
36109
- _optionalChain([config, 'access', _766 => _766.onToggleMinimized, 'optionalCall', _767 => _767()]);
36113
+ _optionalChain([config, 'access', _768 => _768.onToggleMinimized, 'optionalCall', _769 => _769()]);
36110
36114
  }, [isTablet, setDesktopMinimized, config]);
36111
36115
  const closeOverlay = _react.useCallback.call(void 0, () => {
36112
36116
  setTabletMinimized(true);
@@ -36120,11 +36124,11 @@ function NavigationSidebar({ config, disabled = false }) {
36120
36124
  return () => document.removeEventListener("keydown", handleKeyDown);
36121
36125
  }, [isOverlayOpen, closeOverlay]);
36122
36126
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
36123
- _optionalChain([event, 'optionalAccess', _768 => _768.stopPropagation, 'call', _769 => _769()]);
36127
+ _optionalChain([event, 'optionalAccess', _770 => _770.stopPropagation, 'call', _771 => _771()]);
36124
36128
  if (item.onClick) {
36125
36129
  item.onClick();
36126
36130
  } else if (item.path) {
36127
- _optionalChain([config, 'access', _770 => _770.onNavigate, 'optionalCall', _771 => _771(item.path)]);
36131
+ _optionalChain([config, 'access', _772 => _772.onNavigate, 'optionalCall', _773 => _773(item.path)]);
36128
36132
  }
36129
36133
  if (isTablet) setTabletMinimized(true);
36130
36134
  }, [config, isTablet]);
@@ -36249,11 +36253,11 @@ function HeaderGlobalSearch({
36249
36253
  };
36250
36254
  const handleSubmit = (e) => {
36251
36255
  e.preventDefault();
36252
- _optionalChain([onSubmit, 'optionalCall', _772 => _772(currentValue)]);
36256
+ _optionalChain([onSubmit, 'optionalCall', _774 => _774(currentValue)]);
36253
36257
  };
36254
36258
  const handleKeyDown = (e) => {
36255
36259
  if (e.key === "Enter") {
36256
- _optionalChain([onSubmit, 'optionalCall', _773 => _773(currentValue)]);
36260
+ _optionalChain([onSubmit, 'optionalCall', _775 => _775(currentValue)]);
36257
36261
  }
36258
36262
  };
36259
36263
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36347,8 +36351,8 @@ function HeaderOrganizationFilter({
36347
36351
  className
36348
36352
  }) {
36349
36353
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
36350
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _774 => _774.name]) || "All Organizations";
36351
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _775 => _775.deviceCount]), () => ( totalDeviceCount));
36354
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _776 => _776.name]) || "All Organizations";
36355
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _777 => _777.deviceCount]), () => ( totalDeviceCount));
36352
36356
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBX3R44MRcjs.DropdownMenu, { children: [
36353
36357
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBX3R44MRcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36354
36358
  "button",
@@ -36373,11 +36377,11 @@ function HeaderOrganizationFilter({
36373
36377
  }
36374
36378
  ) }),
36375
36379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBX3R44MRcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
36376
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBX3R44MRcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _776 => _776("")]), children: "All Organizations" }),
36380
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBX3R44MRcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _778 => _778("")]), children: "All Organizations" }),
36377
36381
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36378
36382
  _chunkBX3R44MRcjs.DropdownMenuItem,
36379
36383
  {
36380
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _777 => _777(org.id)]),
36384
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _779 => _779(org.id)]),
36381
36385
  children: org.name
36382
36386
  },
36383
36387
  org.id
@@ -36412,7 +36416,7 @@ var AppHeader = React121.default.memo(function AppHeader2({
36412
36416
  onToggleMobileMenu,
36413
36417
  disabled = false
36414
36418
  }) {
36415
- const isMdUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useMdUp.call(void 0, ), () => ( false));
36419
+ const isMdUp = _nullishCoalesce(_chunk3SNDISENcjs.useMdUp.call(void 0, ), () => ( false));
36416
36420
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
36417
36421
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36418
36422
  "header",
@@ -36567,9 +36571,9 @@ function NotificationsHeaderButton({
36567
36571
  dimmedClass
36568
36572
  }) {
36569
36573
  const ctx = useOptionalNotifications();
36570
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _778 => _778.unreadCount]), () => ( fallbackUnreadCount))) > 0;
36571
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _779 => _779.isOpen]), () => ( false));
36572
- const onClick = _optionalChain([ctx, 'optionalAccess', _780 => _780.toggle]);
36574
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _780 => _780.unreadCount]), () => ( fallbackUnreadCount))) > 0;
36575
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _781 => _781.isOpen]), () => ( false));
36576
+ const onClick = _optionalChain([ctx, 'optionalAccess', _782 => _782.toggle]);
36573
36577
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36574
36578
  HeaderButton,
36575
36579
  {
@@ -36597,6 +36601,7 @@ function NotificationsHeaderButton({
36597
36601
  // src/components/navigation/mobile-burger-menu.tsx
36598
36602
 
36599
36603
 
36604
+
36600
36605
  var HEADER_HEIGHT = 48;
36601
36606
  var MobileBurgerMenu = React121.default.memo(function MobileBurgerMenu2({
36602
36607
  isOpen,
@@ -36608,32 +36613,14 @@ var MobileBurgerMenu = React121.default.memo(function MobileBurgerMenu2({
36608
36613
  onLogout,
36609
36614
  disabled = false
36610
36615
  }) {
36611
- _react.useEffect.call(void 0, () => {
36612
- if (isOpen) {
36613
- document.body.style.overflow = "hidden";
36614
- } else {
36615
- document.body.style.overflow = "unset";
36616
- }
36617
- return () => {
36618
- document.body.style.overflow = "unset";
36619
- };
36620
- }, [isOpen]);
36621
- _react.useEffect.call(void 0, () => {
36622
- const handleKeyDown = (e) => {
36623
- if (e.key === "Escape" && isOpen) {
36624
- onClose();
36625
- }
36626
- };
36627
- if (isOpen) {
36628
- document.addEventListener("keydown", handleKeyDown);
36629
- return () => document.removeEventListener("keydown", handleKeyDown);
36630
- }
36631
- }, [isOpen, onClose]);
36616
+ const panelRef = _react.useRef.call(void 0, null);
36617
+ _overlays.usePreventScroll.call(void 0, { isDisabled: !isOpen });
36618
+ _chunk3SNDISENcjs.useFocusTrap.call(void 0, panelRef, isOpen, { onEscape: onClose });
36632
36619
  const handleItemClick = _react.useCallback.call(void 0, (item) => {
36633
36620
  if (item.onClick) {
36634
36621
  item.onClick();
36635
36622
  } else if (item.path) {
36636
- _optionalChain([config, 'access', _781 => _781.onNavigate, 'optionalCall', _782 => _782(item.path)]);
36623
+ _optionalChain([config, 'access', _783 => _783.onNavigate, 'optionalCall', _784 => _784(item.path)]);
36637
36624
  }
36638
36625
  onClose();
36639
36626
  }, [config, onClose]);
@@ -36689,7 +36676,7 @@ var MobileBurgerMenu = React121.default.memo(function MobileBurgerMenu2({
36689
36676
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36690
36677
  "absolute inset-0 z-[100] md:hidden",
36691
36678
  OVERLAY_BACKDROP_CLASS,
36692
- "transition-all duration-300",
36679
+ "transition-all duration-300 motion-reduce:transition-none",
36693
36680
  isOpen ? "opacity-100" : "opacity-0 pointer-events-none"
36694
36681
  ),
36695
36682
  style: { top: HEADER_HEIGHT },
@@ -36700,11 +36687,12 @@ var MobileBurgerMenu = React121.default.memo(function MobileBurgerMenu2({
36700
36687
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36701
36688
  "div",
36702
36689
  {
36690
+ ref: panelRef,
36703
36691
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36704
36692
  "absolute left-0 right-0 z-[101] md:hidden",
36705
36693
  "flex flex-col",
36706
36694
  "bg-ods-bg border-b border-ods-border",
36707
- "transition-all duration-300 ease-out",
36695
+ "transition-all duration-300 ease-out motion-reduce:transition-none",
36708
36696
  "overflow-hidden",
36709
36697
  isOpen ? "opacity-100 translate-y-0" : "opacity-0 -translate-y-4 pointer-events-none"
36710
36698
  ),
@@ -36715,7 +36703,9 @@ var MobileBurgerMenu = React121.default.memo(function MobileBurgerMenu2({
36715
36703
  role: "dialog",
36716
36704
  "aria-modal": "true",
36717
36705
  "aria-label": "Mobile navigation menu",
36718
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 overflow-y-auto overflow-x-hidden p-4 flex flex-col gap-4", children: [
36706
+ tabIndex: -1,
36707
+ inert: !isOpen || void 0,
36708
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 overflow-y-auto overflow-x-hidden overscroll-contain p-4 flex flex-col gap-4", children: [
36719
36709
  user && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36720
36710
  "div",
36721
36711
  {
@@ -37188,7 +37178,7 @@ var ToolBadge = ({
37188
37178
  }) => {
37189
37179
  const label = getToolLabel(toolType);
37190
37180
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
37191
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
37181
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3SNDISENcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
37192
37182
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
37193
37183
  ] });
37194
37184
  };
@@ -37236,7 +37226,7 @@ var ShellTypeBadge = ({
37236
37226
  className,
37237
37227
  iconClassName
37238
37228
  }) => {
37239
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _783 => _783.toUpperCase, 'call', _784 => _784()]);
37229
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _785 => _785.toUpperCase, 'call', _786 => _786()]);
37240
37230
  const label = getShellLabel(normalizedType);
37241
37231
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
37242
37232
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -37560,7 +37550,7 @@ function OnboardingWalkthrough({
37560
37550
  isStepSkipped,
37561
37551
  allStepsComplete,
37562
37552
  markMultipleComplete
37563
- } = _chunkSTGWQFYTcjs.useOnboardingState.call(void 0, storageKey);
37553
+ } = _chunk3SNDISENcjs.useOnboardingState.call(void 0, storageKey);
37564
37554
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
37565
37555
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
37566
37556
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -37623,12 +37613,12 @@ function OnboardingWalkthrough({
37623
37613
  }
37624
37614
  }, [state.completedSteps, markComplete]);
37625
37615
  const handleStepSkip = (step) => {
37626
- _optionalChain([step, 'access', _785 => _785.onSkip, 'optionalCall', _786 => _786()]);
37616
+ _optionalChain([step, 'access', _787 => _787.onSkip, 'optionalCall', _788 => _788()]);
37627
37617
  markSkipped(step.id);
37628
37618
  };
37629
37619
  const handleDismiss = () => {
37630
37620
  dismissOnboarding();
37631
- _optionalChain([onDismiss, 'optionalCall', _787 => _787()]);
37621
+ _optionalChain([onDismiss, 'optionalCall', _789 => _789()]);
37632
37622
  };
37633
37623
  if (state.dismissed) {
37634
37624
  return null;
@@ -37758,7 +37748,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
37758
37748
  onKeyDown: (e) => {
37759
37749
  if (e.key === "Enter" || e.key === " ") {
37760
37750
  e.preventDefault();
37761
- _optionalChain([onClick, 'optionalCall', _788 => _788()]);
37751
+ _optionalChain([onClick, 'optionalCall', _790 => _790()]);
37762
37752
  }
37763
37753
  },
37764
37754
  children: [
@@ -37767,7 +37757,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
37767
37757
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
37768
37758
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
37769
37759
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-ods-text-secondary uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
37770
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTGWQFYTcjs.ToolIcon, { toolType: log.toolType, size: 16 })
37760
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3SNDISENcjs.ToolIcon, { toolType: log.toolType, size: 16 })
37771
37761
  ] })
37772
37762
  ] })
37773
37763
  ]
@@ -37859,7 +37849,7 @@ var LogsList = React118.forwardRef(({
37859
37849
  log,
37860
37850
  isLast: index === logs.length - 1,
37861
37851
  showConnector,
37862
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _789 => _789(log)])
37852
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _791 => _791(log)])
37863
37853
  },
37864
37854
  log.id
37865
37855
  ))
@@ -37904,7 +37894,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
37904
37894
  }
37905
37895
  function ServiceCardRowItem({ row }) {
37906
37896
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
37907
- const { copy, copied } = _chunkSTGWQFYTcjs.useCopyToClipboard.call(void 0, );
37897
+ const { copy, copied } = _chunk3SNDISENcjs.useCopyToClipboard.call(void 0, );
37908
37898
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
37909
37899
  const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
37910
37900
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -37960,7 +37950,7 @@ var Slider = React120.forwardRef(
37960
37950
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
37961
37951
  const handleChange = (e) => {
37962
37952
  const newValue = [Number(e.target.value)];
37963
- _optionalChain([onValueChange, 'optionalCall', _790 => _790(newValue)]);
37953
+ _optionalChain([onValueChange, 'optionalCall', _792 => _792(newValue)]);
37964
37954
  };
37965
37955
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37966
37956
  "input",
@@ -38394,7 +38384,7 @@ function CursorPaginationSimple({
38394
38384
  {
38395
38385
  variant: "transparent",
38396
38386
  size: "icon",
38397
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _791 => _791("")]),
38387
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _793 => _793("")]),
38398
38388
  disabled: !hasPreviousPage || loading,
38399
38389
  className: "h-8 w-8",
38400
38390
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -38406,7 +38396,7 @@ function CursorPaginationSimple({
38406
38396
  {
38407
38397
  variant: "transparent",
38408
38398
  size: "icon",
38409
- onClick: () => _optionalChain([onNext, 'optionalCall', _792 => _792("")]),
38399
+ onClick: () => _optionalChain([onNext, 'optionalCall', _794 => _794("")]),
38410
38400
  disabled: !hasNextPage || loading,
38411
38401
  className: "h-8 w-8",
38412
38402
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -38426,8 +38416,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
38426
38416
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
38427
38417
  title: _nullishCoalesce(message2, () => ( "No results found")),
38428
38418
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
38429
- buttonLabel: _optionalChain([action, 'optionalAccess', _793 => _793.label]),
38430
- onButtonClick: _optionalChain([action, 'optionalAccess', _794 => _794.onClick]),
38419
+ buttonLabel: _optionalChain([action, 'optionalAccess', _795 => _795.label]),
38420
+ onButtonClick: _optionalChain([action, 'optionalAccess', _796 => _796.onClick]),
38431
38421
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
38432
38422
  }
38433
38423
  );
@@ -38448,7 +38438,7 @@ function TableColumnFilterDropdown({
38448
38438
  placement = "bottom-start",
38449
38439
  dropdownClassName = "min-w-[240px]"
38450
38440
  }) {
38451
- const activeCount = _optionalChain([filters, 'optionalAccess', _795 => _795[columnKey], 'optionalAccess', _796 => _796.length]) || 0;
38441
+ const activeCount = _optionalChain([filters, 'optionalAccess', _797 => _797[columnKey], 'optionalAccess', _798 => _798.length]) || 0;
38452
38442
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38453
38443
  FiltersDropdown,
38454
38444
  {
@@ -38491,7 +38481,7 @@ function TableColumnFilterDropdown({
38491
38481
  delete newFilters[columnKey];
38492
38482
  onFilterChange(newFilters);
38493
38483
  },
38494
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _797 => _797[columnKey]]) || [] },
38484
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _799 => _799[columnKey]]) || [] },
38495
38485
  placement,
38496
38486
  dropdownClassName
38497
38487
  }
@@ -38566,7 +38556,7 @@ function TableHeader({
38566
38556
  }
38567
38557
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
38568
38558
  };
38569
- const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
38559
+ const isLgUp = _nullishCoalesce(_chunk3SNDISENcjs.useLgUp.call(void 0, ), () => ( false));
38570
38560
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38571
38561
  "div",
38572
38562
  {
@@ -38701,7 +38691,7 @@ function TableCardSkeleton({
38701
38691
  className,
38702
38692
  rowClassName
38703
38693
  }) {
38704
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _798 => _798.key]);
38694
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _800 => _800.key]);
38705
38695
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38706
38696
  "div",
38707
38697
  {
@@ -38794,7 +38784,7 @@ function TableRow({
38794
38784
  const keys = column.key.split(".");
38795
38785
  let value = item;
38796
38786
  for (const key of keys) {
38797
- value = _optionalChain([value, 'optionalAccess', _799 => _799[key]]);
38787
+ value = _optionalChain([value, 'optionalAccess', _801 => _801[key]]);
38798
38788
  }
38799
38789
  if (value === null || value === void 0) {
38800
38790
  return "-";
@@ -38883,7 +38873,7 @@ function useTableMotion(enabled) {
38883
38873
  // src/components/ui/table/table.tsx
38884
38874
 
38885
38875
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
38886
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _800 => _800.length])) || Boolean(renderRowActions);
38876
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _802 => _802.length])) || Boolean(renderRowActions);
38887
38877
  const result = [...columns];
38888
38878
  if (hasActions) {
38889
38879
  const actionsColumn = {
@@ -38979,7 +38969,7 @@ function Table({
38979
38969
  return rowKey(item);
38980
38970
  }
38981
38971
  const key = item[rowKey];
38982
- return _optionalChain([key, 'optionalAccess', _801 => _801.toString, 'call', _802 => _802()]) || index.toString();
38972
+ return _optionalChain([key, 'optionalAccess', _803 => _803.toString, 'call', _804 => _804()]) || index.toString();
38983
38973
  };
38984
38974
  const getRowClassName = (item, index) => {
38985
38975
  if (typeof rowClassName === "function") {
@@ -39013,23 +39003,23 @@ function Table({
39013
39003
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
39014
39004
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
39015
39005
  const sentinelRef = _react.useRef.call(void 0, null);
39016
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _803 => _803.onLoadMore]));
39017
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _804 => _804.onLoadMore]);
39006
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _805 => _805.onLoadMore]));
39007
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _806 => _806.onLoadMore]);
39018
39008
  _react.useEffect.call(void 0, () => {
39019
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _805 => _805.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
39009
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _807 => _807.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
39020
39010
  const sentinel = sentinelRef.current;
39021
39011
  if (!sentinel) return;
39022
39012
  const observer = new IntersectionObserver(
39023
39013
  (entries) => {
39024
- if (_optionalChain([entries, 'access', _806 => _806[0], 'optionalAccess', _807 => _807.isIntersecting])) {
39025
- _optionalChain([onLoadMoreRef, 'access', _808 => _808.current, 'optionalCall', _809 => _809()]);
39014
+ if (_optionalChain([entries, 'access', _808 => _808[0], 'optionalAccess', _809 => _809.isIntersecting])) {
39015
+ _optionalChain([onLoadMoreRef, 'access', _810 => _810.current, 'optionalCall', _811 => _811()]);
39026
39016
  }
39027
39017
  },
39028
39018
  { rootMargin: "200px" }
39029
39019
  );
39030
39020
  observer.observe(sentinel);
39031
39021
  return () => observer.disconnect();
39032
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _810 => _810.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _811 => _811.isFetchingNextPage])]);
39022
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _812 => _812.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _813 => _813.isFetchingNextPage])]);
39033
39023
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
39034
39024
  showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
39035
39025
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -39099,14 +39089,14 @@ function Table({
39099
39089
  selected: isRowSelected(item),
39100
39090
  onSelect: handleSelectRow,
39101
39091
  animateRowReorder,
39102
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _812 => _812.motionDiv])
39092
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _814 => _814.motionDiv])
39103
39093
  },
39104
39094
  getRowKey(item, index)
39105
39095
  ));
39106
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _813 => _813.LayoutGroup]);
39096
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _815 => _815.LayoutGroup]);
39107
39097
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
39108
39098
  })(),
39109
- _optionalChain([infiniteScroll, 'optionalAccess', _814 => _814.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39099
+ _optionalChain([infiniteScroll, 'optionalAccess', _816 => _816.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39110
39100
  TableCardSkeleton,
39111
39101
  {
39112
39102
  columns,
@@ -39115,7 +39105,7 @@ function Table({
39115
39105
  hasChevron: Boolean(rowHref)
39116
39106
  }
39117
39107
  ),
39118
- _optionalChain([infiniteScroll, 'optionalAccess', _815 => _815.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
39108
+ _optionalChain([infiniteScroll, 'optionalAccess', _817 => _817.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
39119
39109
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
39120
39110
  "div",
39121
39111
  {
@@ -39473,7 +39463,7 @@ function QueryReportTable({
39473
39463
  );
39474
39464
  const handleExport = () => {
39475
39465
  exportToCSV(data, columns, exportFilename);
39476
- _optionalChain([onExport, 'optionalCall', _816 => _816()]);
39466
+ _optionalChain([onExport, 'optionalCall', _818 => _818()]);
39477
39467
  };
39478
39468
  const tableMinWidth = columns.length * (columnWidth + 16);
39479
39469
  const {
@@ -39489,7 +39479,7 @@ function QueryReportTable({
39489
39479
  onThumbPointerDown,
39490
39480
  onThumbPointerMove,
39491
39481
  onThumbPointerUp
39492
- } = _chunkSTGWQFYTcjs.useHorizontalScrollbar.call(void 0, );
39482
+ } = _chunk3SNDISENcjs.useHorizontalScrollbar.call(void 0, );
39493
39483
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
39494
39484
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
39495
39485
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
@@ -39646,7 +39636,7 @@ function DataTableColumnFilter({
39646
39636
  align = "left"
39647
39637
  }) {
39648
39638
  const currentValue = column.getFilterValue();
39649
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _817 => _817.length]), () => ( 0));
39639
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _819 => _819.length]), () => ( 0));
39650
39640
  const sections = _react.useMemo.call(void 0,
39651
39641
  () => [
39652
39642
  {
@@ -39720,14 +39710,14 @@ function DataTableHeader({
39720
39710
  onSortChange
39721
39711
  }) {
39722
39712
  const table = useDataTableContext();
39723
- const isLgUp = _nullishCoalesce(_chunkSTGWQFYTcjs.useLgUp.call(void 0, ), () => ( false));
39713
+ const isLgUp = _nullishCoalesce(_chunk3SNDISENcjs.useLgUp.call(void 0, ), () => ( false));
39724
39714
  const headerGroup = table.getHeaderGroups()[0];
39725
39715
  if (!headerGroup) return null;
39726
39716
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
39727
39717
  if (header.isPlaceholder) return false;
39728
39718
  if (isLgUp) return true;
39729
39719
  const meta = header.column.columnDef.meta;
39730
- return Boolean(_optionalChain([meta, 'optionalAccess', _818 => _818.filter])) || _optionalChain([meta, 'optionalAccess', _819 => _819.alwaysShowHeader]) === true;
39720
+ return Boolean(_optionalChain([meta, 'optionalAccess', _820 => _820.filter])) || _optionalChain([meta, 'optionalAccess', _821 => _821.alwaysShowHeader]) === true;
39731
39721
  });
39732
39722
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39733
39723
  "div",
@@ -39757,21 +39747,21 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
39757
39747
  if (header.isPlaceholder) return null;
39758
39748
  const column = header.column;
39759
39749
  const meta = column.columnDef.meta;
39760
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _820 => _820.filter]));
39761
- const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _821 => _821.alwaysShowHeader]) === true;
39762
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _822 => _822.align]), () => ( "left"));
39763
- const canSort = _optionalChain([meta, 'optionalAccess', _823 => _823.sortable]) === true;
39764
- const sortDir = _optionalChain([sort, 'optionalAccess', _824 => _824.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
39750
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _822 => _822.filter]));
39751
+ const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _823 => _823.alwaysShowHeader]) === true;
39752
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _824 => _824.align]), () => ( "left"));
39753
+ const canSort = _optionalChain([meta, 'optionalAccess', _825 => _825.sortable]) === true;
39754
+ const sortDir = _optionalChain([sort, 'optionalAccess', _826 => _826.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
39765
39755
  if (!isLgUp && !keepOnTablet) return null;
39766
39756
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39767
39757
  "div",
39768
39758
  {
39769
39759
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
39770
39760
  "flex items-stretch",
39771
- isLgUp && (_optionalChain([meta, 'optionalAccess', _825 => _825.width]) || "flex-1 min-w-0"),
39772
- _optionalChain([meta, 'optionalAccess', _826 => _826.headerClassName]),
39761
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _827 => _827.width]) || "flex-1 min-w-0"),
39762
+ _optionalChain([meta, 'optionalAccess', _828 => _828.headerClassName]),
39773
39763
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
39774
- !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _827 => _827.hideAt]))
39764
+ !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _829 => _829.hideAt]))
39775
39765
  ),
39776
39766
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39777
39767
  DataTableColumnFilter,
@@ -39790,7 +39780,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
39790
39780
  isLgUp && alignJustify(align),
39791
39781
  canSort && "group cursor-pointer"
39792
39782
  ),
39793
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _828 => _828(column.id)]) : void 0,
39783
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _830 => _830(column.id)]) : void 0,
39794
39784
  children: [
39795
39785
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
39796
39786
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -39855,7 +39845,7 @@ function DataTableSkeleton({
39855
39845
  }) {
39856
39846
  const table = useDataTableContext();
39857
39847
  const columns = table.getVisibleFlatColumns();
39858
- const firstColumnId = _optionalChain([columns, 'access', _829 => _829[0], 'optionalAccess', _830 => _830.id]);
39848
+ const firstColumnId = _optionalChain([columns, 'access', _831 => _831[0], 'optionalAccess', _832 => _832.id]);
39859
39849
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
39860
39850
  "div",
39861
39851
  {
@@ -39879,7 +39869,7 @@ function DataTableSkeleton({
39879
39869
  {
39880
39870
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
39881
39871
  "flex flex-col justify-center shrink-0",
39882
- _optionalChain([meta, 'optionalAccess', _831 => _831.width]) || "flex-1"
39872
+ _optionalChain([meta, 'optionalAccess', _833 => _833.width]) || "flex-1"
39883
39873
  ),
39884
39874
  children: [
39885
39875
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -39929,7 +39919,7 @@ function DataTableRowImpl({
39929
39919
  const handleClick = _react.useCallback.call(void 0,
39930
39920
  (e) => {
39931
39921
  const target = e.target;
39932
- if (!_optionalChain([containerRef, 'access', _832 => _832.current, 'optionalAccess', _833 => _833.contains, 'call', _834 => _834(target)])) {
39922
+ if (!_optionalChain([containerRef, 'access', _834 => _834.current, 'optionalAccess', _835 => _835.contains, 'call', _836 => _836(target)])) {
39933
39923
  if (isLinkMode) e.preventDefault();
39934
39924
  return;
39935
39925
  }
@@ -39937,7 +39927,7 @@ function DataTableRowImpl({
39937
39927
  if (isLinkMode) e.preventDefault();
39938
39928
  return;
39939
39929
  }
39940
- _optionalChain([onClick, 'optionalCall', _835 => _835(row.original)]);
39930
+ _optionalChain([onClick, 'optionalCall', _837 => _837(row.original)]);
39941
39931
  },
39942
39932
  [onClick, row.original, isLinkMode]
39943
39933
  );
@@ -39962,10 +39952,10 @@ function DataTableRowImpl({
39962
39952
  {
39963
39953
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
39964
39954
  "flex flex-col overflow-hidden",
39965
- alignJustify(_optionalChain([meta, 'optionalAccess', _836 => _836.align])),
39966
- _optionalChain([meta, 'optionalAccess', _837 => _837.width]) || "flex-1 min-w-0",
39967
- _optionalChain([meta, 'optionalAccess', _838 => _838.cellClassName]),
39968
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _839 => _839.hideAt]))
39955
+ alignJustify(_optionalChain([meta, 'optionalAccess', _838 => _838.align])),
39956
+ _optionalChain([meta, 'optionalAccess', _839 => _839.width]) || "flex-1 min-w-0",
39957
+ _optionalChain([meta, 'optionalAccess', _840 => _840.cellClassName]),
39958
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _841 => _841.hideAt]))
39969
39959
  ),
39970
39960
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
39971
39961
  },
@@ -40045,7 +40035,7 @@ function DataTableBody({
40045
40035
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
40046
40036
  rows.map((row, index) => {
40047
40037
  const item = row.original;
40048
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _840 => _840(item)]), () => ( void 0));
40038
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _842 => _842(item)]), () => ( void 0));
40049
40039
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
40050
40040
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40051
40041
  DataTableRow,
@@ -40056,7 +40046,7 @@ function DataTableBody({
40056
40046
  compact,
40057
40047
  autoHeight,
40058
40048
  className: cls,
40059
- subRow: _optionalChain([renderSubRow, 'optionalCall', _841 => _841(item)])
40049
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _843 => _843(item)])
40060
40050
  },
40061
40051
  row.id
40062
40052
  );
@@ -40111,7 +40101,7 @@ function DataTableInfiniteFooter({
40111
40101
  if (!sentinel) return;
40112
40102
  const observer = new IntersectionObserver(
40113
40103
  (entries) => {
40114
- if (_optionalChain([entries, 'access', _842 => _842[0], 'optionalAccess', _843 => _843.isIntersecting])) onLoadMoreRef.current();
40104
+ if (_optionalChain([entries, 'access', _844 => _844[0], 'optionalAccess', _845 => _845.isIntersecting])) onLoadMoreRef.current();
40115
40105
  },
40116
40106
  { rootMargin }
40117
40107
  );
@@ -40159,7 +40149,7 @@ function DataTableRowCount({
40159
40149
  const table = useDataTableContext();
40160
40150
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
40161
40151
  if (hideWhenEmpty && count === 0) return null;
40162
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _844 => _844(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
40152
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _846 => _846(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
40163
40153
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40164
40154
  "span",
40165
40155
  {
@@ -40291,7 +40281,7 @@ function SearchInput({
40291
40281
  }) {
40292
40282
  const [internalValue, setInternalValue] = React123.useState(defaultValue);
40293
40283
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
40294
- const debouncedValue = _chunkSTGWQFYTcjs.useDebounce.call(void 0, currentValue, debounceMs);
40284
+ const debouncedValue = _chunk3SNDISENcjs.useDebounce.call(void 0, currentValue, debounceMs);
40295
40285
  const [isOpen, setIsOpen] = React123.useState(false);
40296
40286
  const [highlightedIndex, setHighlightedIndex] = React123.useState(-1);
40297
40287
  const containerRef = React123.useRef(null);
@@ -40303,7 +40293,7 @@ function SearchInput({
40303
40293
  textMeasureRef,
40304
40294
  badgeRef,
40305
40295
  inputRef
40306
- } = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
40296
+ } = _chunk3SNDISENcjs.useAutoLimitTags.call(void 0, {
40307
40297
  count: filterChips.length,
40308
40298
  limitTags,
40309
40299
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -40318,7 +40308,7 @@ function SearchInput({
40318
40308
  if (!showHiddenTags) return;
40319
40309
  const handleClick = (e) => {
40320
40310
  const target = e.target;
40321
- if (!_optionalChain([hiddenTagsRef, 'access', _845 => _845.current, 'optionalAccess', _846 => _846.contains, 'call', _847 => _847(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _848 => _848.current, 'optionalAccess', _849 => _849.contains, 'call', _850 => _850(target)])) {
40311
+ if (!_optionalChain([hiddenTagsRef, 'access', _847 => _847.current, 'optionalAccess', _848 => _848.contains, 'call', _849 => _849(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _850 => _850.current, 'optionalAccess', _851 => _851.contains, 'call', _852 => _852(target)])) {
40322
40312
  setShowHiddenTags(false);
40323
40313
  }
40324
40314
  };
@@ -40366,10 +40356,10 @@ function SearchInput({
40366
40356
  } else {
40367
40357
  setInternalValue("");
40368
40358
  }
40369
- _optionalChain([inputRef, 'access', _851 => _851.current, 'optionalAccess', _852 => _852.focus, 'call', _853 => _853()]);
40359
+ _optionalChain([inputRef, 'access', _853 => _853.current, 'optionalAccess', _854 => _854.focus, 'call', _855 => _855()]);
40370
40360
  };
40371
40361
  const handleResultClick = (result, e) => {
40372
- _optionalChain([onResultSelect, 'optionalCall', _854 => _854(
40362
+ _optionalChain([onResultSelect, 'optionalCall', _856 => _856(
40373
40363
  result,
40374
40364
  e ? {
40375
40365
  metaKey: e.metaKey,
@@ -40401,7 +40391,7 @@ function SearchInput({
40401
40391
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
40402
40392
  handleResultClick(flatResults[highlightedIndex]);
40403
40393
  } else {
40404
- _optionalChain([onSubmit, 'optionalCall', _855 => _855(currentValue)]);
40394
+ _optionalChain([onSubmit, 'optionalCall', _857 => _857(currentValue)]);
40405
40395
  }
40406
40396
  break;
40407
40397
  case "Escape":
@@ -40479,7 +40469,7 @@ function SearchInput({
40479
40469
  dropdownVisible && "!border-ods-accent"
40480
40470
  ),
40481
40471
  onClick: () => {
40482
- _optionalChain([inputRef, 'access', _856 => _856.current, 'optionalAccess', _857 => _857.focus, 'call', _858 => _858()]);
40472
+ _optionalChain([inputRef, 'access', _858 => _858.current, 'optionalAccess', _859 => _859.focus, 'call', _860 => _860()]);
40483
40473
  setIsOpen(true);
40484
40474
  },
40485
40475
  children: [
@@ -40563,10 +40553,10 @@ function SearchInput({
40563
40553
  align: "start",
40564
40554
  onOpenAutoFocus: (e) => {
40565
40555
  e.preventDefault();
40566
- _optionalChain([inputRef, 'access', _859 => _859.current, 'optionalAccess', _860 => _860.focus, 'call', _861 => _861()]);
40556
+ _optionalChain([inputRef, 'access', _861 => _861.current, 'optionalAccess', _862 => _862.focus, 'call', _863 => _863()]);
40567
40557
  },
40568
40558
  onInteractOutside: (e) => {
40569
- if (_optionalChain([containerRef, 'access', _862 => _862.current, 'optionalAccess', _863 => _863.contains, 'call', _864 => _864(e.target)])) {
40559
+ if (_optionalChain([containerRef, 'access', _864 => _864.current, 'optionalAccess', _865 => _865.contains, 'call', _866 => _866(e.target)])) {
40570
40560
  e.preventDefault();
40571
40561
  }
40572
40562
  },
@@ -40583,10 +40573,10 @@ function SearchInput({
40583
40573
  ref: hiddenTagsPopupRef,
40584
40574
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
40585
40575
  style: {
40586
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _865 => _865.current, 'optionalAccess', _866 => _866.getBoundingClientRect, 'call', _867 => _867(), 'access', _868 => _868.left]), () => ( 0))) : 0
40576
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _867 => _867.current, 'optionalAccess', _868 => _868.getBoundingClientRect, 'call', _869 => _869(), 'access', _870 => _870.left]), () => ( 0))) : 0
40587
40577
  },
40588
40578
  onRemove: (value2) => {
40589
- _optionalChain([onFilterRemove, 'optionalCall', _869 => _869(value2)]);
40579
+ _optionalChain([onFilterRemove, 'optionalCall', _871 => _871(value2)]);
40590
40580
  if (hiddenCount <= 1) setShowHiddenTags(false);
40591
40581
  }
40592
40582
  }
@@ -40637,7 +40627,7 @@ function FilterListItem({
40637
40627
  }) {
40638
40628
  const handleToggle = () => {
40639
40629
  if (disabled) return;
40640
- _optionalChain([onToggle, 'optionalCall', _870 => _870(!selected)]);
40630
+ _optionalChain([onToggle, 'optionalCall', _872 => _872(!selected)]);
40641
40631
  };
40642
40632
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
40643
40633
  "div",
@@ -40684,7 +40674,7 @@ function FilterListItem({
40684
40674
  CheckboxPrimitive4.Root,
40685
40675
  {
40686
40676
  checked: selected,
40687
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _871 => _871(c === true)]),
40677
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _873 => _873(c === true)]),
40688
40678
  onClick: (e) => e.stopPropagation(),
40689
40679
  disabled,
40690
40680
  "aria-label": title,
@@ -40770,7 +40760,7 @@ function TagSearchInput({
40770
40760
  textMeasureRef,
40771
40761
  badgeRef,
40772
40762
  inputRef
40773
- } = _chunkSTGWQFYTcjs.useAutoLimitTags.call(void 0, {
40763
+ } = _chunk3SNDISENcjs.useAutoLimitTags.call(void 0, {
40774
40764
  count: tags.length,
40775
40765
  limitTags,
40776
40766
  placeholder: currentPlaceholder
@@ -40783,7 +40773,7 @@ function TagSearchInput({
40783
40773
  if (!showHiddenTags) return;
40784
40774
  const handleClick = (e) => {
40785
40775
  const target = e.target;
40786
- if (!_optionalChain([hiddenTagsRef, 'access', _872 => _872.current, 'optionalAccess', _873 => _873.contains, 'call', _874 => _874(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _875 => _875.current, 'optionalAccess', _876 => _876.contains, 'call', _877 => _877(target)])) {
40776
+ if (!_optionalChain([hiddenTagsRef, 'access', _874 => _874.current, 'optionalAccess', _875 => _875.contains, 'call', _876 => _876(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _877 => _877.current, 'optionalAccess', _878 => _878.contains, 'call', _879 => _879(target)])) {
40787
40777
  setShowHiddenTags(false);
40788
40778
  }
40789
40779
  };
@@ -40799,13 +40789,13 @@ function TagSearchInput({
40799
40789
  e.preventDefault();
40800
40790
  onSubmit(searchValue);
40801
40791
  }
40802
- _optionalChain([onKeyDown, 'optionalCall', _878 => _878(e)]);
40792
+ _optionalChain([onKeyDown, 'optionalCall', _880 => _880(e)]);
40803
40793
  };
40804
40794
  const handleClearAll = (e) => {
40805
40795
  e.stopPropagation();
40806
40796
  e.preventDefault();
40807
- _optionalChain([onClearAll, 'optionalCall', _879 => _879()]);
40808
- _optionalChain([inputRef, 'access', _880 => _880.current, 'optionalAccess', _881 => _881.focus, 'call', _882 => _882()]);
40797
+ _optionalChain([onClearAll, 'optionalCall', _881 => _881()]);
40798
+ _optionalChain([inputRef, 'access', _882 => _882.current, 'optionalAccess', _883 => _883.focus, 'call', _884 => _884()]);
40809
40799
  };
40810
40800
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
40811
40801
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -40822,7 +40812,7 @@ function TagSearchInput({
40822
40812
  className
40823
40813
  ),
40824
40814
  onClick: () => {
40825
- if (!disabled) _optionalChain([inputRef, 'access', _883 => _883.current, 'optionalAccess', _884 => _884.focus, 'call', _885 => _885()]);
40815
+ if (!disabled) _optionalChain([inputRef, 'access', _885 => _885.current, 'optionalAccess', _886 => _886.focus, 'call', _887 => _887()]);
40826
40816
  },
40827
40817
  children: [
40828
40818
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
@@ -40894,7 +40884,7 @@ function TagSearchInput({
40894
40884
  items: hiddenTags,
40895
40885
  disabled,
40896
40886
  style: {
40897
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _886 => _886.current, 'optionalAccess', _887 => _887.getBoundingClientRect, 'call', _888 => _888(), 'access', _889 => _889.left]), () => ( 0))) : 0
40887
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _888 => _888.current, 'optionalAccess', _889 => _889.getBoundingClientRect, 'call', _890 => _890(), 'access', _891 => _891.left]), () => ( 0))) : 0
40898
40888
  },
40899
40889
  onRemove: (value) => {
40900
40890
  onTagRemove(value);
@@ -40995,7 +40985,7 @@ function MarkdownEditor({
40995
40985
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
40996
40986
  _react.useEffect.call(void 0, () => {
40997
40987
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
40998
- if (_optionalChain([mod, 'access', _890 => _890.commands, 'optionalAccess', _891 => _891.getExtraCommands])) {
40988
+ if (_optionalChain([mod, 'access', _892 => _892.commands, 'optionalAccess', _893 => _893.getExtraCommands])) {
40999
40989
  setDefaultExtraCommands(mod.commands.getExtraCommands());
41000
40990
  }
41001
40991
  });
@@ -41029,7 +41019,7 @@ function MarkdownEditor({
41029
41019
  const isImage = file.type.startsWith("image/");
41030
41020
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
41031
41021
  insertTextAtCursor(markdown);
41032
- _optionalChain([onFileUploaded, 'optionalCall', _892 => _892(url, file.name)]);
41022
+ _optionalChain([onFileUploaded, 'optionalCall', _894 => _894(url, file.name)]);
41033
41023
  } catch (error) {
41034
41024
  console.error("File upload failed:", error);
41035
41025
  setUploadProgress("Upload failed. Please try again.");
@@ -41042,7 +41032,7 @@ function MarkdownEditor({
41042
41032
  );
41043
41033
  const handleFileInputChange = _react.useCallback.call(void 0,
41044
41034
  (e) => {
41045
- const file = _optionalChain([e, 'access', _893 => _893.target, 'access', _894 => _894.files, 'optionalAccess', _895 => _895[0]]);
41035
+ const file = _optionalChain([e, 'access', _895 => _895.target, 'access', _896 => _896.files, 'optionalAccess', _897 => _897[0]]);
41046
41036
  if (file) {
41047
41037
  handleFileUpload(file);
41048
41038
  e.target.value = "";
@@ -41053,7 +41043,7 @@ function MarkdownEditor({
41053
41043
  const handlePaste = _react.useCallback.call(void 0,
41054
41044
  (e) => {
41055
41045
  if (!onUploadFile) return;
41056
- const items = _optionalChain([e, 'access', _896 => _896.clipboardData, 'optionalAccess', _897 => _897.items]);
41046
+ const items = _optionalChain([e, 'access', _898 => _898.clipboardData, 'optionalAccess', _899 => _899.items]);
41057
41047
  if (!items) return;
41058
41048
  for (const item of items) {
41059
41049
  if (item.type.startsWith("image/")) {
@@ -41078,7 +41068,7 @@ function MarkdownEditor({
41078
41068
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
41079
41069
  icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
41080
41070
  execute: () => {
41081
- _optionalChain([fileInputRef, 'access', _898 => _898.current, 'optionalAccess', _899 => _899.click, 'call', _900 => _900()]);
41071
+ _optionalChain([fileInputRef, 'access', _900 => _900.current, 'optionalAccess', _901 => _901.click, 'call', _902 => _902()]);
41082
41072
  }
41083
41073
  } : null;
41084
41074
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -41090,7 +41080,7 @@ function MarkdownEditor({
41090
41080
  const EDGE_ZONE = 60;
41091
41081
  const MAX_SCROLL_SPEED = 15;
41092
41082
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
41093
- let node = _optionalChain([el, 'optionalAccess', _901 => _901.parentElement]);
41083
+ let node = _optionalChain([el, 'optionalAccess', _903 => _903.parentElement]);
41094
41084
  while (node && node !== document.documentElement) {
41095
41085
  const { overflowY } = window.getComputedStyle(node);
41096
41086
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -41233,7 +41223,7 @@ function matchesAccept(file, accept) {
41233
41223
  });
41234
41224
  }
41235
41225
  function dragHasFiles(e) {
41236
- const types = _optionalChain([e, 'access', _902 => _902.dataTransfer, 'optionalAccess', _903 => _903.types]);
41226
+ const types = _optionalChain([e, 'access', _904 => _904.dataTransfer, 'optionalAccess', _905 => _905.types]);
41237
41227
  if (!types) return false;
41238
41228
  for (let i = 0; i < types.length; i++) {
41239
41229
  if (types[i] === "Files") return true;
@@ -41329,7 +41319,7 @@ function FileUpload({
41329
41319
  e.stopPropagation();
41330
41320
  setDragActive(false);
41331
41321
  if (disabled) return;
41332
- if (_optionalChain([e, 'access', _904 => _904.dataTransfer, 'access', _905 => _905.files, 'optionalAccess', _906 => _906.length])) {
41322
+ if (_optionalChain([e, 'access', _906 => _906.dataTransfer, 'access', _907 => _907.files, 'optionalAccess', _908 => _908.length])) {
41333
41323
  handleFiles(e.dataTransfer.files);
41334
41324
  }
41335
41325
  };
@@ -41357,7 +41347,7 @@ function FileUpload({
41357
41347
  e.preventDefault();
41358
41348
  dragCounter = 0;
41359
41349
  setDragActive(false);
41360
- if (_optionalChain([e, 'access', _907 => _907.dataTransfer, 'optionalAccess', _908 => _908.files, 'optionalAccess', _909 => _909.length])) {
41350
+ if (_optionalChain([e, 'access', _909 => _909.dataTransfer, 'optionalAccess', _910 => _910.files, 'optionalAccess', _911 => _911.length])) {
41361
41351
  handleFilesRef.current(e.dataTransfer.files);
41362
41352
  }
41363
41353
  };
@@ -41379,7 +41369,7 @@ function FileUpload({
41379
41369
  };
41380
41370
  }, [acceptWindowDrops, disabled]);
41381
41371
  const handleFileSelect = (e) => {
41382
- if (_optionalChain([e, 'access', _910 => _910.target, 'access', _911 => _911.files, 'optionalAccess', _912 => _912.length])) {
41372
+ if (_optionalChain([e, 'access', _912 => _912.target, 'access', _913 => _913.files, 'optionalAccess', _914 => _914.length])) {
41383
41373
  handleFiles(e.target.files);
41384
41374
  }
41385
41375
  };
@@ -41396,7 +41386,7 @@ function FileUpload({
41396
41386
  };
41397
41387
  const openDialog = async () => {
41398
41388
  if (disabled) return;
41399
- _optionalChain([fileInputRef, 'access', _913 => _913.current, 'optionalAccess', _914 => _914.click, 'call', _915 => _915()]);
41389
+ _optionalChain([fileInputRef, 'access', _915 => _915.current, 'optionalAccess', _916 => _916.click, 'call', _917 => _917()]);
41400
41390
  };
41401
41391
  const displayError = error || validationError || void 0;
41402
41392
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -41458,7 +41448,7 @@ function FileUpload({
41458
41448
  "button",
41459
41449
  {
41460
41450
  type: "button",
41461
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _916 => _916(entry.id)]),
41451
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _918 => _918(entry.id)]),
41462
41452
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
41463
41453
  "aria-label": `Remove ${entry.fileName}`,
41464
41454
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
@@ -41589,7 +41579,7 @@ function ImageUploader({
41589
41579
  onChange(file);
41590
41580
  };
41591
41581
  const handleFileSelect = (e) => {
41592
- validateAndEmit(_optionalChain([e, 'access', _917 => _917.target, 'access', _918 => _918.files, 'optionalAccess', _919 => _919[0]]));
41582
+ validateAndEmit(_optionalChain([e, 'access', _919 => _919.target, 'access', _920 => _920.files, 'optionalAccess', _921 => _921[0]]));
41593
41583
  if (inputRef.current) inputRef.current.value = "";
41594
41584
  };
41595
41585
  const handleDrag = (e) => {
@@ -41604,11 +41594,11 @@ function ImageUploader({
41604
41594
  e.stopPropagation();
41605
41595
  setDragActive(false);
41606
41596
  if (!interactive) return;
41607
- validateAndEmit(_optionalChain([e, 'access', _920 => _920.dataTransfer, 'access', _921 => _921.files, 'optionalAccess', _922 => _922[0]]));
41597
+ validateAndEmit(_optionalChain([e, 'access', _922 => _922.dataTransfer, 'access', _923 => _923.files, 'optionalAccess', _924 => _924[0]]));
41608
41598
  };
41609
41599
  const openDialog = () => {
41610
41600
  if (!interactive) return;
41611
- _optionalChain([inputRef, 'access', _923 => _923.current, 'optionalAccess', _924 => _924.click, 'call', _925 => _925()]);
41601
+ _optionalChain([inputRef, 'access', _925 => _925.current, 'optionalAccess', _926 => _926.click, 'call', _927 => _927()]);
41612
41602
  };
41613
41603
  const handleRootKeyDown = (e) => {
41614
41604
  if (hasImage || !interactive) return;
@@ -41799,8 +41789,8 @@ function ColorPresetSelect({
41799
41789
  }) {
41800
41790
  const selectedPreset = presets.find((p) => p.key === presetKey);
41801
41791
  const isCustom = !selectedPreset;
41802
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _926 => _926.label]), () => ( "Custom"));
41803
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _927 => _927.color]), () => ( value));
41792
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _928 => _928.label]), () => ( "Custom"));
41793
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _929 => _929.color]), () => ( value));
41804
41794
  const groups = [
41805
41795
  {
41806
41796
  items: [
@@ -42090,7 +42080,7 @@ function TicketStatusConfigRow({
42090
42080
  _chunkBX3R44MRcjs.Input,
42091
42081
  {
42092
42082
  value: name,
42093
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _928 => _928(e.target.value)]),
42083
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _930 => _930(e.target.value)]),
42094
42084
  disabled: isSystem,
42095
42085
  readOnly: isSystem,
42096
42086
  "aria-label": "Status name",
@@ -42463,14 +42453,14 @@ function TicketInfoSection({
42463
42453
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42464
42454
  SquareAvatar,
42465
42455
  {
42466
- src: _optionalChain([organization, 'optionalAccess', _929 => _929.imageSrc]),
42467
- alt: _optionalChain([organization, 'optionalAccess', _930 => _930.name]),
42468
- fallback: _optionalChain([organization, 'optionalAccess', _931 => _931.name]) || "Org",
42456
+ src: _optionalChain([organization, 'optionalAccess', _931 => _931.imageSrc]),
42457
+ alt: _optionalChain([organization, 'optionalAccess', _932 => _932.name]),
42458
+ fallback: _optionalChain([organization, 'optionalAccess', _933 => _933.name]) || "Org",
42469
42459
  size: "md",
42470
42460
  className: "shrink-0"
42471
42461
  }
42472
42462
  ),
42473
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _932 => _932.name]) || "Unassigned", label: "Organization" })
42463
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _934 => _934.name]) || "Unassigned", label: "Organization" })
42474
42464
  ] }),
42475
42465
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42476
42466
  AssigneeDropdown,
@@ -42491,10 +42481,10 @@ function TicketInfoSection({
42491
42481
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42492
42482
  InfoCell2,
42493
42483
  {
42494
- value: _optionalChain([device, 'optionalAccess', _933 => _933.name]) || "Unassigned",
42484
+ value: _optionalChain([device, 'optionalAccess', _935 => _935.name]) || "Unassigned",
42495
42485
  label: "Device",
42496
- icon: _optionalChain([device, 'optionalAccess', _934 => _934.icon]),
42497
- onClick: _optionalChain([device, 'optionalAccess', _935 => _935.onClick])
42486
+ icon: _optionalChain([device, 'optionalAccess', _936 => _936.icon]),
42487
+ onClick: _optionalChain([device, 'optionalAccess', _937 => _937.onClick])
42498
42488
  }
42499
42489
  ),
42500
42490
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -42824,7 +42814,7 @@ function RoadmapCard({
42824
42814
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
42825
42815
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
42826
42816
  const hasFigma = !!item.figmaUrl;
42827
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _936 => _936.screenshots, 'optionalAccess', _937 => _937.length]), () => ( 0))) > 0;
42817
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _938 => _938.screenshots, 'optionalAccess', _939 => _939.length]), () => ( 0))) > 0;
42828
42818
  const typeLabel = getTaskTypeLabel(item.customItemId);
42829
42819
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
42830
42820
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -42843,7 +42833,7 @@ function RoadmapCard({
42843
42833
  unoptimized: true,
42844
42834
  className: "h-8 w-8 object-contain"
42845
42835
  }
42846
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _938 => _938.title, 'optionalAccess', _939 => _939.substring, 'call', _940 => _940(0, 2)]) || "??" })
42836
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _940 => _940.title, 'optionalAccess', _941 => _941.substring, 'call', _942 => _942(0, 2)]) || "??" })
42847
42837
  }
42848
42838
  ),
42849
42839
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42918,7 +42908,7 @@ function RoadmapCard({
42918
42908
  unoptimized: true,
42919
42909
  className: "object-contain p-1"
42920
42910
  }
42921
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _941 => _941.title, 'optionalAccess', _942 => _942.substring, 'call', _943 => _943(0, 2)]) || "??" }) }),
42911
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _943 => _943.title, 'optionalAccess', _944 => _944.substring, 'call', _945 => _945(0, 2)]) || "??" }) }),
42922
42912
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
42923
42913
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
42924
42914
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
@@ -43428,7 +43418,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
43428
43418
  ] }) : null,
43429
43419
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
43430
43420
  ] }),
43431
- _optionalChain([anchorProps, 'optionalAccess', _944 => _944.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
43421
+ _optionalChain([anchorProps, 'optionalAccess', _946 => _946.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
43432
43422
  ] });
43433
43423
  if (!anchorProps) {
43434
43424
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -43498,7 +43488,7 @@ function getDefaultOptions() {
43498
43488
  // node_modules/date-fns/startOfWeek.mjs
43499
43489
  function startOfWeek(date, options) {
43500
43490
  const defaultOptions2 = getDefaultOptions();
43501
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _945 => _945.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _946 => _946.locale, 'optionalAccess', _947 => _947.options, 'optionalAccess', _948 => _948.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _949 => _949.locale, 'optionalAccess', _950 => _950.options, 'optionalAccess', _951 => _951.weekStartsOn]))), () => ( 0));
43491
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _947 => _947.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _948 => _948.locale, 'optionalAccess', _949 => _949.options, 'optionalAccess', _950 => _950.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _951 => _951.locale, 'optionalAccess', _952 => _952.options, 'optionalAccess', _953 => _953.weekStartsOn]))), () => ( 0));
43502
43492
  const _date = toDate2(date);
43503
43493
  const day = _date.getDay();
43504
43494
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -43673,7 +43663,7 @@ var formatDistance = (token, count, options) => {
43673
43663
  } else {
43674
43664
  result = tokenValue.other.replace("{{count}}", count.toString());
43675
43665
  }
43676
- if (_optionalChain([options, 'optionalAccess', _952 => _952.addSuffix])) {
43666
+ if (_optionalChain([options, 'optionalAccess', _954 => _954.addSuffix])) {
43677
43667
  if (options.comparison && options.comparison > 0) {
43678
43668
  return "in " + result;
43679
43669
  } else {
@@ -43740,15 +43730,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
43740
43730
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
43741
43731
  function buildLocalizeFn(args) {
43742
43732
  return (value, options) => {
43743
- const context = _optionalChain([options, 'optionalAccess', _953 => _953.context]) ? String(options.context) : "standalone";
43733
+ const context = _optionalChain([options, 'optionalAccess', _955 => _955.context]) ? String(options.context) : "standalone";
43744
43734
  let valuesArray;
43745
43735
  if (context === "formatting" && args.formattingValues) {
43746
43736
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
43747
- const width = _optionalChain([options, 'optionalAccess', _954 => _954.width]) ? String(options.width) : defaultWidth;
43737
+ const width = _optionalChain([options, 'optionalAccess', _956 => _956.width]) ? String(options.width) : defaultWidth;
43748
43738
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
43749
43739
  } else {
43750
43740
  const defaultWidth = args.defaultWidth;
43751
- const width = _optionalChain([options, 'optionalAccess', _955 => _955.width]) ? String(options.width) : args.defaultWidth;
43741
+ const width = _optionalChain([options, 'optionalAccess', _957 => _957.width]) ? String(options.width) : args.defaultWidth;
43752
43742
  valuesArray = args.values[width] || args.values[defaultWidth];
43753
43743
  }
43754
43744
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -44128,7 +44118,7 @@ function getWeekYear(date, options) {
44128
44118
  const _date = toDate2(date);
44129
44119
  const year = _date.getFullYear();
44130
44120
  const defaultOptions2 = getDefaultOptions();
44131
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _956 => _956.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _957 => _957.locale, 'optionalAccess', _958 => _958.options, 'optionalAccess', _959 => _959.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _960 => _960.locale, 'optionalAccess', _961 => _961.options, 'optionalAccess', _962 => _962.firstWeekContainsDate]))), () => ( 1));
44121
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _958 => _958.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _959 => _959.locale, 'optionalAccess', _960 => _960.options, 'optionalAccess', _961 => _961.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _962 => _962.locale, 'optionalAccess', _963 => _963.options, 'optionalAccess', _964 => _964.firstWeekContainsDate]))), () => ( 1));
44132
44122
  const firstWeekOfNextYear = constructFrom(date, 0);
44133
44123
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
44134
44124
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -44149,7 +44139,7 @@ function getWeekYear(date, options) {
44149
44139
  // node_modules/date-fns/startOfWeekYear.mjs
44150
44140
  function startOfWeekYear(date, options) {
44151
44141
  const defaultOptions2 = getDefaultOptions();
44152
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _963 => _963.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _964 => _964.locale, 'optionalAccess', _965 => _965.options, 'optionalAccess', _966 => _966.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _967 => _967.locale, 'optionalAccess', _968 => _968.options, 'optionalAccess', _969 => _969.firstWeekContainsDate]))), () => ( 1));
44142
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _965 => _965.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _966 => _966.locale, 'optionalAccess', _967 => _967.options, 'optionalAccess', _968 => _968.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _969 => _969.locale, 'optionalAccess', _970 => _970.options, 'optionalAccess', _971 => _971.firstWeekContainsDate]))), () => ( 1));
44153
44143
  const year = getWeekYear(date, options);
44154
44144
  const firstWeek = constructFrom(date, 0);
44155
44145
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -44964,9 +44954,9 @@ var doubleQuoteRegExp = /''/g;
44964
44954
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
44965
44955
  function format2(date, formatStr, options) {
44966
44956
  const defaultOptions2 = getDefaultOptions();
44967
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _970 => _970.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
44968
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _971 => _971.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _972 => _972.locale, 'optionalAccess', _973 => _973.options, 'optionalAccess', _974 => _974.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _975 => _975.locale, 'optionalAccess', _976 => _976.options, 'optionalAccess', _977 => _977.firstWeekContainsDate]))), () => ( 1));
44969
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _978 => _978.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _979 => _979.locale, 'optionalAccess', _980 => _980.options, 'optionalAccess', _981 => _981.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _982 => _982.locale, 'optionalAccess', _983 => _983.options, 'optionalAccess', _984 => _984.weekStartsOn]))), () => ( 0));
44957
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _972 => _972.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
44958
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _973 => _973.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _974 => _974.locale, 'optionalAccess', _975 => _975.options, 'optionalAccess', _976 => _976.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _977 => _977.locale, 'optionalAccess', _978 => _978.options, 'optionalAccess', _979 => _979.firstWeekContainsDate]))), () => ( 1));
44959
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _980 => _980.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _981 => _981.locale, 'optionalAccess', _982 => _982.options, 'optionalAccess', _983 => _983.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _984 => _984.locale, 'optionalAccess', _985 => _985.options, 'optionalAccess', _986 => _986.weekStartsOn]))), () => ( 0));
44970
44960
  const originalDate = toDate2(date);
44971
44961
  if (!isValid(originalDate)) {
44972
44962
  throw new RangeError("Invalid time value");
@@ -45007,7 +44997,7 @@ function format2(date, formatStr, options) {
45007
44997
  return parts.map((part) => {
45008
44998
  if (!part.isToken) return part.value;
45009
44999
  const token = part.value;
45010
- if (!_optionalChain([options, 'optionalAccess', _985 => _985.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _986 => _986.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
45000
+ if (!_optionalChain([options, 'optionalAccess', _987 => _987.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _988 => _988.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
45011
45001
  warnOrThrowProtectedError(token, formatStr, String(date));
45012
45002
  }
45013
45003
  const formatter = formatters[token[0]];
@@ -45213,7 +45203,7 @@ function ProgramCard({
45213
45203
  const itemDate2 = compactDate;
45214
45204
  const compactCover = coverImage || placeholderUrl || null;
45215
45205
  const typeMeta = compactTypeMeta();
45216
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _987 => _987.labels, 'optionalAccess', _988 => _988.singular])].filter(
45206
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _989 => _989.labels, 'optionalAccess', _990 => _990.singular])].filter(
45217
45207
  (s) => typeof s === "string" && s.length > 0
45218
45208
  );
45219
45209
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -45370,7 +45360,7 @@ function ProgramCard({
45370
45360
 
45371
45361
 
45372
45362
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
45373
- const goalsCount = _optionalChain([campaign, 'access', _989 => _989.goals, 'optionalAccess', _990 => _990.length]) || 0;
45363
+ const goalsCount = _optionalChain([campaign, 'access', _991 => _991.goals, 'optionalAccess', _992 => _992.length]) || 0;
45374
45364
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
45375
45365
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
45376
45366
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -45468,7 +45458,7 @@ function useChatCardItem(type, id) {
45468
45458
  queryKey: ["chat-card-item", type, id],
45469
45459
  queryFn: async () => {
45470
45460
  if (!url) return null;
45471
- const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url);
45461
+ const res = await _chunk3SNDISENcjs.embedAuthedFetch.call(void 0, url);
45472
45462
  if (!res.ok) return null;
45473
45463
  const data = await res.json();
45474
45464
  const items = extractItems(data);
@@ -45532,7 +45522,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
45532
45522
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
45533
45523
  const safePath = sanitizePath(row.path);
45534
45524
  if (safePath) {
45535
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _991 => _991.docPlatformTargets, 'optionalAccess', _992 => _992[row.documentType]]) : void 0;
45525
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _993 => _993.docPlatformTargets, 'optionalAccess', _994 => _994[row.documentType]]) : void 0;
45536
45526
  if (docTarget) {
45537
45527
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
45538
45528
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -45747,8 +45737,8 @@ function cardMenuGroups(href, discuss, openDetails) {
45747
45737
  if (href) {
45748
45738
  items.push({
45749
45739
  id: "open-details",
45750
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _993 => _993.label]), () => ( "Open Details")),
45751
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _994 => _994.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
45740
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _995 => _995.label]), () => ( "Open Details")),
45741
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _996 => _996.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
45752
45742
  // Main row → open the entity (same tab, soft Link nav).
45753
45743
  href,
45754
45744
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -45778,8 +45768,8 @@ function HubspotTicketChatCard({
45778
45768
  isNewTab,
45779
45769
  discuss
45780
45770
  }) {
45781
- const status = typeof _optionalChain([chatRef, 'access', _995 => _995.metadata, 'optionalAccess', _996 => _996.status]) === "string" ? chatRef.metadata.status : void 0;
45782
- const statusLabel = typeof _optionalChain([chatRef, 'access', _997 => _997.metadata, 'optionalAccess', _998 => _998.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
45771
+ const status = typeof _optionalChain([chatRef, 'access', _997 => _997.metadata, 'optionalAccess', _998 => _998.status]) === "string" ? chatRef.metadata.status : void 0;
45772
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _999 => _999.metadata, 'optionalAccess', _1000 => _1000.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
45783
45773
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
45784
45774
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45785
45775
  MingoInfoCard,
@@ -45802,7 +45792,7 @@ function FaqChatCard({
45802
45792
  isNewTab,
45803
45793
  discuss
45804
45794
  }) {
45805
- const section = typeof _optionalChain([chatRef, 'access', _999 => _999.metadata, 'optionalAccess', _1000 => _1000.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
45795
+ const section = typeof _optionalChain([chatRef, 'access', _1001 => _1001.metadata, 'optionalAccess', _1002 => _1002.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
45806
45796
  const statusLabel = section && section.length > 0 ? section : "FAQ";
45807
45797
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45808
45798
  MingoInfoCard,
@@ -45822,7 +45812,7 @@ function SlackChatCard({
45822
45812
  isNewTab,
45823
45813
  discuss
45824
45814
  }) {
45825
- const channelName = typeof _optionalChain([chatRef, 'access', _1001 => _1001.metadata, 'optionalAccess', _1002 => _1002.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
45815
+ const channelName = typeof _optionalChain([chatRef, 'access', _1003 => _1003.metadata, 'optionalAccess', _1004 => _1004.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
45826
45816
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
45827
45817
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
45828
45818
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -45862,7 +45852,7 @@ function GenericFinancialChatCard({
45862
45852
  isNewTab,
45863
45853
  discuss
45864
45854
  }) {
45865
- const subtitle = typeof _optionalChain([chatRef, 'access', _1003 => _1003.metadata, 'optionalAccess', _1004 => _1004.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
45855
+ const subtitle = typeof _optionalChain([chatRef, 'access', _1005 => _1005.metadata, 'optionalAccess', _1006 => _1006.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
45866
45856
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45867
45857
  MingoInfoCard,
45868
45858
  {
@@ -45931,12 +45921,12 @@ function ProductReleaseChatCard({
45931
45921
  discuss
45932
45922
  }) {
45933
45923
  const releaseProps = buildProps(item);
45934
- const status = _optionalChain([item, 'optionalAccess', _1005 => _1005.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
45924
+ const status = _optionalChain([item, 'optionalAccess', _1007 => _1007.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
45935
45925
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45936
45926
  EntityMingoCard,
45937
45927
  {
45938
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1006 => _1006.title]), () => ( "")),
45939
- description: _optionalChain([item, 'optionalAccess', _1007 => _1007.summary]) || releaseProps.formattedDate || void 0,
45928
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1008 => _1008.title]), () => ( "")),
45929
+ description: _optionalChain([item, 'optionalAccess', _1009 => _1009.summary]) || releaseProps.formattedDate || void 0,
45940
45930
  cover: releaseProps.coverImage || void 0,
45941
45931
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
45942
45932
  status,
@@ -45953,17 +45943,17 @@ function CampaignChatCard({
45953
45943
  isNewTab,
45954
45944
  discuss
45955
45945
  }) {
45956
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1008 => _1008.goals])) ? item.goals.length : 0;
45946
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1010 => _1010.goals])) ? item.goals.length : 0;
45957
45947
  const meta = [
45958
- _optionalChain([item, 'optionalAccess', _1009 => _1009.start_date]) ? formatDateShort(item.start_date) : null,
45948
+ _optionalChain([item, 'optionalAccess', _1011 => _1011.start_date]) ? formatDateShort(item.start_date) : null,
45959
45949
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
45960
45950
  "Marketing campaign"
45961
45951
  ].filter(Boolean).join(" \xB7 ");
45962
45952
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45963
45953
  EntityMingoCard,
45964
45954
  {
45965
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1010 => _1010.name]), () => ( "")),
45966
- description: meta || _optionalChain([item, 'optionalAccess', _1011 => _1011.description]) || void 0,
45955
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1012 => _1012.name]), () => ( "")),
45956
+ description: meta || _optionalChain([item, 'optionalAccess', _1013 => _1013.description]) || void 0,
45967
45957
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
45968
45958
  chatRef,
45969
45959
  isNewTab,
@@ -46016,14 +46006,14 @@ function BlogChatCard({
46016
46006
  hasEmbeddedVideo,
46017
46007
  discuss
46018
46008
  }) {
46019
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1012 => _1012.categories])) ? _optionalChain([item, 'access', _1013 => _1013.categories, 'access', _1014 => _1014.find, 'call', _1015 => _1015((c) => c && c.name), 'optionalAccess', _1016 => _1016.name]) : void 0;
46009
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1014 => _1014.categories])) ? _optionalChain([item, 'access', _1015 => _1015.categories, 'access', _1016 => _1016.find, 'call', _1017 => _1017((c) => c && c.name), 'optionalAccess', _1018 => _1018.name]) : void 0;
46020
46010
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
46021
46011
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46022
46012
  EntityMingoCard,
46023
46013
  {
46024
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1017 => _1017.title]), () => ( "")),
46025
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1018 => _1018.summary]), () => ( void 0)),
46026
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1019 => _1019.featured_image]), ogPlaceholder),
46014
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1019 => _1019.title]), () => ( "")),
46015
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1020 => _1020.summary]), () => ( void 0)),
46016
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1021 => _1021.featured_image]), ogPlaceholder),
46027
46017
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
46028
46018
  status,
46029
46019
  chatRef,
@@ -46040,13 +46030,13 @@ function CaseStudyChatCard({
46040
46030
  ogPlaceholder,
46041
46031
  discuss
46042
46032
  }) {
46043
- const meta = [_optionalChain([item, 'optionalAccess', _1020 => _1020.msp, 'optionalAccess', _1021 => _1021.name]), _optionalChain([item, 'optionalAccess', _1022 => _1022.user, 'optionalAccess', _1023 => _1023.full_name])].filter(Boolean).join(" \xB7 ");
46033
+ const meta = [_optionalChain([item, 'optionalAccess', _1022 => _1022.msp, 'optionalAccess', _1023 => _1023.name]), _optionalChain([item, 'optionalAccess', _1024 => _1024.user, 'optionalAccess', _1025 => _1025.full_name])].filter(Boolean).join(" \xB7 ");
46044
46034
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46045
46035
  EntityMingoCard,
46046
46036
  {
46047
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1024 => _1024.title]), () => ( "")),
46048
- description: _optionalChain([item, 'optionalAccess', _1025 => _1025.summary]) || meta || void 0,
46049
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1026 => _1026.featured_image]), ogPlaceholder),
46037
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1026 => _1026.title]), () => ( "")),
46038
+ description: _optionalChain([item, 'optionalAccess', _1027 => _1027.summary]) || meta || void 0,
46039
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1028 => _1028.featured_image]), ogPlaceholder),
46050
46040
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
46051
46041
  status: { label: "Case study", variant: "grey" },
46052
46042
  chatRef,
@@ -46063,13 +46053,13 @@ function CustomerInterviewChatCard({
46063
46053
  ogPlaceholder,
46064
46054
  discuss
46065
46055
  }) {
46066
- const meta = [_optionalChain([item, 'optionalAccess', _1027 => _1027.user, 'optionalAccess', _1028 => _1028.full_name]), _optionalChain([item, 'optionalAccess', _1029 => _1029.msp, 'optionalAccess', _1030 => _1030.name])].filter(Boolean).join(" \xB7 ");
46056
+ const meta = [_optionalChain([item, 'optionalAccess', _1029 => _1029.user, 'optionalAccess', _1030 => _1030.full_name]), _optionalChain([item, 'optionalAccess', _1031 => _1031.msp, 'optionalAccess', _1032 => _1032.name])].filter(Boolean).join(" \xB7 ");
46067
46057
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46068
46058
  EntityMingoCard,
46069
46059
  {
46070
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1031 => _1031.title]), () => ( "")),
46071
- description: _optionalChain([item, 'optionalAccess', _1032 => _1032.video_summary]) || meta || void 0,
46072
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1033 => _1033.featured_image]), ogPlaceholder),
46060
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1033 => _1033.title]), () => ( "")),
46061
+ description: _optionalChain([item, 'optionalAccess', _1034 => _1034.video_summary]) || meta || void 0,
46062
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1035 => _1035.featured_image]), ogPlaceholder),
46073
46063
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
46074
46064
  status: { label: "Interview", variant: "grey" },
46075
46065
  chatRef,
@@ -46086,13 +46076,13 @@ function InvestorUpdateChatCard({
46086
46076
  ogPlaceholder,
46087
46077
  discuss
46088
46078
  }) {
46089
- const title = _optionalChain([item, 'optionalAccess', _1034 => _1034.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1035 => _1035.update_number]), () => ( "?"))}`;
46079
+ const title = _optionalChain([item, 'optionalAccess', _1036 => _1036.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1037 => _1037.update_number]), () => ( "?"))}`;
46090
46080
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46091
46081
  EntityMingoCard,
46092
46082
  {
46093
46083
  title,
46094
- description: _optionalChain([item, 'optionalAccess', _1036 => _1036.strategic_update]) || _optionalChain([item, 'optionalAccess', _1037 => _1037.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1038 => _1038.period_start]), _optionalChain([item, 'optionalAccess', _1039 => _1039.period_end])) || void 0,
46095
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1040 => _1040.featured_image]), ogPlaceholder),
46084
+ description: _optionalChain([item, 'optionalAccess', _1038 => _1038.strategic_update]) || _optionalChain([item, 'optionalAccess', _1039 => _1039.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1040 => _1040.period_start]), _optionalChain([item, 'optionalAccess', _1041 => _1041.period_end])) || void 0,
46085
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1042 => _1042.featured_image]), ogPlaceholder),
46096
46086
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
46097
46087
  status: { label: "Investor update", variant: "grey" },
46098
46088
  chatRef,
@@ -46109,12 +46099,12 @@ function OnboardingGuideChatCard({
46109
46099
  ogPlaceholder,
46110
46100
  discuss
46111
46101
  }) {
46112
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1041 => _1041.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1042 => _1042.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1043 => _1043.og_image_url]), ogPlaceholder)));
46102
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1043 => _1043.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1044 => _1044.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1045 => _1045.og_image_url]), ogPlaceholder)));
46113
46103
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46114
46104
  EntityMingoCard,
46115
46105
  {
46116
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1044 => _1044.title]), () => ( "")),
46117
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1045 => _1045.summary]), () => ( _optionalChain([item, 'optionalAccess', _1046 => _1046.description]))), () => ( void 0)),
46106
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1046 => _1046.title]), () => ( "")),
46107
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1047 => _1047.summary]), () => ( _optionalChain([item, 'optionalAccess', _1048 => _1048.description]))), () => ( void 0)),
46118
46108
  cover,
46119
46109
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
46120
46110
  status: { label: "Guide", variant: "grey" },
@@ -46135,25 +46125,25 @@ function ProgramChatCard({
46135
46125
  discuss
46136
46126
  }) {
46137
46127
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 });
46138
- const isScheduled = _optionalChain([item, 'optionalAccess', _1047 => _1047.status]) === "scheduled";
46128
+ const isScheduled = _optionalChain([item, 'optionalAccess', _1049 => _1049.status]) === "scheduled";
46139
46129
  let typeMeta;
46140
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1048 => _1048.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
46130
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1050 => _1050.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
46141
46131
  typeMeta = formatDurationCompact(item.duration_seconds);
46142
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1049 => _1049.location_name]) === "string" && item.location_name.trim().length > 0) {
46132
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1051 => _1051.location_name]) === "string" && item.location_name.trim().length > 0) {
46143
46133
  typeMeta = item.location_name;
46144
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1050 => _1050.start_at])) {
46134
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1052 => _1052.start_at])) {
46145
46135
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
46146
46136
  const dur = formatDurationFromRange(item.start_at, item.end_at);
46147
46137
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
46148
46138
  }
46149
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1051 => _1051.date]), () => ( null)), { fallback: "", timezone: "local" });
46139
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1053 => _1053.date]), () => ( null)), { fallback: "", timezone: "local" });
46150
46140
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
46151
46141
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46152
46142
  EntityMingoCard,
46153
46143
  {
46154
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1052 => _1052.title]), () => ( "")),
46155
- description: meta || _optionalChain([item, 'optionalAccess', _1053 => _1053.description]) || void 0,
46156
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1054 => _1054.cover_url]), ogPlaceholder),
46144
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1054 => _1054.title]), () => ( "")),
46145
+ description: meta || _optionalChain([item, 'optionalAccess', _1055 => _1055.description]) || void 0,
46146
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1056 => _1056.cover_url]), ogPlaceholder),
46157
46147
  fallbackIcon: icon,
46158
46148
  status: { label, variant: "grey" },
46159
46149
  chatRef,
@@ -46170,10 +46160,10 @@ function RoadmapChatCard({
46170
46160
  cardType,
46171
46161
  discuss
46172
46162
  }) {
46173
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1055 => _1055.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
46174
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1056 => _1056.customItemId]) != null;
46163
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1057 => _1057.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
46164
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1058 => _1058.customItemId]) != null;
46175
46165
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MapIcon, { size: 24 });
46176
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1057 => _1057.customItemId]), className: "size-6" }) : logoUrl ? (
46166
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1059 => _1059.customItemId]), className: "size-6" }) : logoUrl ? (
46177
46167
  // Contained (not full-bleed) so the integration logo keeps its aspect
46178
46168
  // ratio inside the bordered icon box — matches RoadmapCard.
46179
46169
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -46181,10 +46171,10 @@ function RoadmapChatCard({
46181
46171
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46182
46172
  EntityMingoCard,
46183
46173
  {
46184
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1058 => _1058.title]), () => ( "")),
46185
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1059 => _1059.description]), () => ( void 0)),
46174
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1060 => _1060.title]), () => ( "")),
46175
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1061 => _1061.description]), () => ( void 0)),
46186
46176
  fallbackIcon: icon,
46187
- status: statusPill(_optionalChain([item, 'optionalAccess', _1060 => _1060.status])),
46177
+ status: statusPill(_optionalChain([item, 'optionalAccess', _1062 => _1062.status])),
46188
46178
  chatRef,
46189
46179
  isNewTab,
46190
46180
  discuss,
@@ -46270,7 +46260,7 @@ function programRegistryEntries() {
46270
46260
  discuss: opts.discuss,
46271
46261
  configKey: cfg.configKey,
46272
46262
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
46273
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1061 => _1061.extras, 'optionalAccess', _1062 => _1062.buildOgPlaceholderUrl, 'optionalCall', _1063 => _1063(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1064 => _1064.title]), () => ( "")))]), () => ( null))
46263
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1063 => _1063.extras, 'optionalAccess', _1064 => _1064.buildOgPlaceholderUrl, 'optionalCall', _1065 => _1065(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1066 => _1066.title]), () => ( "")))]), () => ( null))
46274
46264
  }
46275
46265
  )
46276
46266
  };
@@ -46422,8 +46412,8 @@ var CHAT_CARD_REGISTRY = {
46422
46412
  chatRef,
46423
46413
  isNewTab: opts.isNewTab,
46424
46414
  discuss: opts.discuss,
46425
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1065 => _1065.extras, 'optionalAccess', _1066 => _1066.buildOgPlaceholderUrl, 'optionalCall', _1067 => _1067(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1068 => _1068.title]), () => ( "")))]), () => ( null)),
46426
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1069 => _1069.metadata, 'optionalAccess', _1070 => _1070.hasEmbeddedVideo]) === true
46415
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1067 => _1067.extras, 'optionalAccess', _1068 => _1068.buildOgPlaceholderUrl, 'optionalCall', _1069 => _1069(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1070 => _1070.title]), () => ( "")))]), () => ( null)),
46416
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1071 => _1071.metadata, 'optionalAccess', _1072 => _1072.hasEmbeddedVideo]) === true
46427
46417
  }
46428
46418
  )
46429
46419
  },
@@ -46440,7 +46430,7 @@ var CHAT_CARD_REGISTRY = {
46440
46430
  chatRef,
46441
46431
  isNewTab: opts.isNewTab,
46442
46432
  discuss: opts.discuss,
46443
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1071 => _1071.extras, 'optionalAccess', _1072 => _1072.buildOgPlaceholderUrl, 'optionalCall', _1073 => _1073(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1074 => _1074.title]), () => ( "")))]), () => ( null))
46433
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1073 => _1073.extras, 'optionalAccess', _1074 => _1074.buildOgPlaceholderUrl, 'optionalCall', _1075 => _1075(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1076 => _1076.title]), () => ( "")))]), () => ( null))
46444
46434
  }
46445
46435
  )
46446
46436
  },
@@ -46457,7 +46447,7 @@ var CHAT_CARD_REGISTRY = {
46457
46447
  chatRef,
46458
46448
  isNewTab: opts.isNewTab,
46459
46449
  discuss: opts.discuss,
46460
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1075 => _1075.extras, 'optionalAccess', _1076 => _1076.buildOgPlaceholderUrl, 'optionalCall', _1077 => _1077(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1078 => _1078.title]), () => ( "")))]), () => ( null))
46450
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1077 => _1077.extras, 'optionalAccess', _1078 => _1078.buildOgPlaceholderUrl, 'optionalCall', _1079 => _1079(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1080 => _1080.title]), () => ( "")))]), () => ( null))
46461
46451
  }
46462
46452
  )
46463
46453
  },
@@ -46468,7 +46458,7 @@ var CHAT_CARD_REGISTRY = {
46468
46458
  bareInline: true,
46469
46459
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
46470
46460
  render: (item, chatRef, opts) => {
46471
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1079 => _1079.extras, 'optionalAccess', _1080 => _1080.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
46461
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1081 => _1081.extras, 'optionalAccess', _1082 => _1082.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
46472
46462
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46473
46463
  ProductReleaseChatCard,
46474
46464
  {
@@ -46495,7 +46485,7 @@ var CHAT_CARD_REGISTRY = {
46495
46485
  chatRef,
46496
46486
  isNewTab: opts.isNewTab,
46497
46487
  discuss: opts.discuss,
46498
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1081 => _1081.extras, 'optionalAccess', _1082 => _1082.buildOgPlaceholderUrl, 'optionalCall', _1083 => _1083(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1084 => _1084.title]), () => ( "")))]), () => ( null))
46488
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1083 => _1083.extras, 'optionalAccess', _1084 => _1084.buildOgPlaceholderUrl, 'optionalCall', _1085 => _1085(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1086 => _1086.title]), () => ( "")))]), () => ( null))
46499
46489
  }
46500
46490
  )
46501
46491
  },
@@ -46514,7 +46504,7 @@ var CHAT_CARD_REGISTRY = {
46514
46504
  chatRef,
46515
46505
  isNewTab: opts.isNewTab,
46516
46506
  discuss: opts.discuss,
46517
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1085 => _1085.extras, 'optionalAccess', _1086 => _1086.buildOgPlaceholderUrl, 'optionalCall', _1087 => _1087(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1088 => _1088.title]), () => ( "")))]), () => ( null))
46507
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1087 => _1087.extras, 'optionalAccess', _1088 => _1088.buildOgPlaceholderUrl, 'optionalCall', _1089 => _1089(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1090 => _1090.title]), () => ( "")))]), () => ( null))
46518
46508
  }
46519
46509
  )
46520
46510
  },
@@ -46526,7 +46516,7 @@ var CHAT_CARD_REGISTRY = {
46526
46516
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
46527
46517
  // No public viewer — synthesize the hub-internal admin URL post-fetch
46528
46518
  // so the wrapper + isNewTab computation see the actual destination.
46529
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1089 => _1089.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
46519
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1091 => _1091.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
46530
46520
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46531
46521
  CampaignChatCard,
46532
46522
  {
@@ -46552,12 +46542,12 @@ function ChatCardNavWrap({
46552
46542
  const onClickCapture = (e) => {
46553
46543
  if (!href) return;
46554
46544
  const targetEl = e.target;
46555
- if (_optionalChain([targetEl, 'optionalAccess', _1090 => _1090.closest, 'optionalCall', _1091 => _1091("button")])) return;
46556
- if (!_optionalChain([targetEl, 'optionalAccess', _1092 => _1092.closest, 'optionalCall', _1093 => _1093("a")])) return;
46545
+ if (_optionalChain([targetEl, 'optionalAccess', _1092 => _1092.closest, 'optionalCall', _1093 => _1093("button")])) return;
46546
+ if (!_optionalChain([targetEl, 'optionalAccess', _1094 => _1094.closest, 'optionalCall', _1095 => _1095("a")])) return;
46557
46547
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
46558
46548
  if (!handled) return;
46559
46549
  e.stopPropagation();
46560
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1094 => _1094.closeChat])) panel.closeChat();
46550
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1096 => _1096.closeChat])) panel.closeChat();
46561
46551
  };
46562
46552
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
46563
46553
  }
@@ -46579,7 +46569,7 @@ function ChatCardLoader({
46579
46569
  title: chatRef.title,
46580
46570
  externalUrl: chatRef.url,
46581
46571
  targetPlatform: chatRef.targetPlatform,
46582
- path: typeof _optionalChain([chatRef, 'access', _1095 => _1095.metadata, 'optionalAccess', _1096 => _1096.path]) === "string" ? chatRef.metadata.path : null
46572
+ path: typeof _optionalChain([chatRef, 'access', _1097 => _1097.metadata, 'optionalAccess', _1098 => _1098.path]) === "string" ? chatRef.metadata.path : null
46583
46573
  },
46584
46574
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
46585
46575
  );
@@ -46593,7 +46583,7 @@ function ChatCardLoader({
46593
46583
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
46594
46584
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
46595
46585
  const { item, isLoading } = useChatCardItem(
46596
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1097 => _1097.contentRefType]), () => ( "")),
46586
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1099 => _1099.contentRefType]), () => ( "")),
46597
46587
  fetchEntry ? resolvedChatRef.id : ""
46598
46588
  );
46599
46589
  if (!entry) return null;
@@ -46624,7 +46614,7 @@ function ChatCardLoader({
46624
46614
  isNewTab,
46625
46615
  discuss
46626
46616
  };
46627
- const path = typeof _optionalChain([finalChatRef, 'access', _1098 => _1098.metadata, 'optionalAccess', _1099 => _1099.path]) === "string" ? finalChatRef.metadata.path : null;
46617
+ const path = typeof _optionalChain([finalChatRef, 'access', _1100 => _1100.metadata, 'optionalAccess', _1101 => _1101.path]) === "string" ? finalChatRef.metadata.path : null;
46628
46618
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
46629
46619
  ChatCardNavWrap,
46630
46620
  {
@@ -47010,7 +47000,7 @@ function useJetStreamDialogSubscription({
47010
47000
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
47011
47001
  conn: sharedConn,
47012
47002
  wsUrl,
47013
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1100 => _1100.current, 'optionalCall', _1101 => _1101()]),
47003
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1102 => _1102.current, 'optionalCall', _1103 => _1103()]),
47014
47004
  backoff: reconnectionBackoffRef.current,
47015
47005
  getFreshUrl: () => getNatsWsUrlRef.current(),
47016
47006
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -47025,7 +47015,7 @@ function useJetStreamDialogSubscription({
47025
47015
  setReconnectionCount((c) => c + 1);
47026
47016
  }
47027
47017
  hadConnectionBeforeRef.current = true;
47028
- _optionalChain([onConnectRef, 'access', _1102 => _1102.current, 'optionalCall', _1103 => _1103()]);
47018
+ _optionalChain([onConnectRef, 'access', _1104 => _1104.current, 'optionalCall', _1105 => _1105()]);
47029
47019
  }
47030
47020
  if (status === "error") {
47031
47021
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -47035,7 +47025,7 @@ function useJetStreamDialogSubscription({
47035
47025
  setIsConnected(false);
47036
47026
  setIsSubscribed(false);
47037
47027
  tearDownSubscription();
47038
- _optionalChain([onDisconnectRef, 'access', _1104 => _1104.current, 'optionalCall', _1105 => _1105()]);
47028
+ _optionalChain([onDisconnectRef, 'access', _1106 => _1106.current, 'optionalCall', _1107 => _1107()]);
47039
47029
  }
47040
47030
  }
47041
47031
  });
@@ -47114,7 +47104,7 @@ function useJetStreamDialogSubscription({
47114
47104
  }
47115
47105
  subscriptionRef.current = handle;
47116
47106
  setIsSubscribed(true);
47117
- _optionalChain([onSubscribedRef, 'access', _1106 => _1106.current, 'optionalCall', _1107 => _1107()]);
47107
+ _optionalChain([onSubscribedRef, 'access', _1108 => _1108.current, 'optionalCall', _1109 => _1109()]);
47118
47108
  } catch (e52) {
47119
47109
  if (!cancelled) {
47120
47110
  setIsSubscribed(false);
@@ -47227,20 +47217,20 @@ function useNatsDialogSubscription({
47227
47217
  const tearDownSubscriptions = () => {
47228
47218
  subscriptionRefs.current.forEach((sub) => {
47229
47219
  try {
47230
- _optionalChain([sub, 'optionalAccess', _1108 => _1108.unsubscribe, 'call', _1109 => _1109()]);
47220
+ _optionalChain([sub, 'optionalAccess', _1110 => _1110.unsubscribe, 'call', _1111 => _1111()]);
47231
47221
  } catch (e54) {
47232
47222
  }
47233
47223
  });
47234
47224
  subscriptionRefs.current.clear();
47235
47225
  lastSubscribedDialogIdRef.current = null;
47236
- _optionalChain([abortControllerRef, 'access', _1110 => _1110.current, 'optionalAccess', _1111 => _1111.abort, 'call', _1112 => _1112()]);
47226
+ _optionalChain([abortControllerRef, 'access', _1112 => _1112.current, 'optionalAccess', _1113 => _1113.abort, 'call', _1114 => _1114()]);
47237
47227
  abortControllerRef.current = null;
47238
47228
  };
47239
47229
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
47240
47230
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
47241
47231
  conn: sharedConn,
47242
47232
  wsUrl,
47243
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1113 => _1113.current, 'optionalCall', _1114 => _1114()]),
47233
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1115 => _1115.current, 'optionalCall', _1116 => _1116()]),
47244
47234
  backoff: reconnectionBackoffRef.current,
47245
47235
  getFreshUrl: () => getNatsWsUrlRef.current(),
47246
47236
  shouldRetryOn: isDisconnectStatus,
@@ -47251,7 +47241,7 @@ function useNatsDialogSubscription({
47251
47241
  setReconnectionCount((c) => c + 1);
47252
47242
  }
47253
47243
  hadConnectionBeforeRef.current = true;
47254
- _optionalChain([onConnectRef, 'access', _1115 => _1115.current, 'optionalCall', _1116 => _1116()]);
47244
+ _optionalChain([onConnectRef, 'access', _1117 => _1117.current, 'optionalCall', _1118 => _1118()]);
47255
47245
  }
47256
47246
  if (status === "error") {
47257
47247
  console.warn("[NATS] protocol error:", evt.data);
@@ -47261,7 +47251,7 @@ function useNatsDialogSubscription({
47261
47251
  setIsConnected(false);
47262
47252
  setIsSubscribed(false);
47263
47253
  tearDownSubscriptions();
47264
- _optionalChain([onDisconnectRef, 'access', _1117 => _1117.current, 'optionalCall', _1118 => _1118()]);
47254
+ _optionalChain([onDisconnectRef, 'access', _1119 => _1119.current, 'optionalCall', _1120 => _1120()]);
47265
47255
  }
47266
47256
  }
47267
47257
  });
@@ -47292,13 +47282,13 @@ function useNatsDialogSubscription({
47292
47282
  setIsSubscribed(false);
47293
47283
  subscriptionRefs.current.forEach((sub) => {
47294
47284
  try {
47295
- _optionalChain([sub, 'optionalAccess', _1119 => _1119.unsubscribe, 'call', _1120 => _1120()]);
47285
+ _optionalChain([sub, 'optionalAccess', _1121 => _1121.unsubscribe, 'call', _1122 => _1122()]);
47296
47286
  } catch (e55) {
47297
47287
  }
47298
47288
  });
47299
47289
  subscriptionRefs.current.clear();
47300
47290
  lastSubscribedDialogIdRef.current = null;
47301
- _optionalChain([abortControllerRef, 'access', _1121 => _1121.current, 'optionalAccess', _1122 => _1122.abort, 'call', _1123 => _1123()]);
47291
+ _optionalChain([abortControllerRef, 'access', _1123 => _1123.current, 'optionalAccess', _1124 => _1124.abort, 'call', _1125 => _1125()]);
47302
47292
  abortControllerRef.current = null;
47303
47293
  }
47304
47294
  return;
@@ -47310,12 +47300,12 @@ function useNatsDialogSubscription({
47310
47300
  if (subscriptionRefs.current.size > 0) {
47311
47301
  subscriptionRefs.current.forEach((sub) => {
47312
47302
  try {
47313
- _optionalChain([sub, 'optionalAccess', _1124 => _1124.unsubscribe, 'call', _1125 => _1125()]);
47303
+ _optionalChain([sub, 'optionalAccess', _1126 => _1126.unsubscribe, 'call', _1127 => _1127()]);
47314
47304
  } catch (e56) {
47315
47305
  }
47316
47306
  });
47317
47307
  subscriptionRefs.current.clear();
47318
- _optionalChain([abortControllerRef, 'access', _1126 => _1126.current, 'optionalAccess', _1127 => _1127.abort, 'call', _1128 => _1128()]);
47308
+ _optionalChain([abortControllerRef, 'access', _1128 => _1128.current, 'optionalAccess', _1129 => _1129.abort, 'call', _1130 => _1130()]);
47319
47309
  }
47320
47310
  abortControllerRef.current = new AbortController();
47321
47311
  const abort = abortControllerRef.current;
@@ -47347,7 +47337,7 @@ function useNatsDialogSubscription({
47347
47337
  });
47348
47338
  lastSubscribedDialogIdRef.current = dialogId;
47349
47339
  setIsSubscribed(true);
47350
- _optionalChain([onSubscribedRef, 'access', _1129 => _1129.current, 'optionalCall', _1130 => _1130()]);
47340
+ _optionalChain([onSubscribedRef, 'access', _1131 => _1131.current, 'optionalCall', _1132 => _1132()]);
47351
47341
  };
47352
47342
  if (isConnectedRef.current) {
47353
47343
  createSubscriptions();
@@ -47357,7 +47347,7 @@ function useNatsDialogSubscription({
47357
47347
  abort.abort();
47358
47348
  subscriptionRefs.current.forEach((sub) => {
47359
47349
  try {
47360
- _optionalChain([sub, 'optionalAccess', _1131 => _1131.unsubscribe, 'call', _1132 => _1132()]);
47350
+ _optionalChain([sub, 'optionalAccess', _1133 => _1133.unsubscribe, 'call', _1134 => _1134()]);
47361
47351
  } catch (e58) {
47362
47352
  }
47363
47353
  });
@@ -47398,7 +47388,7 @@ function useNatsDialogSubscription({
47398
47388
  });
47399
47389
  lastSubscribedDialogIdRef.current = dialogId2;
47400
47390
  setIsSubscribed(true);
47401
- _optionalChain([onSubscribedRef, 'access', _1133 => _1133.current, 'optionalCall', _1134 => _1134()]);
47391
+ _optionalChain([onSubscribedRef, 'access', _1135 => _1135.current, 'optionalCall', _1136 => _1136()]);
47402
47392
  } else if (subscriptionRefs.current.size > 0) {
47403
47393
  setIsSubscribed(true);
47404
47394
  }
@@ -47406,10 +47396,10 @@ function useNatsDialogSubscription({
47406
47396
  return { isConnected, isSubscribed, reconnectionCount };
47407
47397
  }
47408
47398
  function buildNatsWsUrl(apiBaseUrl, options) {
47409
- const path = _optionalChain([options, 'optionalAccess', _1135 => _1135.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
47399
+ const path = _optionalChain([options, 'optionalAccess', _1137 => _1137.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
47410
47400
  const u = new URL(path, apiBaseUrl);
47411
47401
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
47412
- if (_optionalChain([options, 'optionalAccess', _1136 => _1136.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1137 => _1137.token])) {
47402
+ if (_optionalChain([options, 'optionalAccess', _1138 => _1138.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1139 => _1139.token])) {
47413
47403
  u.searchParams.set("authorization", options.token);
47414
47404
  }
47415
47405
  return u.toString();
@@ -47545,7 +47535,7 @@ function parseChunkToAction(chunk) {
47545
47535
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
47546
47536
  // historical path in `process-historical-messages.ts`) — keeps both
47547
47537
  // message sources producing an identical shape.
47548
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1138 => _1138.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1139 => _1139.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
47538
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1140 => _1140.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1141 => _1141.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
47549
47539
  };
47550
47540
  case MESSAGE_TYPE.TOKEN_USAGE:
47551
47541
  return {
@@ -47737,8 +47727,8 @@ var MessageSegmentAccumulator = class {
47737
47727
  type: "tool_execution",
47738
47728
  data: {
47739
47729
  ...toolData,
47740
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1140 => _1140.data, 'access', _1141 => _1141.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1142 => _1142.toolTitle]))),
47741
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1143 => _1143.parameters])
47730
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1142 => _1142.data, 'access', _1143 => _1143.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1144 => _1144.toolTitle]))),
47731
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1145 => _1145.parameters])
47742
47732
  }
47743
47733
  };
47744
47734
  if (existingIndex !== -1) {
@@ -47762,8 +47752,8 @@ var MessageSegmentAccumulator = class {
47762
47752
  if (seg.type !== "approval_batch") return seg;
47763
47753
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
47764
47754
  if (!hasCall) return seg;
47765
- const prev = _optionalChain([seg, 'access', _1144 => _1144.data, 'access', _1145 => _1145.executions, 'optionalAccess', _1146 => _1146[execId]]);
47766
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1147 => _1147.result]), success: _optionalChain([prev, 'optionalAccess', _1148 => _1148.success]) };
47755
+ const prev = _optionalChain([seg, 'access', _1146 => _1146.data, 'access', _1147 => _1147.executions, 'optionalAccess', _1148 => _1148[execId]]);
47756
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1149 => _1149.result]), success: _optionalChain([prev, 'optionalAccess', _1150 => _1150.success]) };
47767
47757
  matched = true;
47768
47758
  return {
47769
47759
  ...seg,
@@ -47885,10 +47875,10 @@ var MessageSegmentAccumulator = class {
47885
47875
  const segment = {
47886
47876
  type: "approval_request",
47887
47877
  data: {
47888
- command: _optionalChain([pendingApproval, 'optionalAccess', _1149 => _1149.command]) || "",
47889
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1150 => _1150.explanation]),
47878
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1151 => _1151.command]) || "",
47879
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1152 => _1152.explanation]),
47890
47880
  requestId,
47891
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1151 => _1151.approvalType]) || approvalType
47881
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1153 => _1153.approvalType]) || approvalType
47892
47882
  },
47893
47883
  status,
47894
47884
  onApprove: this.callbacks.onApprove,
@@ -48080,7 +48070,7 @@ function useRealtimeChunkProcessor(options) {
48080
48070
  if (initialState.escalatedApprovals) {
48081
48071
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
48082
48072
  initialState.escalatedApprovals.forEach((data, requestId) => {
48083
- _optionalChain([callbacks, 'access', _1152 => _1152.onEscalatedApproval, 'optionalCall', _1153 => _1153(requestId, data)]);
48073
+ _optionalChain([callbacks, 'access', _1154 => _1154.onEscalatedApproval, 'optionalCall', _1155 => _1155(requestId, data)]);
48084
48074
  });
48085
48075
  }
48086
48076
  hasEverStreamedRef.current = true;
@@ -48101,12 +48091,12 @@ function useRealtimeChunkProcessor(options) {
48101
48091
  if (!action) return;
48102
48092
  const accumulator = accumulatorRef.current;
48103
48093
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
48104
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1154 => _1154.onSegmentsUpdate, 'optionalCall', _1155 => _1155(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
48094
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1156 => _1156.onSegmentsUpdate, 'optionalCall', _1157 => _1157(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
48105
48095
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
48106
48096
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
48107
48097
  if (isInStreamRef.current) {
48108
48098
  isInStreamRef.current = false;
48109
- _optionalChain([callbacks, 'access', _1156 => _1156.onStreamEnd, 'optionalCall', _1157 => _1157()]);
48099
+ _optionalChain([callbacks, 'access', _1158 => _1158.onStreamEnd, 'optionalCall', _1159 => _1159()]);
48110
48100
  accumulator.resetSegments();
48111
48101
  }
48112
48102
  return;
@@ -48115,16 +48105,16 @@ function useRealtimeChunkProcessor(options) {
48115
48105
  case "message_start":
48116
48106
  isInStreamRef.current = true;
48117
48107
  hasEverStreamedRef.current = true;
48118
- _optionalChain([callbacks, 'access', _1158 => _1158.onStreamStart, 'optionalCall', _1159 => _1159()]);
48108
+ _optionalChain([callbacks, 'access', _1160 => _1160.onStreamStart, 'optionalCall', _1161 => _1161()]);
48119
48109
  accumulator.resetSegments();
48120
48110
  break;
48121
48111
  case "message_end":
48122
48112
  isInStreamRef.current = false;
48123
- _optionalChain([callbacks, 'access', _1160 => _1160.onStreamEnd, 'optionalCall', _1161 => _1161()]);
48113
+ _optionalChain([callbacks, 'access', _1162 => _1162.onStreamEnd, 'optionalCall', _1163 => _1163()]);
48124
48114
  accumulator.resetSegments();
48125
48115
  break;
48126
48116
  case "metadata":
48127
- _optionalChain([callbacks, 'access', _1162 => _1162.onMetadata, 'optionalCall', _1163 => _1163(action)]);
48117
+ _optionalChain([callbacks, 'access', _1164 => _1164.onMetadata, 'optionalCall', _1165 => _1165(action)]);
48128
48118
  break;
48129
48119
  case "text": {
48130
48120
  const segments = accumulator.appendText(action.text);
@@ -48167,7 +48157,7 @@ function useRealtimeChunkProcessor(options) {
48167
48157
  emitSegments(segments);
48168
48158
  } else {
48169
48159
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
48170
- _optionalChain([callbacks, 'access', _1164 => _1164.onEscalatedApproval, 'optionalCall', _1165 => _1165(requestId, { command, explanation, approvalType })]);
48160
+ _optionalChain([callbacks, 'access', _1166 => _1166.onEscalatedApproval, 'optionalCall', _1167 => _1167(requestId, { command, explanation, approvalType })]);
48171
48161
  }
48172
48162
  break;
48173
48163
  }
@@ -48179,13 +48169,13 @@ function useRealtimeChunkProcessor(options) {
48179
48169
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
48180
48170
  pendingEscalatedRef.current.set(requestId, {
48181
48171
  command: summary,
48182
- explanation: _optionalChain([required, 'optionalAccess', _1166 => _1166.toolExplanation]),
48172
+ explanation: _optionalChain([required, 'optionalAccess', _1168 => _1168.toolExplanation]),
48183
48173
  approvalType,
48184
48174
  toolCalls
48185
48175
  });
48186
- _optionalChain([callbacks, 'access', _1167 => _1167.onEscalatedApproval, 'optionalCall', _1168 => _1168(requestId, {
48176
+ _optionalChain([callbacks, 'access', _1169 => _1169.onEscalatedApproval, 'optionalCall', _1170 => _1170(requestId, {
48187
48177
  command: summary,
48188
- explanation: _optionalChain([required, 'optionalAccess', _1169 => _1169.toolExplanation]),
48178
+ explanation: _optionalChain([required, 'optionalAccess', _1171 => _1171.toolExplanation]),
48189
48179
  approvalType
48190
48180
  })]);
48191
48181
  break;
@@ -48215,7 +48205,7 @@ function useRealtimeChunkProcessor(options) {
48215
48205
  const status = approved ? "approved" : "rejected";
48216
48206
  if (escalatedData) {
48217
48207
  pendingEscalatedRef.current.delete(requestId);
48218
- _optionalChain([callbacks, 'access', _1170 => _1170.onEscalatedApprovalResult, 'optionalCall', _1171 => _1171(requestId, approved, {
48208
+ _optionalChain([callbacks, 'access', _1172 => _1172.onEscalatedApprovalResult, 'optionalCall', _1173 => _1173(requestId, approved, {
48219
48209
  command: escalatedData.command,
48220
48210
  explanation: escalatedData.explanation,
48221
48211
  approvalType: escalatedData.approvalType
@@ -48261,29 +48251,29 @@ function useRealtimeChunkProcessor(options) {
48261
48251
  emitSegments(accumulator.getSegments());
48262
48252
  }
48263
48253
  }
48264
- _optionalChain([callbacks, 'access', _1172 => _1172.onApprovalResolved, 'optionalCall', _1173 => _1173(requestId, status, approvalType, resolvedByName)]);
48254
+ _optionalChain([callbacks, 'access', _1174 => _1174.onApprovalResolved, 'optionalCall', _1175 => _1175(requestId, status, approvalType, resolvedByName)]);
48265
48255
  break;
48266
48256
  }
48267
48257
  case "error": {
48268
48258
  let message2;
48269
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1174 => _1174.details])) {
48259
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1176 => _1176.details])) {
48270
48260
  try {
48271
- message2 = _optionalChain([JSON, 'access', _1175 => _1175.parse, 'call', _1176 => _1176(action.details), 'optionalAccess', _1177 => _1177.error, 'optionalAccess', _1178 => _1178.message]);
48261
+ message2 = _optionalChain([JSON, 'access', _1177 => _1177.parse, 'call', _1178 => _1178(action.details), 'optionalAccess', _1179 => _1179.error, 'optionalAccess', _1180 => _1180.message]);
48272
48262
  } catch (e60) {
48273
48263
  message2 = action.details;
48274
48264
  }
48275
48265
  }
48276
48266
  const segments = accumulator.addError(action.error, message2);
48277
48267
  emitSegments(segments);
48278
- _optionalChain([callbacks, 'access', _1179 => _1179.onError, 'optionalCall', _1180 => _1180(action.error, message2)]);
48268
+ _optionalChain([callbacks, 'access', _1181 => _1181.onError, 'optionalCall', _1182 => _1182(action.error, message2)]);
48279
48269
  break;
48280
48270
  }
48281
48271
  case "system": {
48282
- _optionalChain([callbacks, 'access', _1181 => _1181.onSystemMessage, 'optionalCall', _1182 => _1182(action.text, { streamSeq })]);
48272
+ _optionalChain([callbacks, 'access', _1183 => _1183.onSystemMessage, 'optionalCall', _1184 => _1184(action.text, { streamSeq })]);
48283
48273
  break;
48284
48274
  }
48285
48275
  case "direct_message": {
48286
- _optionalChain([callbacks, 'access', _1183 => _1183.onDirectMessage, 'optionalCall', _1184 => _1184(action.text, {
48276
+ _optionalChain([callbacks, 'access', _1185 => _1185.onDirectMessage, 'optionalCall', _1186 => _1186(action.text, {
48287
48277
  ownerType: action.ownerType,
48288
48278
  displayName: action.displayName,
48289
48279
  userId: action.userId,
@@ -48292,7 +48282,7 @@ function useRealtimeChunkProcessor(options) {
48292
48282
  break;
48293
48283
  }
48294
48284
  case "message_request":
48295
- _optionalChain([callbacks, 'access', _1185 => _1185.onUserMessage, 'optionalCall', _1186 => _1186(action.text, {
48285
+ _optionalChain([callbacks, 'access', _1187 => _1187.onUserMessage, 'optionalCall', _1188 => _1188(action.text, {
48296
48286
  ownerType: action.ownerType,
48297
48287
  displayName: action.displayName,
48298
48288
  userId: action.userId,
@@ -48301,7 +48291,7 @@ function useRealtimeChunkProcessor(options) {
48301
48291
  })]);
48302
48292
  break;
48303
48293
  case "token_usage":
48304
- _optionalChain([callbacks, 'access', _1187 => _1187.onTokenUsage, 'optionalCall', _1188 => _1188(action.data)]);
48294
+ _optionalChain([callbacks, 'access', _1189 => _1189.onTokenUsage, 'optionalCall', _1190 => _1190(action.data)]);
48305
48295
  break;
48306
48296
  case "context_compaction_start": {
48307
48297
  const standalone = !isInStreamRef.current;
@@ -48316,7 +48306,7 @@ function useRealtimeChunkProcessor(options) {
48316
48306
  break;
48317
48307
  }
48318
48308
  case "dialog_closed":
48319
- _optionalChain([callbacks, 'access', _1189 => _1189.onDialogClosed, 'optionalCall', _1190 => _1190()]);
48309
+ _optionalChain([callbacks, 'access', _1191 => _1191.onDialogClosed, 'optionalCall', _1192 => _1192()]);
48320
48310
  break;
48321
48311
  default:
48322
48312
  break;
@@ -48358,12 +48348,12 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
48358
48348
  try {
48359
48349
  const url = new URL(commandsUrl, window.location.origin);
48360
48350
  if (prefix) url.searchParams.set("q", prefix);
48361
- const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48351
+ const res = await _chunk3SNDISENcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48362
48352
  if (!res.ok) return [];
48363
48353
  const data = await res.json();
48364
48354
  return _nullishCoalesce(data.commands, () => ( []));
48365
48355
  } catch (err) {
48366
- if (_optionalChain([err, 'optionalAccess', _1191 => _1191.name]) === "AbortError") throw err;
48356
+ if (_optionalChain([err, 'optionalAccess', _1193 => _1193.name]) === "AbortError") throw err;
48367
48357
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
48368
48358
  return [];
48369
48359
  }
@@ -48384,7 +48374,7 @@ function useSlashCommands(prefix, commandsUrl) {
48384
48374
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
48385
48375
  if (!cancelled) setCommands(next);
48386
48376
  } catch (err) {
48387
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1192 => _1192.name]) !== "AbortError") {
48377
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1194 => _1194.name]) !== "AbortError") {
48388
48378
  console.warn("[use-slash-commands] fetch failed:", err);
48389
48379
  }
48390
48380
  } finally {
@@ -48403,7 +48393,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
48403
48393
  const query = _reactquery.useQuery.call(void 0, {
48404
48394
  queryKey: ["chat-slash-commands", commandsUrl],
48405
48395
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
48406
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1193 => _1193.enabled]), () => ( true)),
48396
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1195 => _1195.enabled]), () => ( true)),
48407
48397
  staleTime: Infinity,
48408
48398
  gcTime: Infinity,
48409
48399
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -48433,7 +48423,7 @@ var EMPTY_STATE_FALLBACK = {
48433
48423
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
48434
48424
  try {
48435
48425
  const url = new URL(emptyStateUrl, window.location.origin);
48436
- const res = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48426
+ const res = await _chunk3SNDISENcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
48437
48427
  if (!res.ok) {
48438
48428
  if (res.status >= 500) {
48439
48429
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -48442,21 +48432,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
48442
48432
  }
48443
48433
  const data = await res.json();
48444
48434
  return {
48445
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1194 => _1194.name]), () => ( null)),
48446
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1195 => _1195.icon]), () => ( null)),
48447
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1196 => _1196.greeting]), () => ( null)),
48448
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1197 => _1197.enabledRagTableIds]), () => ( [])),
48449
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1198 => _1198.quickActions]), () => ( [])),
48450
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1199 => _1199.suggestedQueries]), () => ( []))
48435
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1196 => _1196.name]), () => ( null)),
48436
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1197 => _1197.icon]), () => ( null)),
48437
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1198 => _1198.greeting]), () => ( null)),
48438
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1199 => _1199.enabledRagTableIds]), () => ( [])),
48439
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1200 => _1200.quickActions]), () => ( [])),
48440
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1201 => _1201.suggestedQueries]), () => ( []))
48451
48441
  };
48452
48442
  } catch (err) {
48453
- if (_optionalChain([err, 'optionalAccess', _1200 => _1200.name]) === "AbortError") throw err;
48443
+ if (_optionalChain([err, 'optionalAccess', _1202 => _1202.name]) === "AbortError") throw err;
48454
48444
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
48455
48445
  return EMPTY_STATE_FALLBACK;
48456
48446
  }
48457
48447
  }
48458
48448
  function useEmptyStateConfig(emptyStateUrl, options) {
48459
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1201 => _1201.enabled]), () => ( true))) && !!emptyStateUrl;
48449
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1203 => _1203.enabled]), () => ( true))) && !!emptyStateUrl;
48460
48450
  const query = _reactquery.useQuery.call(void 0, {
48461
48451
  queryKey: ["chat-empty-state", emptyStateUrl],
48462
48452
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -48485,7 +48475,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
48485
48475
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
48486
48476
  function uploadWithProgress(url, file, token, onProgress, signal) {
48487
48477
  return new Promise((resolve, reject) => {
48488
- if (_optionalChain([signal, 'optionalAccess', _1202 => _1202.aborted])) {
48478
+ if (_optionalChain([signal, 'optionalAccess', _1204 => _1204.aborted])) {
48489
48479
  reject(new Error("Upload cancelled"));
48490
48480
  return;
48491
48481
  }
@@ -48499,7 +48489,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48499
48489
  xhr.removeEventListener("error", handleError);
48500
48490
  xhr.removeEventListener("abort", handleAbort);
48501
48491
  xhr.removeEventListener("timeout", handleTimeout);
48502
- _optionalChain([signal, 'optionalAccess', _1203 => _1203.removeEventListener, 'call', _1204 => _1204("abort", handleSignalAbort)]);
48492
+ _optionalChain([signal, 'optionalAccess', _1205 => _1205.removeEventListener, 'call', _1206 => _1206("abort", handleSignalAbort)]);
48503
48493
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
48504
48494
  };
48505
48495
  const handleProgress = (event) => {
@@ -48535,7 +48525,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
48535
48525
  const handleSignalAbort = () => {
48536
48526
  xhr.abort();
48537
48527
  };
48538
- _optionalChain([signal, 'optionalAccess', _1205 => _1205.addEventListener, 'call', _1206 => _1206("abort", handleSignalAbort, { once: true })]);
48528
+ _optionalChain([signal, 'optionalAccess', _1207 => _1207.addEventListener, 'call', _1208 => _1208("abort", handleSignalAbort, { once: true })]);
48539
48529
  xhr.upload.addEventListener("progress", handleProgress);
48540
48530
  xhr.addEventListener("load", handleLoad);
48541
48531
  xhr.addEventListener("error", handleError);
@@ -48579,12 +48569,12 @@ function useChatAttachments() {
48579
48569
  try {
48580
48570
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
48581
48571
  } catch (err) {
48582
- if (_optionalChain([ctrl, 'optionalAccess', _1207 => _1207.signal, 'access', _1208 => _1208.aborted])) return;
48572
+ if (_optionalChain([ctrl, 'optionalAccess', _1209 => _1209.signal, 'access', _1210 => _1210.aborted])) return;
48583
48573
  throw new Error(
48584
48574
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
48585
48575
  );
48586
48576
  }
48587
- if (_optionalChain([ctrl, 'optionalAccess', _1209 => _1209.signal, 'access', _1210 => _1210.aborted])) return;
48577
+ if (_optionalChain([ctrl, 'optionalAccess', _1211 => _1211.signal, 'access', _1212 => _1212.aborted])) return;
48588
48578
  if (!sniffed) {
48589
48579
  throw new Error("Unrecognized file format");
48590
48580
  }
@@ -48595,10 +48585,10 @@ function useChatAttachments() {
48595
48585
  );
48596
48586
  }
48597
48587
  updateOne(att.id, { status: "uploading", progress: 5 });
48598
- const urlResp = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48588
+ const urlResp = await _chunk3SNDISENcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
48599
48589
  method: "POST",
48600
48590
  headers: { "Content-Type": "application/json" },
48601
- signal: _optionalChain([ctrl, 'optionalAccess', _1211 => _1211.signal]),
48591
+ signal: _optionalChain([ctrl, 'optionalAccess', _1213 => _1213.signal]),
48602
48592
  body: JSON.stringify({
48603
48593
  fileName: att.file.name,
48604
48594
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -48624,9 +48614,9 @@ function useChatAttachments() {
48624
48614
  (pct) => {
48625
48615
  updateOne(att.id, { progress: pct });
48626
48616
  },
48627
- _optionalChain([ctrl, 'optionalAccess', _1212 => _1212.signal])
48617
+ _optionalChain([ctrl, 'optionalAccess', _1214 => _1214.signal])
48628
48618
  );
48629
- if (_optionalChain([ctrl, 'optionalAccess', _1213 => _1213.signal, 'access', _1214 => _1214.aborted])) return;
48619
+ if (_optionalChain([ctrl, 'optionalAccess', _1215 => _1215.signal, 'access', _1216 => _1216.aborted])) return;
48630
48620
  updateOne(att.id, {
48631
48621
  status: "ready",
48632
48622
  progress: 100,
@@ -48634,7 +48624,7 @@ function useChatAttachments() {
48634
48624
  viewToken: mintData.viewToken
48635
48625
  });
48636
48626
  } catch (err) {
48637
- if (_optionalChain([ctrl, 'optionalAccess', _1215 => _1215.signal, 'access', _1216 => _1216.aborted])) return;
48627
+ if (_optionalChain([ctrl, 'optionalAccess', _1217 => _1217.signal, 'access', _1218 => _1218.aborted])) return;
48638
48628
  const message2 = err instanceof Error ? err.message : String(err);
48639
48629
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
48640
48630
  } finally {
@@ -48785,7 +48775,7 @@ var ANON_DEFAULTS = {
48785
48775
  function useResolveChatIdentity(enabled) {
48786
48776
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
48787
48777
  const url = runtime.endpoints.identityUrl;
48788
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSTGWQFYTcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1217 => _1217.email]), () => ( null));
48778
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk3SNDISENcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1219 => _1219.email]), () => ( null));
48789
48779
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
48790
48780
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
48791
48781
  _react.useEffect.call(void 0, () => {
@@ -48793,7 +48783,7 @@ function useResolveChatIdentity(enabled) {
48793
48783
  let cancelled = false;
48794
48784
  const ctrl = new AbortController();
48795
48785
  setIsLoading(true);
48796
- _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
48786
+ _chunk3SNDISENcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
48797
48787
  if (!resp.ok) return ANON_DEFAULTS;
48798
48788
  return await resp.json();
48799
48789
  }).then((next) => {
@@ -48876,7 +48866,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
48876
48866
  yield chunk;
48877
48867
  }
48878
48868
  } catch (err) {
48879
- if (_optionalChain([err, 'optionalAccess', _1218 => _1218.name]) === "AbortError" || ctrl.signal.aborted) {
48869
+ if (_optionalChain([err, 'optionalAccess', _1220 => _1220.name]) === "AbortError" || ctrl.signal.aborted) {
48880
48870
  return;
48881
48871
  }
48882
48872
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -48927,7 +48917,7 @@ function useChat({
48927
48917
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
48928
48918
  onMessagesChangeRef.current = onMessagesChange;
48929
48919
  _react.useEffect.call(void 0, () => {
48930
- _optionalChain([onMessagesChangeRef, 'access', _1219 => _1219.current, 'optionalCall', _1220 => _1220(messages)]);
48920
+ _optionalChain([onMessagesChangeRef, 'access', _1221 => _1221.current, 'optionalCall', _1222 => _1222(messages)]);
48931
48921
  }, [messages]);
48932
48922
  const {
48933
48923
  streamMessage,
@@ -48964,7 +48954,7 @@ function useChat({
48964
48954
  name: "You",
48965
48955
  content: text,
48966
48956
  timestamp: /* @__PURE__ */ new Date(),
48967
- ..._optionalChain([options, 'optionalAccess', _1221 => _1221.hidden]) ? { hidden: true } : {}
48957
+ ..._optionalChain([options, 'optionalAccess', _1223 => _1223.hidden]) ? { hidden: true } : {}
48968
48958
  };
48969
48959
  addMessage(userMessage);
48970
48960
  setIsTyping(true);
@@ -49026,7 +49016,7 @@ function useChat({
49026
49016
  currentTextSegment = "";
49027
49017
  }
49028
49018
  const seg = segment;
49029
- const proposalId = _optionalChain([seg, 'access', _1222 => _1222.data, 'optionalAccess', _1223 => _1223.requestId]);
49019
+ const proposalId = _optionalChain([seg, 'access', _1224 => _1224.data, 'optionalAccess', _1225 => _1225.requestId]);
49030
49020
  const updateApprovalMessage = (transform) => {
49031
49021
  setMessages((prev) => {
49032
49022
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -49035,7 +49025,7 @@ function useChat({
49035
49025
  if (!Array.isArray(m.content)) continue;
49036
49026
  const segments = m.content;
49037
49027
  const hasMatch = segments.some(
49038
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1224 => _1224.data, 'optionalAccess', _1225 => _1225.requestId]) === proposalId
49028
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1226 => _1226.data, 'optionalAccess', _1227 => _1227.requestId]) === proposalId
49039
49029
  );
49040
49030
  if (!hasMatch) continue;
49041
49031
  const next = [...prev];
@@ -49077,11 +49067,11 @@ function useChat({
49077
49067
  if (!Array.isArray(m.content)) continue;
49078
49068
  const segments = m.content;
49079
49069
  const hasMatch = segments.some(
49080
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1226 => _1226.data, 'optionalAccess', _1227 => _1227.requestId]) === decision.proposalId
49070
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1228 => _1228.data, 'optionalAccess', _1229 => _1229.requestId]) === decision.proposalId
49081
49071
  );
49082
49072
  if (!hasMatch) continue;
49083
49073
  const flipped = segments.map(
49084
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1228 => _1228.data, 'optionalAccess', _1229 => _1229.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
49074
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1230 => _1230.data, 'optionalAccess', _1231 => _1231.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
49085
49075
  );
49086
49076
  const next = [...prev];
49087
49077
  next[i] = { ...m, content: flipped };
@@ -49243,8 +49233,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49243
49233
  })),
49244
49234
  { role: "user", content: message2 }
49245
49235
  ];
49246
- const targetPath = _optionalChain([extra, 'optionalAccess', _1230 => _1230.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49247
- const requestBody = _optionalChain([extra, 'optionalAccess', _1231 => _1231.approvalAction]) ? {
49236
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1232 => _1232.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
49237
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1233 => _1233.approvalAction]) ? {
49248
49238
  proposal_id: extra.approvalAction.proposalId,
49249
49239
  action: extra.approvalAction.action,
49250
49240
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -49253,10 +49243,10 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49253
49243
  }))
49254
49244
  } : {
49255
49245
  messages: apiMessages,
49256
- ..._optionalChain([extra, 'optionalAccess', _1232 => _1232.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49257
- ..._optionalChain([extra, 'optionalAccess', _1233 => _1233.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49246
+ ..._optionalChain([extra, 'optionalAccess', _1234 => _1234.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
49247
+ ..._optionalChain([extra, 'optionalAccess', _1235 => _1235.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
49258
49248
  };
49259
- const response = await _chunkSTGWQFYTcjs.embedAuthedFetch.call(void 0, targetPath, {
49249
+ const response = await _chunk3SNDISENcjs.embedAuthedFetch.call(void 0, targetPath, {
49260
49250
  method: "POST",
49261
49251
  body: JSON.stringify(requestBody),
49262
49252
  signal
@@ -49264,7 +49254,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49264
49254
  if (!response.ok) {
49265
49255
  throw new Error(`Chat request failed: ${response.status}`);
49266
49256
  }
49267
- const reader = _optionalChain([response, 'access', _1234 => _1234.body, 'optionalAccess', _1235 => _1235.getReader, 'call', _1236 => _1236()]);
49257
+ const reader = _optionalChain([response, 'access', _1236 => _1236.body, 'optionalAccess', _1237 => _1237.getReader, 'call', _1238 => _1238()]);
49268
49258
  if (!reader) throw new Error("No response body");
49269
49259
  const decoder = new TextDecoder();
49270
49260
  let buffer = "";
@@ -49347,7 +49337,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49347
49337
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
49348
49338
  const result = _nullishCoalesce(meta.result, () => ( null));
49349
49339
  const card = _nullishCoalesce(meta.card, () => ( null));
49350
- if (_optionalChain([card, 'optionalAccess', _1237 => _1237.ref, 'optionalAccess', _1238 => _1238.id]) && _optionalChain([card, 'optionalAccess', _1239 => _1239.type])) {
49340
+ if (_optionalChain([card, 'optionalAccess', _1239 => _1239.ref, 'optionalAccess', _1240 => _1240.id]) && _optionalChain([card, 'optionalAccess', _1241 => _1241.type])) {
49351
49341
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
49352
49342
  const key = buildChatRefKey(card.type, card.ref.id);
49353
49343
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -49360,8 +49350,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
49360
49350
  willAutoContinue: meta.willAutoContinue === true,
49361
49351
  ...toolName ? { toolName } : {},
49362
49352
  ...result ? { result } : {},
49363
- ..._optionalChain([card, 'optionalAccess', _1240 => _1240.marker]) ? { marker: card.marker } : {},
49364
- ..._optionalChain([card, 'optionalAccess', _1241 => _1241.ref]) ? { cardRef: card.ref } : {},
49353
+ ..._optionalChain([card, 'optionalAccess', _1242 => _1242.marker]) ? { marker: card.marker } : {},
49354
+ ..._optionalChain([card, 'optionalAccess', _1243 => _1243.ref]) ? { cardRef: card.ref } : {},
49365
49355
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
49366
49356
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
49367
49357
  };
@@ -49479,8 +49469,8 @@ var CHAT_STORAGE_VERSION = 1;
49479
49469
  var DEFAULT_CHAT_SOURCE = "embed";
49480
49470
  var chatStorageKey = (source) => {
49481
49471
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
49482
- const auth = _chunkSTGWQFYTcjs.getEmbedProxyAuth.call(void 0, );
49483
- if (_optionalChain([auth, 'optionalAccess', _1242 => _1242.email])) {
49472
+ const auth = _chunk3SNDISENcjs.getEmbedProxyAuth.call(void 0, );
49473
+ if (_optionalChain([auth, 'optionalAccess', _1244 => _1244.email])) {
49484
49474
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
49485
49475
  }
49486
49476
  return base;
@@ -49535,7 +49525,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49535
49525
  const { active = true } = runtimeOptions;
49536
49526
  const runtime = _chunk2B6773QMcjs.useRequiredChatRuntime.call(void 0, );
49537
49527
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
49538
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1243 => _1243.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49528
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1245 => _1245.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
49539
49529
  const persistedRef = _react.useRef.call(void 0, null);
49540
49530
  if (persistedRef.current === null) {
49541
49531
  pruneStaleChatStorage(source);
@@ -49640,7 +49630,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49640
49630
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
49641
49631
  sources = sourcesMapRef.current.get(lookupIdx);
49642
49632
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
49643
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1244 => _1244.current, 'access', _1245 => _1245.get, 'call', _1246 => _1246(lookupIdx), 'optionalAccess', _1247 => _1247.scrollAnchor]), () => ( void 0));
49633
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1246 => _1246.current, 'access', _1247 => _1247.get, 'call', _1248 => _1248(lookupIdx), 'optionalAccess', _1249 => _1249.scrollAnchor]), () => ( void 0));
49644
49634
  }
49645
49635
  return {
49646
49636
  id: m.id,
@@ -49688,7 +49678,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49688
49678
  );
49689
49679
  return;
49690
49680
  }
49691
- const refSlug = typeof _optionalChain([reference, 'access', _1248 => _1248.metadata, 'optionalAccess', _1249 => _1249.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
49681
+ const refSlug = typeof _optionalChain([reference, 'access', _1250 => _1250.metadata, 'optionalAccess', _1251 => _1251.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
49692
49682
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
49693
49683
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
49694
49684
  const text = `/${cmdId} display "${escaped}"`;
@@ -49760,18 +49750,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
49760
49750
  clearMessages,
49761
49751
  streamingPhase,
49762
49752
  /** Provider key for the lib's `<ModelDisplay>` icon. */
49763
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1250 => _1250.provider]), () => ( null)),
49764
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1251 => _1251.modelLabel]), () => ( null)),
49765
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1252 => _1252.contextWindowMaxTokens]), () => ( null)),
49753
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1252 => _1252.provider]), () => ( null)),
49754
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1253 => _1253.modelLabel]), () => ( null)),
49755
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1254 => _1254.contextWindowMaxTokens]), () => ( null)),
49766
49756
  /** Input tokens (known after server's message_start frame; null until). */
49767
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1253 => _1253.inputTokens]), () => ( null)),
49757
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1255 => _1255.inputTokens]), () => ( null)),
49768
49758
  /** Output tokens (known only after server's trailing usage frame). */
49769
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1254 => _1254.outputTokens]), () => ( null)),
49759
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1256 => _1256.outputTokens]), () => ( null)),
49770
49760
  /** Cache hit % (read / total-input × 100). null during streaming. */
49771
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1255 => _1255.cacheHitRatePct]), () => ( null)),
49761
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1257 => _1257.cacheHitRatePct]), () => ( null)),
49772
49762
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
49773
49763
  * token counts). null until the trailing usage frame lands. */
49774
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1256 => _1256.breakdown]), () => ( null)),
49764
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1258 => _1258.breakdown]), () => ( null)),
49775
49765
  // ─── Dialog management — stubs for v1 ────────────────────────────────
49776
49766
  // Guide mode currently keeps its history in `localStorage` opaquely
49777
49767
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -49829,15 +49819,15 @@ var noopRejectRequest = async (_id, _reason) => {
49829
49819
 
49830
49820
  // src/components/chat/utils/process-historical-messages.ts
49831
49821
  function getOwnerDisplayName(owner) {
49832
- if (_optionalChain([owner, 'optionalAccess', _1257 => _1257.type]) === OWNER_TYPE.ADMIN && owner.user) {
49822
+ if (_optionalChain([owner, 'optionalAccess', _1259 => _1259.type]) === OWNER_TYPE.ADMIN && owner.user) {
49833
49823
  const { firstName, lastName } = owner.user;
49834
49824
  const name = [firstName, lastName].filter(Boolean).join(" ");
49835
49825
  if (name) return name;
49836
49826
  }
49837
- return _optionalChain([owner, 'optionalAccess', _1258 => _1258.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
49827
+ return _optionalChain([owner, 'optionalAccess', _1260 => _1260.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
49838
49828
  }
49839
49829
  function getOwnerAvatar(owner) {
49840
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1259 => _1259.user, 'optionalAccess', _1260 => _1260.image, 'optionalAccess', _1261 => _1261.imageUrl]), () => ( void 0));
49830
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1261 => _1261.user, 'optionalAccess', _1262 => _1262.image, 'optionalAccess', _1263 => _1263.imageUrl]), () => ( void 0));
49841
49831
  }
49842
49832
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
49843
49833
  messageDataArray.forEach((data) => {
@@ -49900,14 +49890,14 @@ function processHistoricalMessages(messages, options = {}) {
49900
49890
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
49901
49891
  return;
49902
49892
  }
49903
- const isUserMessage = _optionalChain([msg, 'access', _1262 => _1262.owner, 'optionalAccess', _1263 => _1263.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1264 => _1264.owner, 'optionalAccess', _1265 => _1265.type]) === OWNER_TYPE.ADMIN;
49893
+ const isUserMessage = _optionalChain([msg, 'access', _1264 => _1264.owner, 'optionalAccess', _1265 => _1265.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1266 => _1266.owner, 'optionalAccess', _1267 => _1267.type]) === OWNER_TYPE.ADMIN;
49904
49894
  if (isUserMessage) {
49905
49895
  flushAssistantMessage();
49906
- const userAuthorType = _optionalChain([msg, 'access', _1266 => _1266.owner, 'optionalAccess', _1267 => _1267.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
49896
+ const userAuthorType = _optionalChain([msg, 'access', _1268 => _1268.owner, 'optionalAccess', _1269 => _1269.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
49907
49897
  messageDataArray.forEach((data) => {
49908
49898
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
49909
49899
  const rawContext = data.contextItems;
49910
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1268 => _1268.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1269 => _1269.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
49900
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1270 => _1270.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1271 => _1271.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
49911
49901
  processedMessages.push({
49912
49902
  id: msg.id,
49913
49903
  role: "user",
@@ -49931,7 +49921,7 @@ function processHistoricalMessages(messages, options = {}) {
49931
49921
  });
49932
49922
  const nextMsg = messages[index + 1];
49933
49923
  const isLastMessage = index === messages.length - 1;
49934
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1270 => _1270.owner, 'optionalAccess', _1271 => _1271.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1272 => _1272.owner, 'optionalAccess', _1273 => _1273.type]) === OWNER_TYPE.ADMIN);
49924
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1272 => _1272.owner, 'optionalAccess', _1273 => _1273.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1274 => _1274.owner, 'optionalAccess', _1275 => _1275.type]) === OWNER_TYPE.ADMIN);
49935
49925
  if (isLastMessage || nextIsFromUser) {
49936
49926
  flushAssistantMessage();
49937
49927
  }
@@ -50041,7 +50031,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50041
50031
  }
50042
50032
  }
50043
50033
  } else {
50044
- _optionalChain([escalatedApprovals, 'optionalAccess', _1274 => _1274.set, 'call', _1275 => _1275(data.approvalRequestId, {
50034
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1276 => _1276.set, 'call', _1277 => _1277(data.approvalRequestId, {
50045
50035
  command: data.command || "",
50046
50036
  explanation: data.explanation,
50047
50037
  approvalType,
@@ -50055,8 +50045,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50055
50045
  const existingStatus = approvalStatuses[data.approvalRequestId];
50056
50046
  const status = existingStatus || (data.approved ? "approved" : "rejected");
50057
50047
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
50058
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1276 => _1276.get, 'call', _1277 => _1277(data.approvalRequestId)]);
50059
- if (_optionalChain([escalatedData, 'optionalAccess', _1278 => _1278.toolCalls]) && escalatedData.toolCalls.length > 0) {
50048
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1278 => _1278.get, 'call', _1279 => _1279(data.approvalRequestId)]);
50049
+ if (_optionalChain([escalatedData, 'optionalAccess', _1280 => _1280.toolCalls]) && escalatedData.toolCalls.length > 0) {
50060
50050
  if (batchApprovalsEnabled) {
50061
50051
  accumulator.addApprovalBatch(
50062
50052
  data.approvalRequestId,
@@ -50078,7 +50068,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50078
50068
  );
50079
50069
  }
50080
50070
  }
50081
- _optionalChain([escalatedApprovals, 'optionalAccess', _1279 => _1279.delete, 'call', _1280 => _1280(data.approvalRequestId)]);
50071
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1281 => _1281.delete, 'call', _1282 => _1282(data.approvalRequestId)]);
50082
50072
  break;
50083
50073
  }
50084
50074
  if (escalatedData) {
@@ -50087,7 +50077,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50087
50077
  explanation: escalatedData.explanation,
50088
50078
  approvalType: escalatedData.approvalType
50089
50079
  });
50090
- _optionalChain([escalatedApprovals, 'optionalAccess', _1281 => _1281.delete, 'call', _1282 => _1282(data.approvalRequestId)]);
50080
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1283 => _1283.delete, 'call', _1284 => _1284(data.approvalRequestId)]);
50091
50081
  }
50092
50082
  const before = accumulator.getSegments();
50093
50083
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -50103,9 +50093,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
50103
50093
  case MESSAGE_TYPE.ERROR:
50104
50094
  if ("error" in data) {
50105
50095
  let message2;
50106
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1283 => _1283.details])) {
50096
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1285 => _1285.details])) {
50107
50097
  try {
50108
- message2 = _optionalChain([JSON, 'access', _1284 => _1284.parse, 'call', _1285 => _1285(data.details), 'optionalAccess', _1286 => _1286.error, 'optionalAccess', _1287 => _1287.message]);
50098
+ message2 = _optionalChain([JSON, 'access', _1286 => _1286.parse, 'call', _1287 => _1287(data.details), 'optionalAccess', _1288 => _1288.error, 'optionalAccess', _1289 => _1289.message]);
50109
50099
  } catch (e67) {
50110
50100
  message2 = data.details;
50111
50101
  }
@@ -50188,14 +50178,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
50188
50178
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
50189
50179
  return;
50190
50180
  }
50191
- const isUserMessage = _optionalChain([msg, 'access', _1288 => _1288.owner, 'optionalAccess', _1289 => _1289.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1290 => _1290.owner, 'optionalAccess', _1291 => _1291.type]) === OWNER_TYPE.ADMIN;
50181
+ const isUserMessage = _optionalChain([msg, 'access', _1290 => _1290.owner, 'optionalAccess', _1291 => _1291.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1292 => _1292.owner, 'optionalAccess', _1293 => _1293.type]) === OWNER_TYPE.ADMIN;
50192
50182
  if (isUserMessage) {
50193
50183
  flushAssistantMessage();
50194
- const userAuthorType = _optionalChain([msg, 'access', _1292 => _1292.owner, 'optionalAccess', _1293 => _1293.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50184
+ const userAuthorType = _optionalChain([msg, 'access', _1294 => _1294.owner, 'optionalAccess', _1295 => _1295.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
50195
50185
  messageDataArray.forEach((data) => {
50196
50186
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
50197
50187
  const rawContext = data.contextItems;
50198
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1294 => _1294.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1295 => _1295.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50188
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1296 => _1296.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1297 => _1297.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
50199
50189
  processedMessages.push({
50200
50190
  id: msg.id,
50201
50191
  role: "user",
@@ -50219,7 +50209,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
50219
50209
  });
50220
50210
  const nextMsg = messages[index + 1];
50221
50211
  const isLastMessage = index === messages.length - 1;
50222
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1296 => _1296.owner, 'optionalAccess', _1297 => _1297.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1298 => _1298.owner, 'optionalAccess', _1299 => _1299.type]) === OWNER_TYPE.ADMIN);
50212
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1298 => _1298.owner, 'optionalAccess', _1299 => _1299.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1300 => _1300.owner, 'optionalAccess', _1301 => _1301.type]) === OWNER_TYPE.ADMIN);
50223
50213
  if (isLastMessage || nextIsFromUser) {
50224
50214
  flushAssistantMessage();
50225
50215
  }
@@ -50555,7 +50545,7 @@ function useNatsChatAdapter(config, options = {}) {
50555
50545
  }, [active, fetchDialogs, loadDialogsPage]);
50556
50546
  const sendMessage = _react.useCallback.call(void 0,
50557
50547
  async (text, sendOptions) => {
50558
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1300 => _1300.hidden]), () => ( false));
50548
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1302 => _1302.hidden]), () => ( false));
50559
50549
  setMessages((prev) => [
50560
50550
  ...prev,
50561
50551
  {
@@ -50719,11 +50709,11 @@ function useNatsChatAdapter(config, options = {}) {
50719
50709
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
50720
50710
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
50721
50711
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
50722
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1301 => _1301.provider]), () => ( modelProvider)), () => ( null)),
50723
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1302 => _1302.modelLabel]), () => ( modelLabel)), () => ( null)),
50724
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1303 => _1303.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1304 => _1304.contextWindowMaxTokens]))), () => ( null)),
50725
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1305 => _1305.inputTokensSize]), () => ( null)),
50726
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1306 => _1306.outputTokensSize]), () => ( null)),
50712
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1303 => _1303.provider]), () => ( modelProvider)), () => ( null)),
50713
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1304 => _1304.modelLabel]), () => ( modelLabel)), () => ( null)),
50714
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1305 => _1305.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1306 => _1306.contextWindowMaxTokens]))), () => ( null)),
50715
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1307 => _1307.inputTokensSize]), () => ( null)),
50716
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1308 => _1308.outputTokensSize]), () => ( null)),
50727
50717
  currentCacheHitRatePct: null,
50728
50718
  currentUsageBreakdown: null,
50729
50719
  // Dialog management
@@ -50971,7 +50961,7 @@ function extractIncompleteMessageState(lastMessage) {
50971
50961
  break;
50972
50962
  case "approval_batch": {
50973
50963
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
50974
- (c) => _optionalChain([segment, 'access', _1307 => _1307.data, 'access', _1308 => _1308.executions, 'optionalAccess', _1309 => _1309[c.toolExecutionRequestId], 'optionalAccess', _1310 => _1310.status]) === "done"
50964
+ (c) => _optionalChain([segment, 'access', _1309 => _1309.data, 'access', _1310 => _1310.executions, 'optionalAccess', _1311 => _1311[c.toolExecutionRequestId], 'optionalAccess', _1312 => _1312.status]) === "done"
50975
50965
  );
50976
50966
  if (segment.status !== "rejected" && !allDone) {
50977
50967
  hasIncompleteState = true;
@@ -51039,20 +51029,20 @@ function mergeHistoryWithRealtime(input) {
51039
51029
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
51040
51030
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
51041
51031
  const trailing = processedHistory[processedHistory.length - 1];
51042
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1311 => _1311.role]) === "assistant" ? trailing : null;
51043
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1312 => _1312.content, 'access', _1313 => _1313.find, 'call', _1314 => _1314((s) => s.type === "approval_batch"), 'optionalAccess', _1315 => _1315.data, 'optionalAccess', _1316 => _1316.approvalRequestId]), () => ( null)) : null;
51032
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1313 => _1313.role]) === "assistant" ? trailing : null;
51033
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1314 => _1314.content, 'access', _1315 => _1315.find, 'call', _1316 => _1316((s) => s.type === "approval_batch"), 'optionalAccess', _1317 => _1317.data, 'optionalAccess', _1318 => _1318.approvalRequestId]), () => ( null)) : null;
51044
51034
  let processedToUse = processedHistory;
51045
51035
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
51046
51036
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
51047
51037
  if (historyBatchId) {
51048
51038
  const batchTwins = existingMessages.filter(
51049
51039
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
51050
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1317 => _1317.data, 'optionalAccess', _1318 => _1318.approvalRequestId]) === historyBatchId
51040
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1319 => _1319.data, 'optionalAccess', _1320 => _1320.approvalRequestId]) === historyBatchId
51051
51041
  )
51052
51042
  );
51053
51043
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
51054
51044
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
51055
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1319 => _1319.content])) ? historyTrailingAssistant.content.length : 0;
51045
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1321 => _1321.content])) ? historyTrailingAssistant.content.length : 0;
51056
51046
  const realtimeSize = existingWithSameBatch.content.length;
51057
51047
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
51058
51048
  processedToUse = processedHistory.slice(0, -1);
@@ -51068,16 +51058,16 @@ function mergeHistoryWithRealtime(input) {
51068
51058
  if (pinnedSyntheticIds.has(m.id)) return true;
51069
51059
  if (droppedSyntheticIds.has(m.id)) return false;
51070
51060
  if (processedIds.has(m.id)) return false;
51071
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1320 => _1320.has, 'call', _1321 => _1321(m.id)])) return false;
51061
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1322 => _1322.has, 'call', _1323 => _1323(m.id)])) return false;
51072
51062
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
51073
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1322 => _1322.timestamp, 'optionalAccess', _1323 => _1323.getTime, 'call', _1324 => _1324()]), () => ( 0))) <= historyFetchedAt;
51063
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1324 => _1324.timestamp, 'optionalAccess', _1325 => _1325.getTime, 'call', _1326 => _1326()]), () => ( 0))) <= historyFetchedAt;
51074
51064
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
51075
51065
  }
51076
51066
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
51077
51067
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
51078
51068
  return false;
51079
51069
  }
51080
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1325 => _1325.timestamp, 'optionalAccess', _1326 => _1326.getTime, 'call', _1327 => _1327()]), () => ( 0))) <= historyFetchedAt;
51070
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1327 => _1327.timestamp, 'optionalAccess', _1328 => _1328.getTime, 'call', _1329 => _1329()]), () => ( 0))) <= historyFetchedAt;
51081
51071
  if (covered) return false;
51082
51072
  }
51083
51073
  return true;
@@ -51128,7 +51118,7 @@ function chatChipClass({ tone, density = "chip", extra }) {
51128
51118
  // src/components/chat/embeddable-chat.tsx
51129
51119
 
51130
51120
 
51131
- var _overlays = require('@react-aria/overlays');
51121
+
51132
51122
  var _utils = require('@react-aria/utils');
51133
51123
 
51134
51124
  // node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
@@ -51297,7 +51287,7 @@ function useChatDialogManager({
51297
51287
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
51298
51288
  if (restoreTarget) {
51299
51289
  try {
51300
- await _optionalChain([unarchiveDialog, 'optionalCall', _1328 => _1328(restoreTarget.id)]);
51290
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1330 => _1330(restoreTarget.id)]);
51301
51291
  } catch (err) {
51302
51292
  console.error("[useChatDialogManager] unarchive failed:", err);
51303
51293
  return;
@@ -51714,7 +51704,7 @@ function EmbeddableChatInner({
51714
51704
  }),
51715
51705
  [commandsUrl]
51716
51706
  );
51717
- const userName = _optionalChain([identityUser, 'optionalAccess', _1329 => _1329.firstName, 'optionalAccess', _1330 => _1330.trim, 'call', _1331 => _1331()]) || _optionalChain([identityUser, 'optionalAccess', _1332 => _1332.name, 'optionalAccess', _1333 => _1333.split, 'call', _1334 => _1334(" "), 'access', _1335 => _1335[0], 'optionalAccess', _1336 => _1336.trim, 'call', _1337 => _1337()]) || void 0;
51707
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1331 => _1331.firstName, 'optionalAccess', _1332 => _1332.trim, 'call', _1333 => _1333()]) || _optionalChain([identityUser, 'optionalAccess', _1334 => _1334.name, 'optionalAccess', _1335 => _1335.split, 'call', _1336 => _1336(" "), 'access', _1337 => _1337[0], 'optionalAccess', _1338 => _1338.trim, 'call', _1339 => _1339()]) || void 0;
51718
51708
  const effectiveModes = _react.useMemo.call(void 0, () => {
51719
51709
  if (modes) return modes;
51720
51710
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -51723,19 +51713,19 @@ function EmbeddableChatInner({
51723
51713
  const mingoCaps = _react.useMemo.call(void 0, () => {
51724
51714
  if (mingoState) {
51725
51715
  return {
51726
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1338 => _1338.canRename]), () => ( false)),
51727
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1339 => _1339.canArchive]), () => ( false)),
51728
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1340 => _1340.fetchArchivedDialogs]),
51729
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1341 => _1341.unarchiveDialog]),
51730
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1342 => _1342.searchQuery]),
51731
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1343 => _1343.onSearchChange])
51716
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1340 => _1340.canRename]), () => ( false)),
51717
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1341 => _1341.canArchive]), () => ( false)),
51718
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1342 => _1342.fetchArchivedDialogs]),
51719
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1343 => _1343.unarchiveDialog]),
51720
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1344 => _1344.searchQuery]),
51721
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1345 => _1345.onSearchChange])
51732
51722
  };
51733
51723
  }
51734
51724
  return {
51735
- canRename: !!_optionalChain([effectiveModes, 'access', _1344 => _1344.mingo, 'optionalAccess', _1345 => _1345.renameDialog]),
51736
- canArchive: !!_optionalChain([effectiveModes, 'access', _1346 => _1346.mingo, 'optionalAccess', _1347 => _1347.archiveDialog]),
51737
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1348 => _1348.mingo, 'optionalAccess', _1349 => _1349.fetchArchivedDialogs]),
51738
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1350 => _1350.mingo, 'optionalAccess', _1351 => _1351.unarchiveDialog]),
51725
+ canRename: !!_optionalChain([effectiveModes, 'access', _1346 => _1346.mingo, 'optionalAccess', _1347 => _1347.renameDialog]),
51726
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1348 => _1348.mingo, 'optionalAccess', _1349 => _1349.archiveDialog]),
51727
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1350 => _1350.mingo, 'optionalAccess', _1351 => _1351.fetchArchivedDialogs]),
51728
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1352 => _1352.mingo, 'optionalAccess', _1353 => _1353.unarchiveDialog]),
51739
51729
  searchQuery: void 0,
51740
51730
  onSearchChange: void 0
51741
51731
  };
@@ -51749,7 +51739,7 @@ function EmbeddableChatInner({
51749
51739
  if (controlledActiveMode === void 0) {
51750
51740
  setUncontrolledActiveMode(next);
51751
51741
  }
51752
- _optionalChain([onActiveModeChange, 'optionalCall', _1352 => _1352(next)]);
51742
+ _optionalChain([onActiveModeChange, 'optionalCall', _1354 => _1354(next)]);
51753
51743
  },
51754
51744
  [controlledActiveMode, onActiveModeChange]
51755
51745
  );
@@ -51771,7 +51761,7 @@ function EmbeddableChatInner({
51771
51761
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
51772
51762
  const effectiveAssistantName = emptyStateConfig.name;
51773
51763
  const effectiveAssistantIcon = emptyStateConfig.icon;
51774
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1353 => _1353.title]) === "string" ? guideWelcome.title : null)));
51764
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1355 => _1355.title]) === "string" ? guideWelcome.title : null)));
51775
51765
  const {
51776
51766
  messages: rawMessages,
51777
51767
  isLoading: chatLoading,
@@ -51811,7 +51801,7 @@ function EmbeddableChatInner({
51811
51801
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
51812
51802
  guidePromptSentRef.current = true;
51813
51803
  void sendMessage(guidePendingPrompt);
51814
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1354 => _1354()]);
51804
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1356 => _1356()]);
51815
51805
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
51816
51806
  const {
51817
51807
  attachments: stagedAttachments,
@@ -51822,7 +51812,7 @@ function EmbeddableChatInner({
51822
51812
  clear: clearAttachments
51823
51813
  } = useChatAttachments();
51824
51814
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
51825
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1355 => _1355.maxItems]), () => ( 10));
51815
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1357 => _1357.maxItems]), () => ( 10));
51826
51816
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
51827
51817
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
51828
51818
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -51839,10 +51829,10 @@ function EmbeddableChatInner({
51839
51829
  }, [activeDialogId, activeMode]);
51840
51830
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
51841
51831
  const m = /* @__PURE__ */ new Map();
51842
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1356 => _1356.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
51832
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1358 => _1358.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
51843
51833
  return m;
51844
- }, [_optionalChain([contextPicker, 'optionalAccess', _1357 => _1357.entityTypes])]);
51845
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1358 => _1358.entityTypes]);
51834
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1359 => _1359.entityTypes])]);
51835
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1360 => _1360.entityTypes]);
51846
51836
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
51847
51837
  const byType = /* @__PURE__ */ new Map();
51848
51838
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -51854,7 +51844,7 @@ function EmbeddableChatInner({
51854
51844
  if (mentionActiveRef.current) {
51855
51845
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
51856
51846
  if (contextItems.length >= contextMaxItems) return;
51857
- _optionalChain([chatInputRef, 'access', _1359 => _1359.current, 'optionalAccess', _1360 => _1360.commitMention, 'call', _1361 => _1361(mentionTokenOf(key, mentionMarkerByType), {
51847
+ _optionalChain([chatInputRef, 'access', _1361 => _1361.current, 'optionalAccess', _1362 => _1362.commitMention, 'call', _1363 => _1363(mentionTokenOf(key, mentionMarkerByType), {
51858
51848
  label: item.label,
51859
51849
  icon: resolveContextIcon(item)
51860
51850
  })]);
@@ -51876,9 +51866,9 @@ function EmbeddableChatInner({
51876
51866
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
51877
51867
  if (mentionKeysRef.current.has(key)) {
51878
51868
  mentionKeysRef.current.delete(key);
51879
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1362 => _1362.current, 'optionalAccess', _1363 => _1363.getValue, 'call', _1364 => _1364()]), () => ( ""));
51869
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1364 => _1364.current, 'optionalAccess', _1365 => _1365.getValue, 'call', _1366 => _1366()]), () => ( ""));
51880
51870
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
51881
- _optionalChain([chatInputRef, 'access', _1365 => _1365.current, 'optionalAccess', _1366 => _1366.setValue, 'call', _1367 => _1367(next)]);
51871
+ _optionalChain([chatInputRef, 'access', _1367 => _1367.current, 'optionalAccess', _1368 => _1368.setValue, 'call', _1369 => _1369(next)]);
51882
51872
  }
51883
51873
  }, [mentionMarkerByType]);
51884
51874
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -51895,7 +51885,7 @@ function EmbeddableChatInner({
51895
51885
  }, []);
51896
51886
  const closeContextPicker = _react.useCallback.call(void 0, () => {
51897
51887
  if (mentionActiveRef.current) {
51898
- _optionalChain([chatInputRef, 'access', _1368 => _1368.current, 'optionalAccess', _1369 => _1369.removeMentionTrigger, 'call', _1370 => _1370()]);
51888
+ _optionalChain([chatInputRef, 'access', _1370 => _1370.current, 'optionalAccess', _1371 => _1371.removeMentionTrigger, 'call', _1372 => _1372()]);
51899
51889
  }
51900
51890
  setContextPickerOpen(false);
51901
51891
  setMentionQuery(null);
@@ -51929,8 +51919,8 @@ function EmbeddableChatInner({
51929
51919
  []
51930
51920
  );
51931
51921
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
51932
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1371 => _1371.firstName]), _optionalChain([identityUser, 'optionalAccess', _1372 => _1372.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1373 => _1373.name, 'optionalAccess', _1374 => _1374.trim, 'call', _1375 => _1375()]) || void 0 : void 0;
51933
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1376 => _1376.avatarUrl, 'optionalAccess', _1377 => _1377.trim, 'call', _1378 => _1378()]) || void 0 : void 0;
51922
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1373 => _1373.firstName]), _optionalChain([identityUser, 'optionalAccess', _1374 => _1374.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1375 => _1375.name, 'optionalAccess', _1376 => _1376.trim, 'call', _1377 => _1377()]) || void 0 : void 0;
51923
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1378 => _1378.avatarUrl, 'optionalAccess', _1379 => _1379.trim, 'call', _1380 => _1380()]) || void 0 : void 0;
51934
51924
  const messages = _react.useMemo.call(void 0, () => {
51935
51925
  const cache = timestampCacheRef.current;
51936
51926
  const seenIds = /* @__PURE__ */ new Set();
@@ -52099,9 +52089,9 @@ function EmbeddableChatInner({
52099
52089
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
52100
52090
  const lastSources = _react.useMemo.call(void 0, () => {
52101
52091
  if (chatLoading) return void 0;
52102
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1379 => _1379.sources]);
52092
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1381 => _1381.sources]);
52103
52093
  if (!sources || sources.length === 0) return void 0;
52104
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1380 => _1380.content]) || "";
52094
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1382 => _1382.content]) || "";
52105
52095
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
52106
52096
  (m) => parseInt(m[1], 10)
52107
52097
  );
@@ -52148,7 +52138,7 @@ function EmbeddableChatInner({
52148
52138
  ChatPanelHeader,
52149
52139
  {
52150
52140
  showBack: hasConversation || guideCanReturnToMingo,
52151
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1381 => _1381.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
52141
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1383 => _1383.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats",
52152
52142
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
52153
52143
  isArchivedView: isViewingArchived,
52154
52144
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -52269,9 +52259,9 @@ function EmbeddableChatInner({
52269
52259
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
52270
52260
  subtitleLoading: emptyStateLoading,
52271
52261
  ...guideWelcome,
52272
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1382 => _1382.title]))),
52273
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1383 => _1383.icon]))),
52274
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1384 => _1384.quickActions]), () => ( guideSuggestedActions)),
52262
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1384 => _1384.title]))),
52263
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1385 => _1385.icon]))),
52264
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1386 => _1386.quickActions]), () => ( guideSuggestedActions)),
52275
52265
  onQuickAction: (action) => {
52276
52266
  setQuickActionPreview(null);
52277
52267
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -53408,5 +53398,6 @@ function EmbeddableChatInner({
53408
53398
 
53409
53399
 
53410
53400
 
53411
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
53412
- //# sourceMappingURL=chunk-SOALFYU6.cjs.map
53401
+
53402
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.SquareAvatar2 = SquareAvatar2; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.announcementDismissCookieName = announcementDismissCookieName; exports.isDismissedCookieValue = isDismissedCookieValue; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
53403
+ //# sourceMappingURL=chunk-BKYV2ALJ.cjs.map