@flamingo-stack/openframe-frontend-core 0.0.493 → 0.0.494

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 (115) hide show
  1. package/dist/{chunk-WPFLV4QJ.js → chunk-4BGDD6CU.js} +4 -4
  2. package/dist/{chunk-LIRXKEOE.cjs → chunk-7M24CJRH.cjs} +15 -15
  3. package/dist/{chunk-LIRXKEOE.cjs.map → chunk-7M24CJRH.cjs.map} +1 -1
  4. package/dist/{chunk-5ICPQAUI.cjs → chunk-CDRNCBLS.cjs} +59 -59
  5. package/dist/{chunk-5ICPQAUI.cjs.map → chunk-CDRNCBLS.cjs.map} +1 -1
  6. package/dist/{chunk-FG5ALORQ.js → chunk-DZU3FCOQ.js} +2 -2
  7. package/dist/{chunk-J2J36PEN.cjs → chunk-E5AIN5SS.cjs} +31 -31
  8. package/dist/{chunk-J2J36PEN.cjs.map → chunk-E5AIN5SS.cjs.map} +1 -1
  9. package/dist/{chunk-O6S6Q52W.cjs → chunk-FFL3D5LX.cjs} +26 -26
  10. package/dist/{chunk-O6S6Q52W.cjs.map → chunk-FFL3D5LX.cjs.map} +1 -1
  11. package/dist/{chunk-VML66FJQ.cjs → chunk-FP62TQ3A.cjs} +9 -9
  12. package/dist/{chunk-VML66FJQ.cjs.map → chunk-FP62TQ3A.cjs.map} +1 -1
  13. package/dist/{chunk-QHRNQTW5.js → chunk-GANUPKHV.js} +2 -2
  14. package/dist/{chunk-LVDI7R7T.cjs → chunk-J6MC4SY7.cjs} +37 -37
  15. package/dist/{chunk-LVDI7R7T.cjs.map → chunk-J6MC4SY7.cjs.map} +1 -1
  16. package/dist/{chunk-U5LU56JE.js → chunk-KDPQGHQ2.js} +2 -2
  17. package/dist/{chunk-56J7RLMM.js → chunk-KXOSLXL2.js} +1667 -1602
  18. package/dist/chunk-KXOSLXL2.js.map +1 -0
  19. package/dist/{chunk-OFFYASUY.cjs → chunk-L5GMHETR.cjs} +26 -26
  20. package/dist/{chunk-OFFYASUY.cjs.map → chunk-L5GMHETR.cjs.map} +1 -1
  21. package/dist/{chunk-P3ITKTUE.js → chunk-OQFXEWW2.js} +2 -2
  22. package/dist/{chunk-2XAAFAQT.cjs → chunk-P77L6MPJ.cjs} +11 -11
  23. package/dist/{chunk-2XAAFAQT.cjs.map → chunk-P77L6MPJ.cjs.map} +1 -1
  24. package/dist/{chunk-4J3CB4KO.js → chunk-PBAFZETL.js} +2 -2
  25. package/dist/{chunk-PI5BMKV3.cjs → chunk-QHGGQZFK.cjs} +62 -62
  26. package/dist/{chunk-PI5BMKV3.cjs.map → chunk-QHGGQZFK.cjs.map} +1 -1
  27. package/dist/{chunk-M4SCYPCR.cjs → chunk-QRHAIJMG.cjs} +7 -7
  28. package/dist/{chunk-M4SCYPCR.cjs.map → chunk-QRHAIJMG.cjs.map} +1 -1
  29. package/dist/{chunk-4MLOMMDX.cjs → chunk-UCZHGV4E.cjs} +635 -570
  30. package/dist/chunk-UCZHGV4E.cjs.map +1 -0
  31. package/dist/{chunk-SZWMJIH3.js → chunk-VCHK2B6W.js} +2 -2
  32. package/dist/{chunk-5RHJVPL7.js → chunk-VUUIYBIH.js} +4 -4
  33. package/dist/{chunk-4AWRPTKE.js → chunk-WUM5BTDY.js} +4 -4
  34. package/dist/{chunk-BTIRYGDT.js → chunk-YQ4B7LCE.js} +4 -4
  35. package/dist/{chunk-WKWZ7LVC.js → chunk-ZP4QMJX4.js} +2 -2
  36. package/dist/{chunk-DY6AJNVK.cjs → chunk-ZVCODNW7.cjs} +5 -5
  37. package/dist/{chunk-DY6AJNVK.cjs.map → chunk-ZVCODNW7.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/index.cjs +2 -2
  51. package/dist/components/features/index.js +1 -1
  52. package/dist/components/features/time-tracker/time-tracker-header-button.d.ts.map +1 -1
  53. package/dist/components/help-center-pages/index.cjs +20 -20
  54. package/dist/components/help-center-pages/index.js +11 -11
  55. package/dist/components/index.cjs +132 -130
  56. package/dist/components/index.cjs.map +1 -1
  57. package/dist/components/index.js +11 -9
  58. package/dist/components/index.js.map +1 -1
  59. package/dist/components/navigation/app-header.d.ts.map +1 -1
  60. package/dist/components/navigation/header-button.d.ts.map +1 -1
  61. package/dist/components/navigation/header-global-search.d.ts.map +1 -1
  62. package/dist/components/navigation/header-mingo-button.d.ts.map +1 -1
  63. package/dist/components/navigation/header-organization-filter.d.ts.map +1 -1
  64. package/dist/components/navigation/header-skeleton.d.ts +6 -0
  65. package/dist/components/navigation/header-skeleton.d.ts.map +1 -1
  66. package/dist/components/navigation/header.d.ts.map +1 -1
  67. package/dist/components/navigation/index.cjs +4 -2
  68. package/dist/components/navigation/index.cjs.map +1 -1
  69. package/dist/components/navigation/index.d.ts +2 -0
  70. package/dist/components/navigation/index.d.ts.map +1 -1
  71. package/dist/components/navigation/index.js +3 -1
  72. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  73. package/dist/components/navigation/mobile-nav-panel.d.ts.map +1 -1
  74. package/dist/components/navigation/top-navigation.d.ts +55 -0
  75. package/dist/components/navigation/top-navigation.d.ts.map +1 -0
  76. package/dist/components/onboarding-guides/index.cjs +5 -5
  77. package/dist/components/onboarding-guides/index.js +4 -4
  78. package/dist/components/related-content/index.cjs +3 -3
  79. package/dist/components/related-content/index.js +2 -2
  80. package/dist/components/tickets/index.cjs +5 -5
  81. package/dist/components/tickets/index.js +4 -4
  82. package/dist/components/ui/index.cjs +2 -2
  83. package/dist/components/ui/index.js +1 -1
  84. package/dist/index.cjs +4 -2
  85. package/dist/index.cjs.map +1 -1
  86. package/dist/index.js +3 -1
  87. package/package.json +1 -1
  88. package/src/components/features/time-tracker/time-tracker-header-button.tsx +42 -38
  89. package/src/components/navigation/app-header.tsx +190 -198
  90. package/src/components/navigation/header-button.tsx +3 -1
  91. package/src/components/navigation/header-global-search.tsx +3 -1
  92. package/src/components/navigation/header-mingo-button.tsx +3 -1
  93. package/src/components/navigation/header-organization-filter.tsx +2 -1
  94. package/src/components/navigation/header-skeleton.tsx +57 -54
  95. package/src/components/navigation/header.tsx +231 -208
  96. package/src/components/navigation/index.ts +3 -0
  97. package/src/components/navigation/mingo-ai-button.tsx +24 -19
  98. package/src/components/navigation/mobile-nav-panel.tsx +6 -3
  99. package/src/components/navigation/top-navigation.tsx +128 -0
  100. package/src/stories/AppHeader.stories.tsx +148 -0
  101. package/src/stories/Header.stories.tsx +18 -23
  102. package/src/stories/TopNavigation.stories.tsx +150 -0
  103. package/dist/chunk-4MLOMMDX.cjs.map +0 -1
  104. package/dist/chunk-56J7RLMM.js.map +0 -1
  105. /package/dist/{chunk-WPFLV4QJ.js.map → chunk-4BGDD6CU.js.map} +0 -0
  106. /package/dist/{chunk-FG5ALORQ.js.map → chunk-DZU3FCOQ.js.map} +0 -0
  107. /package/dist/{chunk-QHRNQTW5.js.map → chunk-GANUPKHV.js.map} +0 -0
  108. /package/dist/{chunk-U5LU56JE.js.map → chunk-KDPQGHQ2.js.map} +0 -0
  109. /package/dist/{chunk-P3ITKTUE.js.map → chunk-OQFXEWW2.js.map} +0 -0
  110. /package/dist/{chunk-4J3CB4KO.js.map → chunk-PBAFZETL.js.map} +0 -0
  111. /package/dist/{chunk-SZWMJIH3.js.map → chunk-VCHK2B6W.js.map} +0 -0
  112. /package/dist/{chunk-5RHJVPL7.js.map → chunk-VUUIYBIH.js.map} +0 -0
  113. /package/dist/{chunk-4AWRPTKE.js.map → chunk-WUM5BTDY.js.map} +0 -0
  114. /package/dist/{chunk-BTIRYGDT.js.map → chunk-YQ4B7LCE.js.map} +0 -0
  115. /package/dist/{chunk-WKWZ7LVC.js.map → chunk-ZP4QMJX4.js.map} +0 -0
@@ -4652,8 +4652,8 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
4652
4652
  }
4653
4653
  }, [onStop, isStopping]);
4654
4654
  const isStopMode = sending && !!onStop;
4655
- const hasContent = value.trim().length > 0 || allowEmptySend;
4656
- const sendDisabled = sending || disabled || !hasContent;
4655
+ const hasContent2 = value.trim().length > 0 || allowEmptySend;
4656
+ const sendDisabled = sending || disabled || !hasContent2;
4657
4657
  const isEmpty = value.length === 0;
4658
4658
  const isDisabled = sending || disabled;
4659
4659
  const showPreview = !isDisabled && !!previewText && !previewDismissed;
@@ -28913,7 +28913,7 @@ function ChangelogManager({
28913
28913
  ] }),
28914
28914
  entries.map((entry, index) => {
28915
28915
  const isExpanded = expandedIndices.has(index);
28916
- const hasContent = entry.title.trim().length > 0;
28916
+ const hasContent2 = entry.title.trim().length > 0;
28917
28917
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg-surface rounded-lg border border-ods-border overflow-hidden", children: [
28918
28918
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 p-3", children: [
28919
28919
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -28927,7 +28927,7 @@ function ChangelogManager({
28927
28927
  children: isExpanded ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronUp, { className: "h-4 w-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown, { className: "h-4 w-4" })
28928
28928
  }
28929
28929
  ),
28930
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0", children: hasContent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary truncate", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary italic", children: "New entry (click to edit)" }) }),
28930
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0", children: hasContent2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-primary truncate", children: entry.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary italic", children: "New entry (click to edit)" }) }),
28931
28931
  showVisibilityToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28932
28932
  _chunkSGL6URIJcjs.Button,
28933
28933
  {
@@ -36313,13 +36313,13 @@ function TimeTrackerPanel({
36313
36313
  const [showValidationError, setShowValidationError] = _react.useState.call(void 0, false);
36314
36314
  const isRunning = status === "tracking";
36315
36315
  const isActive = status !== "ready";
36316
- const hasContent = selectedTicketId != null || notes.trim() !== "";
36317
- const showFieldError = isActive && showValidationError && !hasContent;
36316
+ const hasContent2 = selectedTicketId != null || notes.trim() !== "";
36317
+ const showFieldError = isActive && showValidationError && !hasContent2;
36318
36318
  _react.useEffect.call(void 0, () => {
36319
36319
  if (status === "ready") setShowValidationError(false);
36320
36320
  }, [status]);
36321
36321
  const handleSubmit = () => {
36322
- if (!hasContent) {
36322
+ if (!hasContent2) {
36323
36323
  setShowValidationError(true);
36324
36324
  return;
36325
36325
  }
@@ -36584,7 +36584,11 @@ function HeaderButton({
36584
36584
  "flex items-center justify-center shrink-0",
36585
36585
  "transition-colors duration-200",
36586
36586
  "w-12 h-full md:w-14",
36587
- isActive ? "text-ods-text-primary bg-ods-bg-active" : "text-ods-text-secondary bg-ods-card hover:bg-ods-bg-hover",
36587
+ isActive ? "text-ods-text-primary bg-ods-bg-active" : (
36588
+ // Transparent at rest so the cell inherits the bar's background
36589
+ // (TopNavigation `backgroundClassName` can differ per platform).
36590
+ "text-ods-text-secondary bg-transparent hover:bg-ods-bg-hover"
36591
+ ),
36588
36592
  className
36589
36593
  ),
36590
36594
  ...props,
@@ -36637,7 +36641,10 @@ function TimeTrackerHeaderButton({ className, disabled }) {
36637
36641
  disabled,
36638
36642
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
36639
36643
  "outline-none",
36640
- isActive && "w-auto gap-[var(--spacing-system-xsf)] px-[var(--spacing-system-sf)] md:w-auto",
36644
+ // ODS top-navigation spec (Figma 2797-5978): the active cell keeps
36645
+ // its square icon-only footprint on mobile and becomes a fixed
36646
+ // 144px cell with the live clock from md up.
36647
+ isActive && "md:w-auto md:min-w-[144px] md:justify-center md:gap-[var(--spacing-system-xsf)] md:px-[var(--spacing-system-sf)]",
36641
36648
  className
36642
36649
  ),
36643
36650
  icon: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -36654,7 +36661,7 @@ function TimeTrackerHeaderButton({ className, disabled }) {
36654
36661
  "span",
36655
36662
  {
36656
36663
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
36657
- "text-h5 md:text-h4 !font-mono",
36664
+ "hidden md:inline text-h5 md:text-h4 !font-mono",
36658
36665
  isPaused ? "text-ods-text-secondary" : "text-ods-text-primary"
36659
36666
  ),
36660
36667
  children: elapsedLabel
@@ -37641,6 +37648,53 @@ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
37641
37648
 
37642
37649
  _chunkSGL6URIJcjs.init_button2.call(void 0, );
37643
37650
 
37651
+ // src/components/navigation/mingo-ai-button.tsx
37652
+
37653
+ var MINGO_ACCENT = "var(--ods-flamingo-cyan-base)";
37654
+ function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, ...props }) {
37655
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37656
+ "button",
37657
+ {
37658
+ ...props,
37659
+ type: "button",
37660
+ "aria-label": label,
37661
+ onClick: (e) => {
37662
+ window.dispatchEvent(new CustomEvent("ask-ai:open", { detail: { source: _nullishCoalesce(source, () => ( "")) } }));
37663
+ _optionalChain([onClick, 'optionalCall', _866 => _866(e)]);
37664
+ },
37665
+ className: _chunkA62C4C4Vcjs.cn.call(void 0,
37666
+ // Unified ODS top-navigation cell (Figma 2797-6808 desktop /
37667
+ // 2797-7275 mobile): full-height cell with a leading divider,
37668
+ // transparent at rest so it inherits the bar's background.
37669
+ "group/mingo relative flex h-full shrink-0 items-center border-l border-ods-border bg-transparent px-[var(--spacing-system-m)] transition-colors duration-200 hover:bg-ods-bg-hover focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
37670
+ className
37671
+ ),
37672
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative flex h-6 items-center gap-[var(--spacing-system-xsf)] rounded-md px-[var(--spacing-system-xsf)] md:h-8", children: [
37673
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: "mingo-edge-frame pointer-events-none absolute inset-0 rounded-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "mingo-edge" }) }),
37674
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 overflow-hidden rounded-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37675
+ "span",
37676
+ {
37677
+ className: "mingo-shimmer absolute inset-y-0 left-0 w-1/2",
37678
+ style: {
37679
+ background: "linear-gradient(105deg, transparent, color-mix(in srgb, var(--ods-system-greys-white) 12%, transparent), transparent)"
37680
+ }
37681
+ }
37682
+ ) }),
37683
+ icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative inline-flex size-6 shrink-0 items-center justify-center", children: icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37684
+ _chunkOB7YDOTKcjs.MingoIcon,
37685
+ {
37686
+ color: "currentColor",
37687
+ eyesColor: MINGO_ACCENT,
37688
+ cornerColor: MINGO_ACCENT,
37689
+ className: "relative h-6 w-6 shrink-0 text-ods-text-primary"
37690
+ }
37691
+ ),
37692
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative hidden whitespace-nowrap text-code text-ods-text-primary md:inline", children: label })
37693
+ ] })
37694
+ }
37695
+ );
37696
+ }
37697
+
37644
37698
  // src/components/navigation/mobile-nav-panel.tsx
37645
37699
 
37646
37700
 
@@ -37662,7 +37716,7 @@ function MobileNavPanel({ isOpen, config }) {
37662
37716
  if (item.onClick) {
37663
37717
  item.onClick();
37664
37718
  }
37665
- _optionalChain([config, 'access', _866 => _866.onClose, 'optionalCall', _867 => _867()]);
37719
+ _optionalChain([config, 'access', _867 => _867.onClose, 'optionalCall', _868 => _868()]);
37666
37720
  };
37667
37721
  if (item.href) {
37668
37722
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -37723,9 +37777,12 @@ function MobileNavPanel({ isOpen, config }) {
37723
37777
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
37724
37778
  "fixed z-[9999] rounded-lg shadow-xl",
37725
37779
  config.className ? "" : "bg-ods-card border border-ods-border",
37726
- // Responsive positioning and sizing
37727
- "right-2 left-2 md:left-auto",
37728
- "md:right-6 md:w-[400px] md:max-w-[calc(100vw-3rem)]",
37780
+ // Responsive positioning and sizing — LEFT-anchored from md, under
37781
+ // the burger cell that sits at the left edge of the unified
37782
+ // top-navigation (it used to be right-anchored when the burger
37783
+ // lived on the right).
37784
+ "right-2 left-2 md:right-auto",
37785
+ "md:left-6 md:w-[400px] md:max-w-[calc(100vw-3rem)]",
37729
37786
  // Small-viewport (svh) sizing anchored below the measured header —
37730
37787
  // 100vh overflowed under mobile browser chrome, leaving the bottom
37731
37788
  // entries and footer unreachable while the body was scroll-locked.
@@ -37758,48 +37815,73 @@ function MobileNavPanel({ isOpen, config }) {
37758
37815
  ] });
37759
37816
  }
37760
37817
 
37761
- // src/components/navigation/mingo-ai-button.tsx
37818
+ // src/components/navigation/top-navigation.tsx
37819
+ _chunkA62C4C4Vcjs.init_cn.call(void 0, );
37762
37820
 
37763
- var MINGO_ACCENT = "var(--ods-flamingo-cyan-base)";
37764
- function MingoAiButton({ source, icon, label = "Mingo AI", className, onClick, ...props }) {
37765
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37766
- "button",
37821
+ var CENTER_VISIBILITY = {
37822
+ md: "hidden md:flex",
37823
+ lg: "hidden lg:flex"
37824
+ };
37825
+ var LOGO_GROW = {
37826
+ md: "flex-1 md:flex-none",
37827
+ lg: "flex-1 lg:flex-none"
37828
+ };
37829
+ var hasContent = (node) => node !== null && node !== void 0 && node !== false;
37830
+ function TopNavigation({
37831
+ leading,
37832
+ logo,
37833
+ logoClassName,
37834
+ center,
37835
+ centerClassName,
37836
+ centerBreakpoint = "lg",
37837
+ cta,
37838
+ ctaClassName,
37839
+ sideActions,
37840
+ backgroundClassName,
37841
+ mobileTopBorder = true,
37842
+ className,
37843
+ children,
37844
+ ...props
37845
+ }) {
37846
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37847
+ "header",
37767
37848
  {
37768
- ...props,
37769
- type: "button",
37770
- "aria-label": label,
37771
- onClick: (e) => {
37772
- window.dispatchEvent(new CustomEvent("ask-ai:open", { detail: { source: _nullishCoalesce(source, () => ( "")) } }));
37773
- _optionalChain([onClick, 'optionalCall', _868 => _868(e)]);
37774
- },
37775
37849
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
37776
- // `--spacing-system-l` is itself responsive (16px, 24px from 800px):
37777
- // the compact mobile padding keeps the 375px header row
37778
- // (logo + CTA + burger + Mingo) inside one viewport per Figma
37779
- // 3924-35639 (mobile) / 4033-90260 (desktop).
37780
- "group/mingo relative flex h-full items-center border-l border-ods-border bg-transparent px-[var(--spacing-system-l)] transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
37850
+ "flex h-12 w-full items-center border-b border-ods-border md:h-14",
37851
+ mobileTopBorder && "border-t md:border-t-0",
37852
+ _nullishCoalesce(backgroundClassName, () => ( "bg-ods-card")),
37781
37853
  className
37782
37854
  ),
37783
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative flex h-10 items-center gap-[var(--spacing-system-s)] rounded-md px-[var(--spacing-system-m)] md:h-12", children: [
37784
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: "mingo-edge-frame pointer-events-none absolute inset-0 rounded-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "mingo-edge" }) }),
37785
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "aria-hidden": "true", className: "pointer-events-none absolute inset-0 overflow-hidden rounded-md", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37786
- "span",
37855
+ ...props,
37856
+ children: [
37857
+ leading,
37858
+ hasContent(logo) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37859
+ "div",
37787
37860
  {
37788
- className: "mingo-shimmer absolute inset-y-0 left-0 w-1/2",
37789
- style: { background: "linear-gradient(105deg, transparent, color-mix(in srgb, var(--ods-system-greys-white) 12%, transparent), transparent)" }
37861
+ className: _chunkA62C4C4Vcjs.cn.call(void 0,
37862
+ "flex h-full min-w-0 items-center",
37863
+ LOGO_GROW[centerBreakpoint],
37864
+ "p-[var(--spacing-system-m)] md:py-0 md:pr-0 md:pl-[var(--spacing-system-l)] lg:pl-[var(--spacing-system-xxl)]",
37865
+ logoClassName
37866
+ ),
37867
+ children: logo
37790
37868
  }
37791
- ) }),
37792
- icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative inline-flex size-6 shrink-0 items-center justify-center", children: icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37793
- _chunkOB7YDOTKcjs.MingoIcon,
37869
+ ),
37870
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37871
+ "div",
37794
37872
  {
37795
- color: "currentColor",
37796
- eyesColor: MINGO_ACCENT,
37797
- cornerColor: MINGO_ACCENT,
37798
- className: "relative h-6 w-6 shrink-0 text-ods-text-primary"
37873
+ className: _chunkA62C4C4Vcjs.cn.call(void 0,
37874
+ CENTER_VISIBILITY[centerBreakpoint],
37875
+ "h-full min-w-0 flex-1 items-center justify-center",
37876
+ centerClassName
37877
+ ),
37878
+ children: center
37799
37879
  }
37800
37880
  ),
37801
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "relative hidden whitespace-nowrap text-h3 font-bold tracking-[-0.36px] text-ods-text-primary md:inline", children: label })
37802
- ] })
37881
+ hasContent(cta) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex h-full shrink-0 items-center px-[var(--spacing-system-m)]", ctaClassName), children: cta }),
37882
+ sideActions,
37883
+ children
37884
+ ]
37803
37885
  }
37804
37886
  );
37805
37887
  }
@@ -37895,7 +37977,9 @@ function Header2({ config, platform }) {
37895
37977
  },
37896
37978
  size: "small-legacy",
37897
37979
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
37898
- "text-h6 font-bold",
37980
+ // Top-level nav links: h3 bold per the ODS top-navigation spec
37981
+ // (Figma 2797-5978); dropdown children stay on the h6 step.
37982
+ "text-h3 font-bold tracking-[-0.36px]",
37899
37983
  item.isActive && "bg-ods-bg-hover",
37900
37984
  // Active items get subtle gray background
37901
37985
  isOpen && "bg-ods-bg-hover",
@@ -37970,7 +38054,7 @@ function Header2({ config, platform }) {
37970
38054
  rightIcon: item.badge,
37971
38055
  size: "small-legacy",
37972
38056
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
37973
- "text-h6 font-bold",
38057
+ "text-h3 font-bold tracking-[-0.36px]",
37974
38058
  "hover:bg-ods-bg-hover focus:bg-ods-bg-hover",
37975
38059
  "whitespace-nowrap",
37976
38060
  "text-ods-text-primary",
@@ -37994,7 +38078,7 @@ function Header2({ config, platform }) {
37994
38078
  rightIcon: item.badge,
37995
38079
  size: "small-legacy",
37996
38080
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
37997
- "text-h6 font-bold",
38081
+ "text-h3 font-bold tracking-[-0.36px]",
37998
38082
  "hover:bg-ods-bg-hover focus:bg-ods-bg-hover",
37999
38083
  "whitespace-nowrap",
38000
38084
  "text-ods-text-primary",
@@ -38008,80 +38092,74 @@ function Header2({ config, platform }) {
38008
38092
  item.id
38009
38093
  );
38010
38094
  };
38095
+ const hasNav = !!config.navigation && config.navigation.items.length > 0;
38096
+ const hasLeftCells = !!_optionalChain([config, 'access', _871 => _871.actions, 'optionalAccess', _872 => _872.left, 'optionalAccess', _873 => _873.length]);
38097
+ const hasCta = !!_optionalChain([config, 'access', _874 => _874.actions, 'optionalAccess', _875 => _875.right, 'optionalAccess', _876 => _876.length]) || !!(_optionalChain([config, 'access', _877 => _877.actions, 'optionalAccess', _878 => _878.persistent]) && config.actions.persistent.length > 0);
38011
38098
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38012
38099
  "div",
38013
38100
  {
38014
- className: _chunkA62C4C4Vcjs.cn.call(void 0,
38015
- "sticky top-0 z-[50] w-full transition-transform duration-300 ease-in-out"
38016
- ),
38101
+ className: _chunkA62C4C4Vcjs.cn.call(void 0, "sticky top-0 z-[50] w-full transition-transform duration-300 ease-in-out"),
38017
38102
  style: {
38018
38103
  transform: !show ? "translateY(-100%)" : "translateY(0)"
38019
38104
  },
38020
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38021
- "header",
38105
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38106
+ TopNavigation,
38022
38107
  {
38023
- className: _chunkA62C4C4Vcjs.cn.call(void 0,
38024
- // 72px = unified-header spec height (Figma 4033-90260); the right
38025
- // cluster self-stretches so the Mingo launcher can sit flush.
38026
- "w-full h-[72px] flex items-center justify-between",
38027
- // NOTE: no `backdrop-blur` here. Every platform ships an OPAQUE
38028
- // header background (`backgroundColor` below resolves to an opaque
38029
- // ODS token — bg-ods-bg / bg-ods-card), so a backdrop-filter would
38030
- // blur a backdrop that is then fully painted over: zero visual
38031
- // effect, but it still forces the browser to keep a backdrop-filter
38032
- // surface and re-rasterize the strip behind this sticky bar every
38033
- // scroll frame. That surface desyncs a frame against the scrolling
38034
- // content and makes content flicker as it passes under the header
38035
- // (most visible on large high-contrast headings, e.g. /pricing).
38036
- // If a consumer ever wants a translucent "glass" header, add the
38037
- // blur together with a translucent `backgroundColor` deliberately.
38038
- "border-b border-ods-border",
38039
- "pl-6",
38040
- !_optionalChain([config, 'access', _871 => _871.mingo, 'optionalAccess', _872 => _872.enabled]) && "pr-6",
38041
- // Background color (configurable via backgroundColor prop)
38042
- config.backgroundColor || "bg-ods-card",
38043
- config.className
38044
- ),
38108
+ className: _chunkA62C4C4Vcjs.cn.call(void 0, "relative", config.className),
38045
38109
  style: config.style,
38046
- children: [
38047
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
38048
- _optionalChain([config, 'access', _873 => _873.actions, 'optionalAccess', _874 => _874.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
38049
- /* @__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 })
38050
- ] }),
38051
- config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38052
- "nav",
38110
+ backgroundClassName: config.backgroundColor,
38111
+ centerBreakpoint: "lg",
38112
+ leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
38113
+ !!_optionalChain([config, 'access', _879 => _879.actions, 'optionalAccess', _880 => _880.left, 'optionalAccess', _881 => _881.length]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full items-center border-r border-ods-border px-[var(--spacing-system-xs)]", children: config.actions.left }),
38114
+ _optionalChain([config, 'access', _882 => _882.mobile, 'optionalAccess', _883 => _883.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38115
+ HeaderButton,
38053
38116
  {
38054
- className: _chunkA62C4C4Vcjs.cn.call(void 0,
38055
- "hidden lg:flex items-center gap-2",
38056
- config.navigation.position === "center" && "absolute left-1/2 transform -translate-x-1/2",
38057
- config.navigation.position === "right" && "ml-auto mr-4"
38058
- ),
38059
- role: "navigation",
38060
- "aria-label": "Main navigation",
38061
- children: config.navigation.items.map(renderNavigationItem)
38117
+ className: "lg:hidden border-r border-ods-border",
38118
+ onClick: () => {
38119
+ _optionalChain([config, 'access', _884 => _884.mobile, 'optionalAccess', _885 => _885.onToggle, 'optionalCall', _886 => _886()]);
38120
+ },
38121
+ isActive: _nullishCoalesce(_optionalChain([config, 'access', _887 => _887.mobile, 'optionalAccess', _888 => _888.isOpen]), () => ( false)),
38122
+ "aria-label": _optionalChain([config, 'access', _889 => _889.mobile, 'optionalAccess', _890 => _890.isOpen]) ? "Close menu" : "Open menu",
38123
+ "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _891 => _891.mobile, 'optionalAccess', _892 => _892.isOpen]), () => ( false)),
38124
+ "aria-controls": _optionalChain([config, 'access', _893 => _893.mobile, 'optionalAccess', _894 => _894.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
38125
+ icon: _optionalChain([config, 'access', _895 => _895.mobile, 'optionalAccess', _896 => _896.isOpen]) ? _optionalChain([config, 'access', _897 => _897.mobile, 'optionalAccess', _898 => _898.closeIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { className: "w-4 h-4 md:w-6 md:h-6" }) : _optionalChain([config, 'access', _899 => _899.mobile, 'optionalAccess', _900 => _900.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, { className: "w-4 h-4 md:w-6 md:h-6" })
38062
38126
  }
38063
- ),
38064
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-3 flex-shrink-0 self-stretch", children: [
38065
- _optionalChain([config, 'access', _875 => _875.actions, 'optionalAccess', _876 => _876.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
38066
- _optionalChain([config, 'access', _877 => _877.actions, 'optionalAccess', _878 => _878.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent }),
38067
- config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38068
- _chunkSGL6URIJcjs.Button,
38069
- {
38070
- variant: "outline",
38071
- size: "icon",
38072
- className: "flex lg:hidden",
38073
- onClick: () => {
38074
- _optionalChain([config, 'access', _879 => _879.mobile, 'optionalAccess', _880 => _880.onToggle, 'optionalCall', _881 => _881()]);
38075
- },
38076
- "aria-label": _optionalChain([config, 'access', _882 => _882.mobile, 'optionalAccess', _883 => _883.isOpen]) ? "Close menu" : "Open menu",
38077
- "aria-expanded": _nullishCoalesce(_optionalChain([config, 'access', _884 => _884.mobile, 'optionalAccess', _885 => _885.isOpen]), () => ( false)),
38078
- "aria-controls": _optionalChain([config, 'access', _886 => _886.mobile, 'optionalAccess', _887 => _887.isOpen]) ? MOBILE_NAV_PANEL_ID : void 0,
38079
- leftIcon: _optionalChain([config, 'access', _888 => _888.mobile, 'optionalAccess', _889 => _889.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, {})
38080
- }
38127
+ )
38128
+ ] }),
38129
+ logo: /* @__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 }),
38130
+ logoClassName: hasLeftCells ? "lg:pl-[var(--spacing-system-l)]" : void 0,
38131
+ center: hasNav ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38132
+ "nav",
38133
+ {
38134
+ className: _chunkA62C4C4Vcjs.cn.call(void 0,
38135
+ "flex items-center gap-2",
38136
+ // True centering relative to the bar (not the leftover flex
38137
+ // space) same treatment the pre-unification header had.
38138
+ _optionalChain([config, 'access', _901 => _901.navigation, 'optionalAccess', _902 => _902.position]) === "center" && "absolute left-1/2 -translate-x-1/2"
38081
38139
  ),
38082
- _optionalChain([config, 'access', _890 => _890.mingo, 'optionalAccess', _891 => _891.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoAiButton, { source: config.mingo.source, icon: config.mingo.icon, label: config.mingo.label, className: config.mingo.className })
38083
- ] })
38084
- ]
38140
+ role: "navigation",
38141
+ "aria-label": "Main navigation",
38142
+ children: _optionalChain([config, 'access', _903 => _903.navigation, 'optionalAccess', _904 => _904.items, 'access', _905 => _905.map, 'call', _906 => _906(renderNavigationItem)])
38143
+ }
38144
+ ) : void 0,
38145
+ centerClassName: _chunkA62C4C4Vcjs.cn.call(void 0,
38146
+ _optionalChain([config, 'access', _907 => _907.navigation, 'optionalAccess', _908 => _908.position]) === "left" && "justify-start",
38147
+ _optionalChain([config, 'access', _909 => _909.navigation, 'optionalAccess', _910 => _910.position]) === "right" && "justify-end pr-[var(--spacing-system-m)]"
38148
+ ),
38149
+ cta: hasCta ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
38150
+ !!_optionalChain([config, 'access', _911 => _911.actions, 'optionalAccess', _912 => _912.right, 'optionalAccess', _913 => _913.length]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden lg:flex items-center gap-3", children: config.actions.right }),
38151
+ _optionalChain([config, 'access', _914 => _914.actions, 'optionalAccess', _915 => _915.persistent]) && config.actions.persistent.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.persistent })
38152
+ ] }) : void 0,
38153
+ ctaClassName: "gap-3",
38154
+ sideActions: _optionalChain([config, 'access', _916 => _916.mingo, 'optionalAccess', _917 => _917.enabled]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38155
+ MingoAiButton,
38156
+ {
38157
+ source: config.mingo.source,
38158
+ icon: config.mingo.icon,
38159
+ label: config.mingo.label,
38160
+ className: config.mingo.className
38161
+ }
38162
+ ) : void 0
38085
38163
  }
38086
38164
  )
38087
38165
  }
@@ -38094,41 +38172,32 @@ function Header2({ config, platform }) {
38094
38172
  // src/components/navigation/header-skeleton.tsx
38095
38173
 
38096
38174
  function HeaderSkeleton({ config }) {
38097
- const showNavigation = _optionalChain([config, 'optionalAccess', _892 => _892.navigation]) && config.navigation.items.length > 0;
38098
- const showActions = _optionalChain([config, 'optionalAccess', _893 => _893.actions, 'optionalAccess', _894 => _894.right]) && config.actions.right.length > 0;
38099
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _895 => _895.mobile, 'optionalAccess', _896 => _896.enabled]);
38100
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _897 => _897.className, 'optionalAccess', _898 => _898.includes, 'call', _899 => _899("admin")]);
38101
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38175
+ const showNavigation = _optionalChain([config, 'optionalAccess', _918 => _918.navigation]) && config.navigation.items.length > 0;
38176
+ const showActions = _optionalChain([config, 'optionalAccess', _919 => _919.actions, 'optionalAccess', _920 => _920.right]) && config.actions.right.length > 0;
38177
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _921 => _921.mobile, 'optionalAccess', _922 => _922.enabled]);
38178
+ const showLeftActions = !!_optionalChain([config, 'optionalAccess', _923 => _923.actions, 'optionalAccess', _924 => _924.left]);
38179
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-[50] w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38102
38180
  "header",
38103
38181
  {
38104
38182
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
38105
- "w-full flex items-center justify-between",
38106
- "bg-ods-card border-b border-ods-border backdrop-blur-sm",
38107
- "px-6 py-3",
38108
- "transition-opacity duration-300 ease-in-out",
38109
- _optionalChain([config, 'optionalAccess', _900 => _900.className])
38183
+ "flex h-12 w-full items-center border-b border-t border-ods-border md:h-14 md:border-t-0",
38184
+ _optionalChain([config, 'optionalAccess', _925 => _925.backgroundColor]) || "bg-ods-card",
38185
+ _optionalChain([config, 'optionalAccess', _926 => _926.className])
38110
38186
  ),
38111
38187
  children: [
38112
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
38113
- isAdminHeader && _optionalChain([config, 'optionalAccess', _901 => _901.actions, 'optionalAccess', _902 => _902.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" }) }),
38114
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
38115
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
38116
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
38117
- ] })
38188
+ showLeftActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-12 items-center justify-center border-r border-ods-border md:w-14", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-6 animate-pulse rounded bg-ods-border" }) }),
38189
+ showMobileMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full w-12 items-center justify-center border-r border-ods-border md:w-14 lg:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-4 animate-pulse rounded bg-ods-border md:h-6 md:w-6" }) }),
38190
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-1 items-center gap-2 p-[var(--spacing-system-m)] md:pl-[var(--spacing-system-l)] lg:flex-none lg:pl-[var(--spacing-system-xxl)]", children: [
38191
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-6 animate-pulse rounded bg-ods-border" }),
38192
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 w-24 animate-pulse rounded bg-ods-border" })
38118
38193
  ] }),
38119
- showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkA62C4C4Vcjs.cn.call(void 0,
38120
- "hidden md:flex items-center gap-2",
38121
- _optionalChain([config, 'optionalAccess', _903 => _903.navigation, 'optionalAccess', _904 => _904.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
38122
- _optionalChain([config, 'optionalAccess', _905 => _905.navigation, 'optionalAccess', _906 => _906.position]) === "right" && "ml-auto mr-4"
38123
- ), children: [
38124
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
38125
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
38126
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-24 bg-ods-border rounded animate-pulse" })
38127
- ] }),
38128
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
38129
- showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-24 bg-ods-border rounded animate-pulse" }) }),
38130
- showMobileMenu && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden h-10 w-10 bg-ods-border rounded animate-pulse" })
38131
- ] })
38194
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden h-full min-w-0 flex-1 items-center justify-center gap-2 lg:flex", children: showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
38195
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-20 animate-pulse rounded bg-ods-border" }),
38196
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-28 animate-pulse rounded bg-ods-border" }),
38197
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-24 animate-pulse rounded bg-ods-border" })
38198
+ ] }) }),
38199
+ showActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden h-full items-center px-[var(--spacing-system-m)] lg:flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-24 animate-pulse rounded bg-ods-border" }) }),
38200
+ _optionalChain([config, 'optionalAccess', _927 => _927.mingo, 'optionalAccess', _928 => _928.enabled]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-full items-center border-l border-ods-border px-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 animate-pulse rounded bg-ods-border md:w-28" }) })
38132
38201
  ]
38133
38202
  }
38134
38203
  ) });
@@ -38235,7 +38304,7 @@ function SlidingSidebar({ config }) {
38235
38304
  variant: "transparent",
38236
38305
  size: "default",
38237
38306
  onClick: () => {
38238
- _optionalChain([item, 'access', _907 => _907.onClick, 'optionalCall', _908 => _908()]);
38307
+ _optionalChain([item, 'access', _929 => _929.onClick, 'optionalCall', _930 => _930()]);
38239
38308
  config.onClose();
38240
38309
  },
38241
38310
  leftIcon: item.icon,
@@ -38258,7 +38327,7 @@ function SlidingSidebar({ config }) {
38258
38327
  variant: "transparent",
38259
38328
  size: "default",
38260
38329
  onClick: () => {
38261
- _optionalChain([item, 'access', _909 => _909.onClick, 'optionalCall', _910 => _910()]);
38330
+ _optionalChain([item, 'access', _931 => _931.onClick, 'optionalCall', _932 => _932()]);
38262
38331
  config.onClose();
38263
38332
  },
38264
38333
  leftIcon: item.icon,
@@ -38390,7 +38459,7 @@ function StickySectionNav({
38390
38459
  ] });
38391
38460
  }
38392
38461
  function useSectionNavigation(sections, options) {
38393
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _911 => _911[0], 'optionalAccess', _912 => _912.id]) || "");
38462
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _933 => _933[0], 'optionalAccess', _934 => _934.id]) || "");
38394
38463
  const isScrollingFromClick = _react.useRef.call(void 0, false);
38395
38464
  const { offset: offset2 = 100 } = options || {};
38396
38465
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -38414,7 +38483,7 @@ function useSectionNavigation(sections, options) {
38414
38483
  const handleScroll = () => {
38415
38484
  if (isScrollingFromClick.current) return;
38416
38485
  const scrollPosition = window.scrollY + offset2 + 50;
38417
- let currentSection = _optionalChain([sections, 'access', _913 => _913[0], 'optionalAccess', _914 => _914.id]) || "";
38486
+ let currentSection = _optionalChain([sections, 'access', _935 => _935[0], 'optionalAccess', _936 => _936.id]) || "";
38418
38487
  for (let i = sections.length - 1; i >= 0; i--) {
38419
38488
  const element = document.getElementById(sections[i].id);
38420
38489
  if (element && scrollPosition >= element.offsetTop) {
@@ -38616,7 +38685,7 @@ function NavigationSidebar({ config, disabled = false }) {
38616
38685
  } else {
38617
38686
  setDesktopMinimized((prev) => !prev);
38618
38687
  }
38619
- _optionalChain([config, 'access', _915 => _915.onToggleMinimized, 'optionalCall', _916 => _916()]);
38688
+ _optionalChain([config, 'access', _937 => _937.onToggleMinimized, 'optionalCall', _938 => _938()]);
38620
38689
  }, [isTablet, setDesktopMinimized, config]);
38621
38690
  const closeOverlay = _react.useCallback.call(void 0, () => {
38622
38691
  setTabletMinimized(true);
@@ -38631,14 +38700,14 @@ function NavigationSidebar({ config, disabled = false }) {
38631
38700
  }, [isOverlayOpen, closeOverlay]);
38632
38701
  const [pendingItemId, setPendingItemId] = _react.useState.call(void 0, null);
38633
38702
  const committedActiveId = _react.useMemo.call(void 0,
38634
- () => _nullishCoalesce(_optionalChain([config, 'access', _917 => _917.items, 'access', _918 => _918.find, 'call', _919 => _919((item) => item.isActive), 'optionalAccess', _920 => _920.id]), () => ( null)),
38703
+ () => _nullishCoalesce(_optionalChain([config, 'access', _939 => _939.items, 'access', _940 => _940.find, 'call', _941 => _941((item) => item.isActive), 'optionalAccess', _942 => _942.id]), () => ( null)),
38635
38704
  [config.items]
38636
38705
  );
38637
38706
  _react.useEffect.call(void 0, () => {
38638
38707
  setPendingItemId(null);
38639
38708
  }, [committedActiveId]);
38640
38709
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
38641
- _optionalChain([event, 'optionalAccess', _921 => _921.stopPropagation, 'call', _922 => _922()]);
38710
+ _optionalChain([event, 'optionalAccess', _943 => _943.stopPropagation, 'call', _944 => _944()]);
38642
38711
  if (item.onClick) {
38643
38712
  item.onClick();
38644
38713
  if (isTablet) setTabletMinimized(true);
@@ -38647,7 +38716,7 @@ function NavigationSidebar({ config, disabled = false }) {
38647
38716
  if (!item.path) return;
38648
38717
  if (isModifiedClick(event)) return;
38649
38718
  if (config.onNavigate) {
38650
- _optionalChain([event, 'optionalAccess', _923 => _923.preventDefault, 'call', _924 => _924()]);
38719
+ _optionalChain([event, 'optionalAccess', _945 => _945.preventDefault, 'call', _946 => _946()]);
38651
38720
  if (item.id !== committedActiveId) setPendingItemId(item.id);
38652
38721
  config.onNavigate(item.path);
38653
38722
  }
@@ -38777,11 +38846,11 @@ function HeaderGlobalSearch({
38777
38846
  };
38778
38847
  const handleSubmit = (e) => {
38779
38848
  e.preventDefault();
38780
- _optionalChain([onSubmit, 'optionalCall', _925 => _925(currentValue)]);
38849
+ _optionalChain([onSubmit, 'optionalCall', _947 => _947(currentValue)]);
38781
38850
  };
38782
38851
  const handleKeyDown = (e) => {
38783
38852
  if (e.key === "Enter") {
38784
- _optionalChain([onSubmit, 'optionalCall', _926 => _926(currentValue)]);
38853
+ _optionalChain([onSubmit, 'optionalCall', _948 => _948(currentValue)]);
38785
38854
  }
38786
38855
  };
38787
38856
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -38790,7 +38859,9 @@ function HeaderGlobalSearch({
38790
38859
  onSubmit: handleSubmit,
38791
38860
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
38792
38861
  "flex flex-1 items-center gap-2 h-full px-3",
38793
- "bg-ods-card",
38862
+ // Transparent so the cell inherits the bar's background
38863
+ // (TopNavigation `backgroundClassName` can differ per platform).
38864
+ "bg-transparent",
38794
38865
  className
38795
38866
  ),
38796
38867
  children: [
@@ -38835,7 +38906,9 @@ function HeaderMingoButton({
38835
38906
  "flex items-center shrink-0 h-full gap-2 px-4",
38836
38907
  "transition-colors duration-200",
38837
38908
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
38838
- "text-ods-text-primary bg-ods-card hover:bg-ods-bg-hover",
38909
+ // Transparent at rest so the cell inherits the bar's background
38910
+ // (TopNavigation `backgroundClassName` can differ per platform).
38911
+ "text-ods-text-primary bg-transparent hover:bg-ods-bg-hover",
38839
38912
  className
38840
38913
  ),
38841
38914
  ...props,
@@ -38875,15 +38948,16 @@ function HeaderOrganizationFilter({
38875
38948
  className
38876
38949
  }) {
38877
38950
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
38878
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _927 => _927.name]) || "All Organizations";
38879
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _928 => _928.deviceCount]), () => ( totalDeviceCount));
38951
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _949 => _949.name]) || "All Organizations";
38952
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _950 => _950.deviceCount]), () => ( totalDeviceCount));
38880
38953
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSGL6URIJcjs.DropdownMenu, { children: [
38881
38954
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSGL6URIJcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38882
38955
  "button",
38883
38956
  {
38884
38957
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
38885
38958
  "flex items-center gap-4 h-full px-4",
38886
- "bg-ods-card border-l border-ods-border",
38959
+ // Transparent so the cell inherits the bar's background.
38960
+ "bg-transparent border-l border-ods-border",
38887
38961
  "w-[240px] shrink-0",
38888
38962
  "hover:bg-ods-bg-hover transition-colors",
38889
38963
  className
@@ -38901,11 +38975,11 @@ function HeaderOrganizationFilter({
38901
38975
  }
38902
38976
  ) }),
38903
38977
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSGL6URIJcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
38904
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSGL6URIJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _929 => _929("")]), children: "All Organizations" }),
38978
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSGL6URIJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _951 => _951("")]), children: "All Organizations" }),
38905
38979
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38906
38980
  _chunkSGL6URIJcjs.DropdownMenuItem,
38907
38981
  {
38908
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _930 => _930(org.id)]),
38982
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _952 => _952(org.id)]),
38909
38983
  children: org.name
38910
38984
  },
38911
38985
  org.id
@@ -38942,14 +39016,14 @@ var AppHeader = React124.default.memo(function AppHeader2({
38942
39016
  }) {
38943
39017
  const isMdUp = _nullishCoalesce(_chunkTTYJAZ7Pcjs.useMdUp.call(void 0, ), () => ( false));
38944
39018
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
38945
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38946
- "header",
39019
+ const cellDivider = "border-l border-ods-border";
39020
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39021
+ TopNavigation,
38947
39022
  {
38948
- className: _chunkA62C4C4Vcjs.cn.call(void 0,
38949
- "flex items-center w-full sticky top-0 z-40 border-b border-ods-border bg-ods-card h-12 md:h-14 divide-x divide-ods-border",
38950
- className
38951
- ),
38952
- children: [
39023
+ className: _chunkA62C4C4Vcjs.cn.call(void 0, "sticky top-0 z-40", className),
39024
+ centerBreakpoint: "md",
39025
+ leading: (
39026
+ // Mobile: Burger Menu Button
38953
39027
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38954
39028
  HeaderButton,
38955
39029
  {
@@ -38957,33 +39031,31 @@ var AppHeader = React124.default.memo(function AppHeader2({
38957
39031
  isActive: isMobileMenuOpen,
38958
39032
  icon: isMobileMenuOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Menu01Icon, { className: "w-4 h-4" }),
38959
39033
  "aria-label": isMobileMenuOpen ? "Close menu" : "Open menu",
38960
- "aria-expanded": isMobileMenuOpen
39034
+ "aria-expanded": isMobileMenuOpen,
39035
+ className: "border-r border-ods-border"
38961
39036
  }
38962
- ),
38963
- !isMdUp && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 px-3 h-full flex-1", children: [
38964
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38965
- _chunkOB7YDOTKcjs.OpenFrameLogo,
38966
- {
38967
- className: "w-6 h-6 shrink-0",
38968
- upperPathColor: "var(--color-text-primary)",
38969
- lowerPathColor: "var(--color-accent-primary)"
38970
- }
38971
- ),
38972
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOB7YDOTKcjs.OpenFrameText, { textColor: "var(--color-text-primary)", className: "h-4" })
38973
- ] }),
38974
- showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38975
- HeaderGlobalSearch,
39037
+ )
39038
+ ),
39039
+ logo: !isMdUp && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
39040
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39041
+ _chunkOB7YDOTKcjs.OpenFrameLogo,
38976
39042
  {
38977
- onSubmit: onSearch,
38978
- className: _chunkA62C4C4Vcjs.cn.call(void 0, "hidden md:flex", dimmedClass)
39043
+ className: "w-6 h-6 shrink-0",
39044
+ upperPathColor: "var(--color-text-primary)",
39045
+ lowerPathColor: "var(--color-accent-primary)"
38979
39046
  }
38980
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex w-full" }),
39047
+ ),
39048
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOB7YDOTKcjs.OpenFrameText, { textColor: "var(--color-text-primary)", className: "h-4" })
39049
+ ] }),
39050
+ logoClassName: "gap-2",
39051
+ center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunkA62C4C4Vcjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
39052
+ sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
38981
39053
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38982
39054
  HeaderButton,
38983
39055
  {
38984
39056
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "w-4 h-4 md:w-6 md:h-6" }),
38985
39057
  "aria-label": "Search",
38986
- className: _chunkA62C4C4Vcjs.cn.call(void 0, "md:hidden", dimmedClass),
39058
+ className: _chunkA62C4C4Vcjs.cn.call(void 0, "md:hidden", cellDivider, dimmedClass),
38987
39059
  disabled
38988
39060
  }
38989
39061
  ),
@@ -38996,13 +39068,13 @@ var AppHeader = React124.default.memo(function AppHeader2({
38996
39068
  className: _chunkA62C4C4Vcjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
38997
39069
  }
38998
39070
  ),
38999
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeTrackerHeaderButton, { disabled, className: dimmedClass }),
39071
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TimeTrackerHeaderButton, { disabled, className: _chunkA62C4C4Vcjs.cn.call(void 0, cellDivider, dimmedClass) }),
39000
39072
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39001
39073
  NotificationsHeaderButton,
39002
39074
  {
39003
39075
  fallbackUnreadCount: unreadCount,
39004
39076
  disabled,
39005
- dimmedClass
39077
+ dimmedClass: _chunkA62C4C4Vcjs.cn.call(void 0, cellDivider, dimmedClass)
39006
39078
  }
39007
39079
  ),
39008
39080
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSGL6URIJcjs.DropdownMenu, { children: [
@@ -39023,6 +39095,7 @@ var AppHeader = React124.default.memo(function AppHeader2({
39023
39095
  disabled,
39024
39096
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
39025
39097
  "outline-none ring-0 focus:outline-none focus:ring-0 focus-visible:outline-none focus-visible:ring-0",
39098
+ cellDivider,
39026
39099
  dimmedClass
39027
39100
  )
39028
39101
  }
@@ -39082,33 +39155,24 @@ var AppHeader = React124.default.memo(function AppHeader2({
39082
39155
  isActive: isMingoAIActive,
39083
39156
  iconOnly: !isMdUp,
39084
39157
  disabled: disabled || !onMingoAI,
39085
- className: dimmedClass
39158
+ className: _chunkA62C4C4Vcjs.cn.call(void 0, cellDivider, dimmedClass)
39086
39159
  }
39087
39160
  )
39088
- ]
39161
+ ] })
39089
39162
  }
39090
39163
  );
39091
39164
  });
39092
- function NotificationsHeaderButton({
39093
- fallbackUnreadCount,
39094
- disabled,
39095
- dimmedClass
39096
- }) {
39165
+ function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
39097
39166
  const ctx = useOptionalNotifications();
39098
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _931 => _931.unreadCount]), () => ( fallbackUnreadCount))) > 0;
39099
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _932 => _932.isOpen]), () => ( false));
39100
- const onClick = _optionalChain([ctx, 'optionalAccess', _933 => _933.toggle]);
39167
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _953 => _953.unreadCount]), () => ( fallbackUnreadCount))) > 0;
39168
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _954 => _954.isOpen]), () => ( false));
39169
+ const onClick = _optionalChain([ctx, 'optionalAccess', _955 => _955.toggle]);
39101
39170
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39102
39171
  HeaderButton,
39103
39172
  {
39104
39173
  icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.XmarkIcon, { className: "w-4 h-4 md:w-6 md:h-6" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative w-4 h-4 md:w-6 md:h-6", children: [
39105
39174
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.BellIcon, { className: "w-full h-full" }),
39106
- hasUnread && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39107
- "span",
39108
- {
39109
- className: "absolute top-0 right-0 bg-ods-warning rounded-full w-1.5 h-1.5 md:w-2 md:h-2"
39110
- }
39111
- )
39175
+ hasUnread && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute top-0 right-0 bg-ods-warning rounded-full w-1.5 h-1.5 md:w-2 md:h-2" })
39112
39176
  ] }),
39113
39177
  "aria-label": isActive ? "Close notifications" : "Notifications",
39114
39178
  onClick,
@@ -39144,7 +39208,7 @@ var MobileBurgerMenu = React124.default.memo(function MobileBurgerMenu2({
39144
39208
  if (item.onClick) {
39145
39209
  item.onClick();
39146
39210
  } else if (item.path) {
39147
- _optionalChain([config, 'access', _934 => _934.onNavigate, 'optionalCall', _935 => _935(item.path)]);
39211
+ _optionalChain([config, 'access', _956 => _956.onNavigate, 'optionalCall', _957 => _957(item.path)]);
39148
39212
  }
39149
39213
  onClose();
39150
39214
  }, [config, onClose]);
@@ -39742,7 +39806,7 @@ var ShellTypeBadge = ({
39742
39806
  className,
39743
39807
  iconClassName
39744
39808
  }) => {
39745
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _936 => _936.toUpperCase, 'call', _937 => _937()]);
39809
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _958 => _958.toUpperCase, 'call', _959 => _959()]);
39746
39810
  const label = getShellLabel(normalizedType);
39747
39811
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
39748
39812
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -40129,12 +40193,12 @@ function OnboardingWalkthrough({
40129
40193
  }
40130
40194
  }, [state.completedSteps, markComplete]);
40131
40195
  const handleStepSkip = (step) => {
40132
- _optionalChain([step, 'access', _938 => _938.onSkip, 'optionalCall', _939 => _939()]);
40196
+ _optionalChain([step, 'access', _960 => _960.onSkip, 'optionalCall', _961 => _961()]);
40133
40197
  markSkipped(step.id);
40134
40198
  };
40135
40199
  const handleDismiss = () => {
40136
40200
  dismissOnboarding();
40137
- _optionalChain([onDismiss, 'optionalCall', _940 => _940()]);
40201
+ _optionalChain([onDismiss, 'optionalCall', _962 => _962()]);
40138
40202
  };
40139
40203
  if (state.dismissed) {
40140
40204
  return null;
@@ -40264,7 +40328,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
40264
40328
  onKeyDown: (e) => {
40265
40329
  if (e.key === "Enter" || e.key === " ") {
40266
40330
  e.preventDefault();
40267
- _optionalChain([onClick, 'optionalCall', _941 => _941()]);
40331
+ _optionalChain([onClick, 'optionalCall', _963 => _963()]);
40268
40332
  }
40269
40333
  },
40270
40334
  children: [
@@ -40365,7 +40429,7 @@ var LogsList = React121.forwardRef(({
40365
40429
  log,
40366
40430
  isLast: index === logs.length - 1,
40367
40431
  showConnector,
40368
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _942 => _942(log)])
40432
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _964 => _964(log)])
40369
40433
  },
40370
40434
  log.id
40371
40435
  ))
@@ -40466,7 +40530,7 @@ var Slider = React123.forwardRef(
40466
40530
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
40467
40531
  const handleChange = (e) => {
40468
40532
  const newValue = [Number(e.target.value)];
40469
- _optionalChain([onValueChange, 'optionalCall', _943 => _943(newValue)]);
40533
+ _optionalChain([onValueChange, 'optionalCall', _965 => _965(newValue)]);
40470
40534
  };
40471
40535
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40472
40536
  "input",
@@ -40853,7 +40917,7 @@ function CursorPaginationSimple({
40853
40917
  {
40854
40918
  variant: "transparent",
40855
40919
  size: "icon",
40856
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _944 => _944("")]),
40920
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _966 => _966("")]),
40857
40921
  disabled: !hasPreviousPage || loading,
40858
40922
  className: "h-8 w-8",
40859
40923
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -40865,7 +40929,7 @@ function CursorPaginationSimple({
40865
40929
  {
40866
40930
  variant: "transparent",
40867
40931
  size: "icon",
40868
- onClick: () => _optionalChain([onNext, 'optionalCall', _945 => _945("")]),
40932
+ onClick: () => _optionalChain([onNext, 'optionalCall', _967 => _967("")]),
40869
40933
  disabled: !hasNextPage || loading,
40870
40934
  className: "h-8 w-8",
40871
40935
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -40885,8 +40949,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
40885
40949
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
40886
40950
  title: _nullishCoalesce(message2, () => ( "No results found")),
40887
40951
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
40888
- buttonLabel: _optionalChain([action, 'optionalAccess', _946 => _946.label]),
40889
- onButtonClick: _optionalChain([action, 'optionalAccess', _947 => _947.onClick]),
40952
+ buttonLabel: _optionalChain([action, 'optionalAccess', _968 => _968.label]),
40953
+ onButtonClick: _optionalChain([action, 'optionalAccess', _969 => _969.onClick]),
40890
40954
  className: _chunkA62C4C4Vcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
40891
40955
  }
40892
40956
  );
@@ -40907,7 +40971,7 @@ function TableColumnFilterDropdown({
40907
40971
  placement = "bottom-start",
40908
40972
  dropdownClassName = "min-w-[240px]"
40909
40973
  }) {
40910
- const activeCount = _optionalChain([filters, 'optionalAccess', _948 => _948[columnKey], 'optionalAccess', _949 => _949.length]) || 0;
40974
+ const activeCount = _optionalChain([filters, 'optionalAccess', _970 => _970[columnKey], 'optionalAccess', _971 => _971.length]) || 0;
40911
40975
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40912
40976
  FiltersDropdown,
40913
40977
  {
@@ -40950,7 +41014,7 @@ function TableColumnFilterDropdown({
40950
41014
  delete newFilters[columnKey];
40951
41015
  onFilterChange(newFilters);
40952
41016
  },
40953
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _950 => _950[columnKey]]) || [] },
41017
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _972 => _972[columnKey]]) || [] },
40954
41018
  placement,
40955
41019
  dropdownClassName
40956
41020
  }
@@ -41160,7 +41224,7 @@ function TableCardSkeleton({
41160
41224
  className,
41161
41225
  rowClassName
41162
41226
  }) {
41163
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _951 => _951.key]);
41227
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _973 => _973.key]);
41164
41228
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
41165
41229
  "div",
41166
41230
  {
@@ -41253,7 +41317,7 @@ function TableRow({
41253
41317
  const keys = column.key.split(".");
41254
41318
  let value = item;
41255
41319
  for (const key of keys) {
41256
- value = _optionalChain([value, 'optionalAccess', _952 => _952[key]]);
41320
+ value = _optionalChain([value, 'optionalAccess', _974 => _974[key]]);
41257
41321
  }
41258
41322
  if (value === null || value === void 0) {
41259
41323
  return "-";
@@ -41342,7 +41406,7 @@ function useTableMotion(enabled) {
41342
41406
  // src/components/ui/table/table.tsx
41343
41407
 
41344
41408
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
41345
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _953 => _953.length])) || Boolean(renderRowActions);
41409
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _975 => _975.length])) || Boolean(renderRowActions);
41346
41410
  const result = [...columns];
41347
41411
  if (hasActions) {
41348
41412
  const actionsColumn = {
@@ -41438,7 +41502,7 @@ function Table({
41438
41502
  return rowKey(item);
41439
41503
  }
41440
41504
  const key = item[rowKey];
41441
- return _optionalChain([key, 'optionalAccess', _954 => _954.toString, 'call', _955 => _955()]) || index.toString();
41505
+ return _optionalChain([key, 'optionalAccess', _976 => _976.toString, 'call', _977 => _977()]) || index.toString();
41442
41506
  };
41443
41507
  const getRowClassName = (item, index) => {
41444
41508
  if (typeof rowClassName === "function") {
@@ -41472,23 +41536,23 @@ function Table({
41472
41536
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
41473
41537
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
41474
41538
  const sentinelRef = _react.useRef.call(void 0, null);
41475
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _956 => _956.onLoadMore]));
41476
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _957 => _957.onLoadMore]);
41539
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _978 => _978.onLoadMore]));
41540
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _979 => _979.onLoadMore]);
41477
41541
  _react.useEffect.call(void 0, () => {
41478
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _958 => _958.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
41542
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _980 => _980.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
41479
41543
  const sentinel = sentinelRef.current;
41480
41544
  if (!sentinel) return;
41481
41545
  const observer = new IntersectionObserver(
41482
41546
  (entries) => {
41483
- if (_optionalChain([entries, 'access', _959 => _959[0], 'optionalAccess', _960 => _960.isIntersecting])) {
41484
- _optionalChain([onLoadMoreRef, 'access', _961 => _961.current, 'optionalCall', _962 => _962()]);
41547
+ if (_optionalChain([entries, 'access', _981 => _981[0], 'optionalAccess', _982 => _982.isIntersecting])) {
41548
+ _optionalChain([onLoadMoreRef, 'access', _983 => _983.current, 'optionalCall', _984 => _984()]);
41485
41549
  }
41486
41550
  },
41487
41551
  { rootMargin: "200px" }
41488
41552
  );
41489
41553
  observer.observe(sentinel);
41490
41554
  return () => observer.disconnect();
41491
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _963 => _963.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _964 => _964.isFetchingNextPage])]);
41555
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _985 => _985.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _986 => _986.isFetchingNextPage])]);
41492
41556
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
41493
41557
  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: [
41494
41558
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: [
@@ -41558,14 +41622,14 @@ function Table({
41558
41622
  selected: isRowSelected(item),
41559
41623
  onSelect: handleSelectRow,
41560
41624
  animateRowReorder,
41561
- motionDiv: _optionalChain([tableMotion, 'optionalAccess', _965 => _965.motionDiv])
41625
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _987 => _987.motionDiv])
41562
41626
  },
41563
41627
  getRowKey(item, index)
41564
41628
  ));
41565
- const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _966 => _966.LayoutGroup]);
41629
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _988 => _988.LayoutGroup]);
41566
41630
  return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
41567
41631
  })(),
41568
- _optionalChain([infiniteScroll, 'optionalAccess', _967 => _967.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41632
+ _optionalChain([infiniteScroll, 'optionalAccess', _989 => _989.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41569
41633
  TableCardSkeleton,
41570
41634
  {
41571
41635
  columns,
@@ -41574,7 +41638,7 @@ function Table({
41574
41638
  hasChevron: Boolean(rowHref)
41575
41639
  }
41576
41640
  ),
41577
- _optionalChain([infiniteScroll, 'optionalAccess', _968 => _968.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
41641
+ _optionalChain([infiniteScroll, 'optionalAccess', _990 => _990.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
41578
41642
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
41579
41643
  "div",
41580
41644
  {
@@ -41932,7 +41996,7 @@ function QueryReportTable({
41932
41996
  );
41933
41997
  const handleExport = () => {
41934
41998
  exportToCSV(data, columns, exportFilename);
41935
- _optionalChain([onExport, 'optionalCall', _969 => _969()]);
41999
+ _optionalChain([onExport, 'optionalCall', _991 => _991()]);
41936
42000
  };
41937
42001
  const tableMinWidth = columns.length * (columnWidth + 16);
41938
42002
  const {
@@ -42104,7 +42168,7 @@ function DataTableColumnFilter({
42104
42168
  align = "left"
42105
42169
  }) {
42106
42170
  const currentValue = column.getFilterValue();
42107
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _970 => _970.length]), () => ( 0));
42171
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _992 => _992.length]), () => ( 0));
42108
42172
  const sections = _react.useMemo.call(void 0,
42109
42173
  () => [
42110
42174
  {
@@ -42191,7 +42255,7 @@ function DataTableHeader({
42191
42255
  if (header.isPlaceholder) return false;
42192
42256
  if (isLgUp) return true;
42193
42257
  const meta = header.column.columnDef.meta;
42194
- return Boolean(_optionalChain([meta, 'optionalAccess', _971 => _971.filter])) || _optionalChain([meta, 'optionalAccess', _972 => _972.alwaysShowHeader]) === true;
42258
+ return Boolean(_optionalChain([meta, 'optionalAccess', _993 => _993.filter])) || _optionalChain([meta, 'optionalAccess', _994 => _994.alwaysShowHeader]) === true;
42195
42259
  });
42196
42260
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42197
42261
  "div",
@@ -42226,21 +42290,21 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
42226
42290
  if (header.isPlaceholder) return null;
42227
42291
  const column = header.column;
42228
42292
  const meta = column.columnDef.meta;
42229
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _973 => _973.filter]));
42230
- const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _974 => _974.alwaysShowHeader]) === true;
42231
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _975 => _975.align]), () => ( "left"));
42232
- const canSort = _optionalChain([meta, 'optionalAccess', _976 => _976.sortable]) === true;
42233
- const sortDir = _optionalChain([sort, 'optionalAccess', _977 => _977.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
42293
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _995 => _995.filter]));
42294
+ const keepOnTablet = hasFilter || _optionalChain([meta, 'optionalAccess', _996 => _996.alwaysShowHeader]) === true;
42295
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _997 => _997.align]), () => ( "left"));
42296
+ const canSort = _optionalChain([meta, 'optionalAccess', _998 => _998.sortable]) === true;
42297
+ const sortDir = _optionalChain([sort, 'optionalAccess', _999 => _999.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
42234
42298
  if (!isLgUp && !keepOnTablet) return null;
42235
42299
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42236
42300
  "div",
42237
42301
  {
42238
42302
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
42239
42303
  "flex items-stretch",
42240
- isLgUp && (_optionalChain([meta, 'optionalAccess', _978 => _978.width]) || "flex-1 min-w-0"),
42241
- _optionalChain([meta, 'optionalAccess', _979 => _979.headerClassName]),
42304
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _1000 => _1000.width]) || "flex-1 min-w-0"),
42305
+ _optionalChain([meta, 'optionalAccess', _1001 => _1001.headerClassName]),
42242
42306
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
42243
- !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _980 => _980.hideAt]))
42307
+ !(keepOnTablet && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _1002 => _1002.hideAt]))
42244
42308
  ),
42245
42309
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42246
42310
  DataTableColumnFilter,
@@ -42261,7 +42325,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
42261
42325
  isLgUp && alignJustify(align),
42262
42326
  canSort && "group cursor-pointer"
42263
42327
  ),
42264
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _981 => _981(column.id)]) : void 0,
42328
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _1003 => _1003(column.id)]) : void 0,
42265
42329
  children: [
42266
42330
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
42267
42331
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -42326,7 +42390,7 @@ function DataTableSkeleton({
42326
42390
  }) {
42327
42391
  const table = useDataTableContext();
42328
42392
  const columns = table.getVisibleFlatColumns();
42329
- const firstColumnId = _optionalChain([columns, 'access', _982 => _982[0], 'optionalAccess', _983 => _983.id]);
42393
+ const firstColumnId = _optionalChain([columns, 'access', _1004 => _1004[0], 'optionalAccess', _1005 => _1005.id]);
42330
42394
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
42331
42395
  "div",
42332
42396
  {
@@ -42350,13 +42414,13 @@ function DataTableSkeleton({
42350
42414
  {
42351
42415
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
42352
42416
  "flex flex-col justify-center shrink-0",
42353
- _optionalChain([meta, 'optionalAccess', _984 => _984.width]) || "flex-1",
42417
+ _optionalChain([meta, 'optionalAccess', _1006 => _1006.width]) || "flex-1",
42354
42418
  // Same responsive hiding the real header and row apply.
42355
42419
  // Without it a `hideAt` column was drawn in the skeleton and
42356
42420
  // absent from the loaded table, so below that breakpoint the
42357
42421
  // remaining columns were sized against a different total and
42358
42422
  // the whole row re-laid-out the moment data arrived.
42359
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _985 => _985.hideAt]))
42423
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _1007 => _1007.hideAt]))
42360
42424
  ),
42361
42425
  children: [
42362
42426
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -42406,7 +42470,7 @@ function DataTableRowImpl({
42406
42470
  const handleClick = _react.useCallback.call(void 0,
42407
42471
  (e) => {
42408
42472
  const target = e.target;
42409
- if (!_optionalChain([containerRef, 'access', _986 => _986.current, 'optionalAccess', _987 => _987.contains, 'call', _988 => _988(target)])) {
42473
+ if (!_optionalChain([containerRef, 'access', _1008 => _1008.current, 'optionalAccess', _1009 => _1009.contains, 'call', _1010 => _1010(target)])) {
42410
42474
  if (isLinkMode) e.preventDefault();
42411
42475
  return;
42412
42476
  }
@@ -42414,7 +42478,7 @@ function DataTableRowImpl({
42414
42478
  if (isLinkMode) e.preventDefault();
42415
42479
  return;
42416
42480
  }
42417
- _optionalChain([onClick, 'optionalCall', _989 => _989(row.original)]);
42481
+ _optionalChain([onClick, 'optionalCall', _1011 => _1011(row.original)]);
42418
42482
  },
42419
42483
  [onClick, row.original, isLinkMode]
42420
42484
  );
@@ -42439,10 +42503,10 @@ function DataTableRowImpl({
42439
42503
  {
42440
42504
  className: _chunkA62C4C4Vcjs.cn.call(void 0,
42441
42505
  "flex flex-col overflow-hidden",
42442
- alignJustify(_optionalChain([meta, 'optionalAccess', _990 => _990.align])),
42443
- _optionalChain([meta, 'optionalAccess', _991 => _991.width]) || "flex-1 min-w-0",
42444
- _optionalChain([meta, 'optionalAccess', _992 => _992.cellClassName]),
42445
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _993 => _993.hideAt]))
42506
+ alignJustify(_optionalChain([meta, 'optionalAccess', _1012 => _1012.align])),
42507
+ _optionalChain([meta, 'optionalAccess', _1013 => _1013.width]) || "flex-1 min-w-0",
42508
+ _optionalChain([meta, 'optionalAccess', _1014 => _1014.cellClassName]),
42509
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _1015 => _1015.hideAt]))
42446
42510
  ),
42447
42511
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
42448
42512
  },
@@ -42522,7 +42586,7 @@ function DataTableBody({
42522
42586
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkA62C4C4Vcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
42523
42587
  rows.map((row, index) => {
42524
42588
  const item = row.original;
42525
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _994 => _994(item)]), () => ( void 0));
42589
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _1016 => _1016(item)]), () => ( void 0));
42526
42590
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
42527
42591
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42528
42592
  DataTableRow,
@@ -42533,7 +42597,7 @@ function DataTableBody({
42533
42597
  compact,
42534
42598
  autoHeight,
42535
42599
  className: cls,
42536
- subRow: _optionalChain([renderSubRow, 'optionalCall', _995 => _995(item)])
42600
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _1017 => _1017(item)])
42537
42601
  },
42538
42602
  row.id
42539
42603
  );
@@ -42588,7 +42652,7 @@ function DataTableInfiniteFooter({
42588
42652
  if (!sentinel) return;
42589
42653
  const observer = new IntersectionObserver(
42590
42654
  (entries) => {
42591
- if (_optionalChain([entries, 'access', _996 => _996[0], 'optionalAccess', _997 => _997.isIntersecting])) onLoadMoreRef.current();
42655
+ if (_optionalChain([entries, 'access', _1018 => _1018[0], 'optionalAccess', _1019 => _1019.isIntersecting])) onLoadMoreRef.current();
42592
42656
  },
42593
42657
  { rootMargin }
42594
42658
  );
@@ -42636,7 +42700,7 @@ function DataTableRowCount({
42636
42700
  const table = useDataTableContext();
42637
42701
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
42638
42702
  if (hideWhenEmpty && count === 0) return null;
42639
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _998 => _998(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
42703
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _1020 => _1020(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
42640
42704
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
42641
42705
  "span",
42642
42706
  {
@@ -42796,7 +42860,7 @@ function SearchInput({
42796
42860
  if (!showHiddenTags) return;
42797
42861
  const handleClick = (e) => {
42798
42862
  const target = e.target;
42799
- if (!_optionalChain([hiddenTagsRef, 'access', _999 => _999.current, 'optionalAccess', _1000 => _1000.contains, 'call', _1001 => _1001(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _1002 => _1002.current, 'optionalAccess', _1003 => _1003.contains, 'call', _1004 => _1004(target)])) {
42863
+ if (!_optionalChain([hiddenTagsRef, 'access', _1021 => _1021.current, 'optionalAccess', _1022 => _1022.contains, 'call', _1023 => _1023(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _1024 => _1024.current, 'optionalAccess', _1025 => _1025.contains, 'call', _1026 => _1026(target)])) {
42800
42864
  setShowHiddenTags(false);
42801
42865
  }
42802
42866
  };
@@ -42844,10 +42908,10 @@ function SearchInput({
42844
42908
  } else {
42845
42909
  setInternalValue("");
42846
42910
  }
42847
- _optionalChain([inputRef, 'access', _1005 => _1005.current, 'optionalAccess', _1006 => _1006.focus, 'call', _1007 => _1007()]);
42911
+ _optionalChain([inputRef, 'access', _1027 => _1027.current, 'optionalAccess', _1028 => _1028.focus, 'call', _1029 => _1029()]);
42848
42912
  };
42849
42913
  const handleResultClick = (result, e) => {
42850
- _optionalChain([onResultSelect, 'optionalCall', _1008 => _1008(
42914
+ _optionalChain([onResultSelect, 'optionalCall', _1030 => _1030(
42851
42915
  result,
42852
42916
  e ? {
42853
42917
  metaKey: e.metaKey,
@@ -42879,7 +42943,7 @@ function SearchInput({
42879
42943
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
42880
42944
  handleResultClick(flatResults[highlightedIndex]);
42881
42945
  } else {
42882
- _optionalChain([onSubmit, 'optionalCall', _1009 => _1009(currentValue)]);
42946
+ _optionalChain([onSubmit, 'optionalCall', _1031 => _1031(currentValue)]);
42883
42947
  }
42884
42948
  break;
42885
42949
  case "Escape":
@@ -42957,7 +43021,7 @@ function SearchInput({
42957
43021
  dropdownVisible && "!border-ods-accent"
42958
43022
  ),
42959
43023
  onClick: () => {
42960
- _optionalChain([inputRef, 'access', _1010 => _1010.current, 'optionalAccess', _1011 => _1011.focus, 'call', _1012 => _1012()]);
43024
+ _optionalChain([inputRef, 'access', _1032 => _1032.current, 'optionalAccess', _1033 => _1033.focus, 'call', _1034 => _1034()]);
42961
43025
  setIsOpen(true);
42962
43026
  },
42963
43027
  children: [
@@ -43041,10 +43105,10 @@ function SearchInput({
43041
43105
  align: "start",
43042
43106
  onOpenAutoFocus: (e) => {
43043
43107
  e.preventDefault();
43044
- _optionalChain([inputRef, 'access', _1013 => _1013.current, 'optionalAccess', _1014 => _1014.focus, 'call', _1015 => _1015()]);
43108
+ _optionalChain([inputRef, 'access', _1035 => _1035.current, 'optionalAccess', _1036 => _1036.focus, 'call', _1037 => _1037()]);
43045
43109
  },
43046
43110
  onInteractOutside: (e) => {
43047
- if (_optionalChain([containerRef, 'access', _1016 => _1016.current, 'optionalAccess', _1017 => _1017.contains, 'call', _1018 => _1018(e.target)])) {
43111
+ if (_optionalChain([containerRef, 'access', _1038 => _1038.current, 'optionalAccess', _1039 => _1039.contains, 'call', _1040 => _1040(e.target)])) {
43048
43112
  e.preventDefault();
43049
43113
  }
43050
43114
  },
@@ -43061,10 +43125,10 @@ function SearchInput({
43061
43125
  ref: hiddenTagsPopupRef,
43062
43126
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
43063
43127
  style: {
43064
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _1019 => _1019.current, 'optionalAccess', _1020 => _1020.getBoundingClientRect, 'call', _1021 => _1021(), 'access', _1022 => _1022.left]), () => ( 0))) : 0
43128
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _1041 => _1041.current, 'optionalAccess', _1042 => _1042.getBoundingClientRect, 'call', _1043 => _1043(), 'access', _1044 => _1044.left]), () => ( 0))) : 0
43065
43129
  },
43066
43130
  onRemove: (value2) => {
43067
- _optionalChain([onFilterRemove, 'optionalCall', _1023 => _1023(value2)]);
43131
+ _optionalChain([onFilterRemove, 'optionalCall', _1045 => _1045(value2)]);
43068
43132
  if (hiddenCount <= 1) setShowHiddenTags(false);
43069
43133
  }
43070
43134
  }
@@ -43115,7 +43179,7 @@ function FilterListItem({
43115
43179
  }) {
43116
43180
  const handleToggle = () => {
43117
43181
  if (disabled) return;
43118
- _optionalChain([onToggle, 'optionalCall', _1024 => _1024(!selected)]);
43182
+ _optionalChain([onToggle, 'optionalCall', _1046 => _1046(!selected)]);
43119
43183
  };
43120
43184
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
43121
43185
  "div",
@@ -43162,7 +43226,7 @@ function FilterListItem({
43162
43226
  CheckboxPrimitive4.Root,
43163
43227
  {
43164
43228
  checked: selected,
43165
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _1025 => _1025(c === true)]),
43229
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _1047 => _1047(c === true)]),
43166
43230
  onClick: (e) => e.stopPropagation(),
43167
43231
  disabled,
43168
43232
  "aria-label": title,
@@ -43261,7 +43325,7 @@ function TagSearchInput({
43261
43325
  if (!showHiddenTags) return;
43262
43326
  const handleClick = (e) => {
43263
43327
  const target = e.target;
43264
- if (!_optionalChain([hiddenTagsRef, 'access', _1026 => _1026.current, 'optionalAccess', _1027 => _1027.contains, 'call', _1028 => _1028(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _1029 => _1029.current, 'optionalAccess', _1030 => _1030.contains, 'call', _1031 => _1031(target)])) {
43328
+ if (!_optionalChain([hiddenTagsRef, 'access', _1048 => _1048.current, 'optionalAccess', _1049 => _1049.contains, 'call', _1050 => _1050(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _1051 => _1051.current, 'optionalAccess', _1052 => _1052.contains, 'call', _1053 => _1053(target)])) {
43265
43329
  setShowHiddenTags(false);
43266
43330
  }
43267
43331
  };
@@ -43277,13 +43341,13 @@ function TagSearchInput({
43277
43341
  e.preventDefault();
43278
43342
  onSubmit(searchValue);
43279
43343
  }
43280
- _optionalChain([onKeyDown, 'optionalCall', _1032 => _1032(e)]);
43344
+ _optionalChain([onKeyDown, 'optionalCall', _1054 => _1054(e)]);
43281
43345
  };
43282
43346
  const handleClearAll = (e) => {
43283
43347
  e.stopPropagation();
43284
43348
  e.preventDefault();
43285
- _optionalChain([onClearAll, 'optionalCall', _1033 => _1033()]);
43286
- _optionalChain([inputRef, 'access', _1034 => _1034.current, 'optionalAccess', _1035 => _1035.focus, 'call', _1036 => _1036()]);
43349
+ _optionalChain([onClearAll, 'optionalCall', _1055 => _1055()]);
43350
+ _optionalChain([inputRef, 'access', _1056 => _1056.current, 'optionalAccess', _1057 => _1057.focus, 'call', _1058 => _1058()]);
43287
43351
  };
43288
43352
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
43289
43353
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -43306,7 +43370,7 @@ function TagSearchInput({
43306
43370
  className
43307
43371
  ),
43308
43372
  onClick: () => {
43309
- if (!disabled) _optionalChain([inputRef, 'access', _1037 => _1037.current, 'optionalAccess', _1038 => _1038.focus, 'call', _1039 => _1039()]);
43373
+ if (!disabled) _optionalChain([inputRef, 'access', _1059 => _1059.current, 'optionalAccess', _1060 => _1060.focus, 'call', _1061 => _1061()]);
43310
43374
  },
43311
43375
  children: [
43312
43376
  /* @__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" }) }),
@@ -43379,7 +43443,7 @@ function TagSearchInput({
43379
43443
  items: hiddenTags,
43380
43444
  disabled,
43381
43445
  style: {
43382
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _1040 => _1040.current, 'optionalAccess', _1041 => _1041.getBoundingClientRect, 'call', _1042 => _1042(), 'access', _1043 => _1043.left]), () => ( 0))) : 0
43446
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _1062 => _1062.current, 'optionalAccess', _1063 => _1063.getBoundingClientRect, 'call', _1064 => _1064(), 'access', _1065 => _1065.left]), () => ( 0))) : 0
43383
43447
  },
43384
43448
  onRemove: (value) => {
43385
43449
  onTagRemove(value);
@@ -43480,7 +43544,7 @@ function MarkdownEditor({
43480
43544
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
43481
43545
  _react.useEffect.call(void 0, () => {
43482
43546
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
43483
- if (_optionalChain([mod, 'access', _1044 => _1044.commands, 'optionalAccess', _1045 => _1045.getExtraCommands])) {
43547
+ if (_optionalChain([mod, 'access', _1066 => _1066.commands, 'optionalAccess', _1067 => _1067.getExtraCommands])) {
43484
43548
  setDefaultExtraCommands(mod.commands.getExtraCommands());
43485
43549
  }
43486
43550
  });
@@ -43514,7 +43578,7 @@ function MarkdownEditor({
43514
43578
  const isImage = file.type.startsWith("image/");
43515
43579
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
43516
43580
  insertTextAtCursor(markdown);
43517
- _optionalChain([onFileUploaded, 'optionalCall', _1046 => _1046(url, file.name)]);
43581
+ _optionalChain([onFileUploaded, 'optionalCall', _1068 => _1068(url, file.name)]);
43518
43582
  } catch (error) {
43519
43583
  console.error("File upload failed:", error);
43520
43584
  setUploadProgress("Upload failed. Please try again.");
@@ -43527,7 +43591,7 @@ function MarkdownEditor({
43527
43591
  );
43528
43592
  const handleFileInputChange = _react.useCallback.call(void 0,
43529
43593
  (e) => {
43530
- const file = _optionalChain([e, 'access', _1047 => _1047.target, 'access', _1048 => _1048.files, 'optionalAccess', _1049 => _1049[0]]);
43594
+ const file = _optionalChain([e, 'access', _1069 => _1069.target, 'access', _1070 => _1070.files, 'optionalAccess', _1071 => _1071[0]]);
43531
43595
  if (file) {
43532
43596
  handleFileUpload(file);
43533
43597
  e.target.value = "";
@@ -43538,7 +43602,7 @@ function MarkdownEditor({
43538
43602
  const handlePaste = _react.useCallback.call(void 0,
43539
43603
  (e) => {
43540
43604
  if (!onUploadFile) return;
43541
- const items = _optionalChain([e, 'access', _1050 => _1050.clipboardData, 'optionalAccess', _1051 => _1051.items]);
43605
+ const items = _optionalChain([e, 'access', _1072 => _1072.clipboardData, 'optionalAccess', _1073 => _1073.items]);
43542
43606
  if (!items) return;
43543
43607
  for (const item of items) {
43544
43608
  if (item.type.startsWith("image/")) {
@@ -43563,7 +43627,7 @@ function MarkdownEditor({
43563
43627
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
43564
43628
  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" }),
43565
43629
  execute: () => {
43566
- _optionalChain([fileInputRef, 'access', _1052 => _1052.current, 'optionalAccess', _1053 => _1053.click, 'call', _1054 => _1054()]);
43630
+ _optionalChain([fileInputRef, 'access', _1074 => _1074.current, 'optionalAccess', _1075 => _1075.click, 'call', _1076 => _1076()]);
43567
43631
  }
43568
43632
  } : null;
43569
43633
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -43575,7 +43639,7 @@ function MarkdownEditor({
43575
43639
  const EDGE_ZONE = 60;
43576
43640
  const MAX_SCROLL_SPEED = 15;
43577
43641
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
43578
- let node = _optionalChain([el, 'optionalAccess', _1055 => _1055.parentElement]);
43642
+ let node = _optionalChain([el, 'optionalAccess', _1077 => _1077.parentElement]);
43579
43643
  while (node && node !== document.documentElement) {
43580
43644
  const { overflowY } = window.getComputedStyle(node);
43581
43645
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -43718,7 +43782,7 @@ function matchesAccept(file, accept) {
43718
43782
  });
43719
43783
  }
43720
43784
  function dragHasFiles(e) {
43721
- const types = _optionalChain([e, 'access', _1056 => _1056.dataTransfer, 'optionalAccess', _1057 => _1057.types]);
43785
+ const types = _optionalChain([e, 'access', _1078 => _1078.dataTransfer, 'optionalAccess', _1079 => _1079.types]);
43722
43786
  if (!types) return false;
43723
43787
  for (let i = 0; i < types.length; i++) {
43724
43788
  if (types[i] === "Files") return true;
@@ -43814,7 +43878,7 @@ function FileUpload({
43814
43878
  e.stopPropagation();
43815
43879
  setDragActive(false);
43816
43880
  if (disabled) return;
43817
- if (_optionalChain([e, 'access', _1058 => _1058.dataTransfer, 'access', _1059 => _1059.files, 'optionalAccess', _1060 => _1060.length])) {
43881
+ if (_optionalChain([e, 'access', _1080 => _1080.dataTransfer, 'access', _1081 => _1081.files, 'optionalAccess', _1082 => _1082.length])) {
43818
43882
  handleFiles(e.dataTransfer.files);
43819
43883
  }
43820
43884
  };
@@ -43842,7 +43906,7 @@ function FileUpload({
43842
43906
  e.preventDefault();
43843
43907
  dragCounter = 0;
43844
43908
  setDragActive(false);
43845
- if (_optionalChain([e, 'access', _1061 => _1061.dataTransfer, 'optionalAccess', _1062 => _1062.files, 'optionalAccess', _1063 => _1063.length])) {
43909
+ if (_optionalChain([e, 'access', _1083 => _1083.dataTransfer, 'optionalAccess', _1084 => _1084.files, 'optionalAccess', _1085 => _1085.length])) {
43846
43910
  handleFilesRef.current(e.dataTransfer.files);
43847
43911
  }
43848
43912
  };
@@ -43864,7 +43928,7 @@ function FileUpload({
43864
43928
  };
43865
43929
  }, [acceptWindowDrops, disabled]);
43866
43930
  const handleFileSelect = (e) => {
43867
- if (_optionalChain([e, 'access', _1064 => _1064.target, 'access', _1065 => _1065.files, 'optionalAccess', _1066 => _1066.length])) {
43931
+ if (_optionalChain([e, 'access', _1086 => _1086.target, 'access', _1087 => _1087.files, 'optionalAccess', _1088 => _1088.length])) {
43868
43932
  handleFiles(e.target.files);
43869
43933
  }
43870
43934
  };
@@ -43881,7 +43945,7 @@ function FileUpload({
43881
43945
  };
43882
43946
  const openDialog = async () => {
43883
43947
  if (disabled) return;
43884
- _optionalChain([fileInputRef, 'access', _1067 => _1067.current, 'optionalAccess', _1068 => _1068.click, 'call', _1069 => _1069()]);
43948
+ _optionalChain([fileInputRef, 'access', _1089 => _1089.current, 'optionalAccess', _1090 => _1090.click, 'call', _1091 => _1091()]);
43885
43949
  };
43886
43950
  const displayError = error || validationError || void 0;
43887
43951
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -43943,7 +44007,7 @@ function FileUpload({
43943
44007
  "button",
43944
44008
  {
43945
44009
  type: "button",
43946
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _1070 => _1070(entry.id)]),
44010
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _1092 => _1092(entry.id)]),
43947
44011
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
43948
44012
  "aria-label": `Remove ${entry.fileName}`,
43949
44013
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrashIcon, { className: "size-6" })
@@ -44075,7 +44139,7 @@ function ImageUploader({
44075
44139
  onChange(file);
44076
44140
  };
44077
44141
  const handleFileSelect = (e) => {
44078
- validateAndEmit(_optionalChain([e, 'access', _1071 => _1071.target, 'access', _1072 => _1072.files, 'optionalAccess', _1073 => _1073[0]]));
44142
+ validateAndEmit(_optionalChain([e, 'access', _1093 => _1093.target, 'access', _1094 => _1094.files, 'optionalAccess', _1095 => _1095[0]]));
44079
44143
  if (inputRef.current) inputRef.current.value = "";
44080
44144
  };
44081
44145
  const handleDrag = (e) => {
@@ -44090,11 +44154,11 @@ function ImageUploader({
44090
44154
  e.stopPropagation();
44091
44155
  setDragActive(false);
44092
44156
  if (!interactive) return;
44093
- validateAndEmit(_optionalChain([e, 'access', _1074 => _1074.dataTransfer, 'access', _1075 => _1075.files, 'optionalAccess', _1076 => _1076[0]]));
44157
+ validateAndEmit(_optionalChain([e, 'access', _1096 => _1096.dataTransfer, 'access', _1097 => _1097.files, 'optionalAccess', _1098 => _1098[0]]));
44094
44158
  };
44095
44159
  const openDialog = () => {
44096
44160
  if (!interactive) return;
44097
- _optionalChain([inputRef, 'access', _1077 => _1077.current, 'optionalAccess', _1078 => _1078.click, 'call', _1079 => _1079()]);
44161
+ _optionalChain([inputRef, 'access', _1099 => _1099.current, 'optionalAccess', _1100 => _1100.click, 'call', _1101 => _1101()]);
44098
44162
  };
44099
44163
  const handleRootKeyDown = (e) => {
44100
44164
  if (hasImage || !interactive) return;
@@ -44285,8 +44349,8 @@ function ColorPresetSelect({
44285
44349
  }) {
44286
44350
  const selectedPreset = presets.find((p) => p.key === presetKey);
44287
44351
  const isCustom = !selectedPreset;
44288
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _1080 => _1080.label]), () => ( "Custom"));
44289
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _1081 => _1081.color]), () => ( value));
44352
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _1102 => _1102.label]), () => ( "Custom"));
44353
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _1103 => _1103.color]), () => ( value));
44290
44354
  const groups = [
44291
44355
  {
44292
44356
  items: [
@@ -44576,7 +44640,7 @@ function TicketStatusConfigRow({
44576
44640
  _chunkSGL6URIJcjs.Input,
44577
44641
  {
44578
44642
  value: name,
44579
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _1082 => _1082(e.target.value)]),
44643
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _1104 => _1104(e.target.value)]),
44580
44644
  disabled: isSystem,
44581
44645
  readOnly: isSystem,
44582
44646
  "aria-label": "Status name",
@@ -45087,14 +45151,14 @@ function TicketInfoSection({
45087
45151
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45088
45152
  SquareAvatar,
45089
45153
  {
45090
- src: _optionalChain([organization, 'optionalAccess', _1083 => _1083.imageSrc]),
45091
- alt: _optionalChain([organization, 'optionalAccess', _1084 => _1084.name]),
45092
- fallback: _optionalChain([organization, 'optionalAccess', _1085 => _1085.name]) || "Org",
45154
+ src: _optionalChain([organization, 'optionalAccess', _1105 => _1105.imageSrc]),
45155
+ alt: _optionalChain([organization, 'optionalAccess', _1106 => _1106.name]),
45156
+ fallback: _optionalChain([organization, 'optionalAccess', _1107 => _1107.name]) || "Org",
45093
45157
  size: "md",
45094
45158
  className: "shrink-0"
45095
45159
  }
45096
45160
  ),
45097
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _1086 => _1086.name]) || "Unassigned", label: "Organization" })
45161
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _1108 => _1108.name]) || "Unassigned", label: "Organization" })
45098
45162
  ] }),
45099
45163
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45100
45164
  AssigneeDropdown,
@@ -45115,10 +45179,10 @@ function TicketInfoSection({
45115
45179
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
45116
45180
  InfoCell2,
45117
45181
  {
45118
- value: _optionalChain([device, 'optionalAccess', _1087 => _1087.name]) || "Unassigned",
45182
+ value: _optionalChain([device, 'optionalAccess', _1109 => _1109.name]) || "Unassigned",
45119
45183
  label: "Device",
45120
- icon: _optionalChain([device, 'optionalAccess', _1088 => _1088.icon]),
45121
- onClick: _optionalChain([device, 'optionalAccess', _1089 => _1089.onClick])
45184
+ icon: _optionalChain([device, 'optionalAccess', _1110 => _1110.icon]),
45185
+ onClick: _optionalChain([device, 'optionalAccess', _1111 => _1111.onClick])
45122
45186
  }
45123
45187
  ),
45124
45188
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -45448,7 +45512,7 @@ function RoadmapCard({
45448
45512
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
45449
45513
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
45450
45514
  const hasFigma = !!item.figmaUrl;
45451
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _1090 => _1090.screenshots, 'optionalAccess', _1091 => _1091.length]), () => ( 0))) > 0;
45515
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _1112 => _1112.screenshots, 'optionalAccess', _1113 => _1113.length]), () => ( 0))) > 0;
45452
45516
  const typeLabel = getTaskTypeLabel(item.customItemId);
45453
45517
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
45454
45518
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -45467,7 +45531,7 @@ function RoadmapCard({
45467
45531
  unoptimized: true,
45468
45532
  className: "h-8 w-8 object-contain"
45469
45533
  }
45470
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1092 => _1092.title, 'optionalAccess', _1093 => _1093.substring, 'call', _1094 => _1094(0, 2)]) || "??" })
45534
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h6 uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1114 => _1114.title, 'optionalAccess', _1115 => _1115.substring, 'call', _1116 => _1116(0, 2)]) || "??" })
45471
45535
  }
45472
45536
  ),
45473
45537
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -45542,7 +45606,7 @@ function RoadmapCard({
45542
45606
  unoptimized: true,
45543
45607
  className: "object-contain p-1"
45544
45608
  }
45545
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1095 => _1095.title, 'optionalAccess', _1096 => _1096.substring, 'call', _1097 => _1097(0, 2)]) || "??" }) }),
45609
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _1117 => _1117.title, 'optionalAccess', _1118 => _1118.substring, 'call', _1119 => _1119(0, 2)]) || "??" }) }),
45546
45610
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
45547
45611
  /* @__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 flex-1 line-clamp-2", children: item.title }) }),
45548
45612
  /* @__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 truncate", children: [
@@ -46052,7 +46116,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
46052
46116
  ] }) : null,
46053
46117
  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-h6 text-ods-text-secondary", children: item.preview }) }) : null
46054
46118
  ] }),
46055
- _optionalChain([anchorProps, 'optionalAccess', _1098 => _1098.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
46119
+ _optionalChain([anchorProps, 'optionalAccess', _1120 => _1120.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
46056
46120
  ] });
46057
46121
  if (!anchorProps) {
46058
46122
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -46122,7 +46186,7 @@ function getDefaultOptions() {
46122
46186
  // node_modules/date-fns/startOfWeek.mjs
46123
46187
  function startOfWeek(date, options) {
46124
46188
  const defaultOptions2 = getDefaultOptions();
46125
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1099 => _1099.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1100 => _1100.locale, 'optionalAccess', _1101 => _1101.options, 'optionalAccess', _1102 => _1102.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1103 => _1103.locale, 'optionalAccess', _1104 => _1104.options, 'optionalAccess', _1105 => _1105.weekStartsOn]))), () => ( 0));
46189
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1121 => _1121.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1122 => _1122.locale, 'optionalAccess', _1123 => _1123.options, 'optionalAccess', _1124 => _1124.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1125 => _1125.locale, 'optionalAccess', _1126 => _1126.options, 'optionalAccess', _1127 => _1127.weekStartsOn]))), () => ( 0));
46126
46190
  const _date = toDate2(date);
46127
46191
  const day = _date.getDay();
46128
46192
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -46297,7 +46361,7 @@ var formatDistance = (token, count, options) => {
46297
46361
  } else {
46298
46362
  result = tokenValue.other.replace("{{count}}", count.toString());
46299
46363
  }
46300
- if (_optionalChain([options, 'optionalAccess', _1106 => _1106.addSuffix])) {
46364
+ if (_optionalChain([options, 'optionalAccess', _1128 => _1128.addSuffix])) {
46301
46365
  if (options.comparison && options.comparison > 0) {
46302
46366
  return "in " + result;
46303
46367
  } else {
@@ -46364,15 +46428,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
46364
46428
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
46365
46429
  function buildLocalizeFn(args) {
46366
46430
  return (value, options) => {
46367
- const context = _optionalChain([options, 'optionalAccess', _1107 => _1107.context]) ? String(options.context) : "standalone";
46431
+ const context = _optionalChain([options, 'optionalAccess', _1129 => _1129.context]) ? String(options.context) : "standalone";
46368
46432
  let valuesArray;
46369
46433
  if (context === "formatting" && args.formattingValues) {
46370
46434
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
46371
- const width = _optionalChain([options, 'optionalAccess', _1108 => _1108.width]) ? String(options.width) : defaultWidth;
46435
+ const width = _optionalChain([options, 'optionalAccess', _1130 => _1130.width]) ? String(options.width) : defaultWidth;
46372
46436
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
46373
46437
  } else {
46374
46438
  const defaultWidth = args.defaultWidth;
46375
- const width = _optionalChain([options, 'optionalAccess', _1109 => _1109.width]) ? String(options.width) : args.defaultWidth;
46439
+ const width = _optionalChain([options, 'optionalAccess', _1131 => _1131.width]) ? String(options.width) : args.defaultWidth;
46376
46440
  valuesArray = args.values[width] || args.values[defaultWidth];
46377
46441
  }
46378
46442
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -46752,7 +46816,7 @@ function getWeekYear(date, options) {
46752
46816
  const _date = toDate2(date);
46753
46817
  const year = _date.getFullYear();
46754
46818
  const defaultOptions2 = getDefaultOptions();
46755
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1110 => _1110.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1111 => _1111.locale, 'optionalAccess', _1112 => _1112.options, 'optionalAccess', _1113 => _1113.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1114 => _1114.locale, 'optionalAccess', _1115 => _1115.options, 'optionalAccess', _1116 => _1116.firstWeekContainsDate]))), () => ( 1));
46819
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1132 => _1132.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1133 => _1133.locale, 'optionalAccess', _1134 => _1134.options, 'optionalAccess', _1135 => _1135.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1136 => _1136.locale, 'optionalAccess', _1137 => _1137.options, 'optionalAccess', _1138 => _1138.firstWeekContainsDate]))), () => ( 1));
46756
46820
  const firstWeekOfNextYear = constructFrom(date, 0);
46757
46821
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
46758
46822
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -46773,7 +46837,7 @@ function getWeekYear(date, options) {
46773
46837
  // node_modules/date-fns/startOfWeekYear.mjs
46774
46838
  function startOfWeekYear(date, options) {
46775
46839
  const defaultOptions2 = getDefaultOptions();
46776
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1117 => _1117.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1118 => _1118.locale, 'optionalAccess', _1119 => _1119.options, 'optionalAccess', _1120 => _1120.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1121 => _1121.locale, 'optionalAccess', _1122 => _1122.options, 'optionalAccess', _1123 => _1123.firstWeekContainsDate]))), () => ( 1));
46840
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1139 => _1139.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1140 => _1140.locale, 'optionalAccess', _1141 => _1141.options, 'optionalAccess', _1142 => _1142.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1143 => _1143.locale, 'optionalAccess', _1144 => _1144.options, 'optionalAccess', _1145 => _1145.firstWeekContainsDate]))), () => ( 1));
46777
46841
  const year = getWeekYear(date, options);
46778
46842
  const firstWeek = constructFrom(date, 0);
46779
46843
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -47588,9 +47652,9 @@ var doubleQuoteRegExp = /''/g;
47588
47652
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
47589
47653
  function format2(date, formatStr, options) {
47590
47654
  const defaultOptions2 = getDefaultOptions();
47591
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1124 => _1124.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
47592
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1125 => _1125.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1126 => _1126.locale, 'optionalAccess', _1127 => _1127.options, 'optionalAccess', _1128 => _1128.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1129 => _1129.locale, 'optionalAccess', _1130 => _1130.options, 'optionalAccess', _1131 => _1131.firstWeekContainsDate]))), () => ( 1));
47593
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1132 => _1132.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1133 => _1133.locale, 'optionalAccess', _1134 => _1134.options, 'optionalAccess', _1135 => _1135.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1136 => _1136.locale, 'optionalAccess', _1137 => _1137.options, 'optionalAccess', _1138 => _1138.weekStartsOn]))), () => ( 0));
47655
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1146 => _1146.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
47656
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1147 => _1147.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _1148 => _1148.locale, 'optionalAccess', _1149 => _1149.options, 'optionalAccess', _1150 => _1150.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _1151 => _1151.locale, 'optionalAccess', _1152 => _1152.options, 'optionalAccess', _1153 => _1153.firstWeekContainsDate]))), () => ( 1));
47657
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1154 => _1154.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _1155 => _1155.locale, 'optionalAccess', _1156 => _1156.options, 'optionalAccess', _1157 => _1157.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _1158 => _1158.locale, 'optionalAccess', _1159 => _1159.options, 'optionalAccess', _1160 => _1160.weekStartsOn]))), () => ( 0));
47594
47658
  const originalDate = toDate2(date);
47595
47659
  if (!isValid(originalDate)) {
47596
47660
  throw new RangeError("Invalid time value");
@@ -47631,7 +47695,7 @@ function format2(date, formatStr, options) {
47631
47695
  return parts.map((part) => {
47632
47696
  if (!part.isToken) return part.value;
47633
47697
  const token = part.value;
47634
- if (!_optionalChain([options, 'optionalAccess', _1139 => _1139.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1140 => _1140.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
47698
+ if (!_optionalChain([options, 'optionalAccess', _1161 => _1161.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _1162 => _1162.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
47635
47699
  warnOrThrowProtectedError(token, formatStr, String(date));
47636
47700
  }
47637
47701
  const formatter = formatters[token[0]];
@@ -47837,7 +47901,7 @@ function ProgramCard({
47837
47901
  const itemDate2 = compactDate;
47838
47902
  const compactCover = coverImage || placeholderUrl || null;
47839
47903
  const typeMeta = compactTypeMeta();
47840
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1141 => _1141.labels, 'optionalAccess', _1142 => _1142.singular])].filter(
47904
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _1163 => _1163.labels, 'optionalAccess', _1164 => _1164.singular])].filter(
47841
47905
  (s) => typeof s === "string" && s.length > 0
47842
47906
  );
47843
47907
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkA62C4C4Vcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -47994,7 +48058,7 @@ function ProgramCard({
47994
48058
 
47995
48059
 
47996
48060
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
47997
- const goalsCount = _optionalChain([campaign, 'access', _1143 => _1143.goals, 'optionalAccess', _1144 => _1144.length]) || 0;
48061
+ const goalsCount = _optionalChain([campaign, 'access', _1165 => _1165.goals, 'optionalAccess', _1166 => _1166.length]) || 0;
47998
48062
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
47999
48063
  /* @__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" }) }),
48000
48064
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -48156,7 +48220,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
48156
48220
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
48157
48221
  const safePath = sanitizePath(row.path);
48158
48222
  if (safePath) {
48159
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1145 => _1145.docPlatformTargets, 'optionalAccess', _1146 => _1146[row.documentType]]) : void 0;
48223
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _1167 => _1167.docPlatformTargets, 'optionalAccess', _1168 => _1168[row.documentType]]) : void 0;
48160
48224
  if (docTarget) {
48161
48225
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
48162
48226
  const base = `${_chunkA62C4C4Vcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -48371,8 +48435,8 @@ function cardMenuGroups(href, discuss, openDetails) {
48371
48435
  if (href) {
48372
48436
  items.push({
48373
48437
  id: "open-details",
48374
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1147 => _1147.label]), () => ( "Open Details")),
48375
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1148 => _1148.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
48438
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1169 => _1169.label]), () => ( "Open Details")),
48439
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _1170 => _1170.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.EyeIcon, { size: 20 }))),
48376
48440
  // Main row → open the entity (same tab, soft Link nav).
48377
48441
  href,
48378
48442
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -48402,8 +48466,8 @@ function HubspotTicketChatCard({
48402
48466
  isNewTab,
48403
48467
  discuss
48404
48468
  }) {
48405
- const status = typeof _optionalChain([chatRef, 'access', _1149 => _1149.metadata, 'optionalAccess', _1150 => _1150.status]) === "string" ? chatRef.metadata.status : void 0;
48406
- const statusLabel = typeof _optionalChain([chatRef, 'access', _1151 => _1151.metadata, 'optionalAccess', _1152 => _1152.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
48469
+ const status = typeof _optionalChain([chatRef, 'access', _1171 => _1171.metadata, 'optionalAccess', _1172 => _1172.status]) === "string" ? chatRef.metadata.status : void 0;
48470
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _1173 => _1173.metadata, 'optionalAccess', _1174 => _1174.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
48407
48471
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
48408
48472
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48409
48473
  MingoInfoCard,
@@ -48426,7 +48490,7 @@ function FaqChatCard({
48426
48490
  isNewTab,
48427
48491
  discuss
48428
48492
  }) {
48429
- const section = typeof _optionalChain([chatRef, 'access', _1153 => _1153.metadata, 'optionalAccess', _1154 => _1154.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
48493
+ const section = typeof _optionalChain([chatRef, 'access', _1175 => _1175.metadata, 'optionalAccess', _1176 => _1176.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
48430
48494
  const statusLabel = section && section.length > 0 ? section : "FAQ";
48431
48495
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48432
48496
  MingoInfoCard,
@@ -48446,7 +48510,7 @@ function SlackChatCard({
48446
48510
  isNewTab,
48447
48511
  discuss
48448
48512
  }) {
48449
- const channelName = typeof _optionalChain([chatRef, 'access', _1155 => _1155.metadata, 'optionalAccess', _1156 => _1156.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
48513
+ const channelName = typeof _optionalChain([chatRef, 'access', _1177 => _1177.metadata, 'optionalAccess', _1178 => _1178.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
48450
48514
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
48451
48515
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
48452
48516
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -48486,7 +48550,7 @@ function GenericFinancialChatCard({
48486
48550
  isNewTab,
48487
48551
  discuss
48488
48552
  }) {
48489
- const subtitle = typeof _optionalChain([chatRef, 'access', _1157 => _1157.metadata, 'optionalAccess', _1158 => _1158.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
48553
+ const subtitle = typeof _optionalChain([chatRef, 'access', _1179 => _1179.metadata, 'optionalAccess', _1180 => _1180.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
48490
48554
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48491
48555
  MingoInfoCard,
48492
48556
  {
@@ -48555,12 +48619,12 @@ function ProductReleaseChatCard({
48555
48619
  discuss
48556
48620
  }) {
48557
48621
  const releaseProps = buildProps(item);
48558
- const status = _optionalChain([item, 'optionalAccess', _1159 => _1159.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
48622
+ const status = _optionalChain([item, 'optionalAccess', _1181 => _1181.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
48559
48623
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48560
48624
  EntityMingoCard,
48561
48625
  {
48562
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1160 => _1160.title]), () => ( "")),
48563
- description: _optionalChain([item, 'optionalAccess', _1161 => _1161.summary]) || releaseProps.formattedDate || void 0,
48626
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1182 => _1182.title]), () => ( "")),
48627
+ description: _optionalChain([item, 'optionalAccess', _1183 => _1183.summary]) || releaseProps.formattedDate || void 0,
48564
48628
  cover: releaseProps.coverImage || void 0,
48565
48629
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Rocket02Icon, { size: 24 }),
48566
48630
  status,
@@ -48577,17 +48641,17 @@ function CampaignChatCard({
48577
48641
  isNewTab,
48578
48642
  discuss
48579
48643
  }) {
48580
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1162 => _1162.goals])) ? item.goals.length : 0;
48644
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _1184 => _1184.goals])) ? item.goals.length : 0;
48581
48645
  const meta = [
48582
- _optionalChain([item, 'optionalAccess', _1163 => _1163.start_date]) ? formatDateShort(item.start_date) : null,
48646
+ _optionalChain([item, 'optionalAccess', _1185 => _1185.start_date]) ? formatDateShort(item.start_date) : null,
48583
48647
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
48584
48648
  "Marketing campaign"
48585
48649
  ].filter(Boolean).join(" \xB7 ");
48586
48650
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48587
48651
  EntityMingoCard,
48588
48652
  {
48589
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1164 => _1164.name]), () => ( "")),
48590
- description: meta || _optionalChain([item, 'optionalAccess', _1165 => _1165.description]) || void 0,
48653
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1186 => _1186.name]), () => ( "")),
48654
+ description: meta || _optionalChain([item, 'optionalAccess', _1187 => _1187.description]) || void 0,
48591
48655
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.Megaphone01Icon, { size: 24 }),
48592
48656
  chatRef,
48593
48657
  isNewTab,
@@ -48640,14 +48704,14 @@ function BlogChatCard({
48640
48704
  hasEmbeddedVideo,
48641
48705
  discuss
48642
48706
  }) {
48643
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1166 => _1166.categories])) ? _optionalChain([item, 'access', _1167 => _1167.categories, 'access', _1168 => _1168.find, 'call', _1169 => _1169((c) => c && c.name), 'optionalAccess', _1170 => _1170.name]) : void 0;
48707
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _1188 => _1188.categories])) ? _optionalChain([item, 'access', _1189 => _1189.categories, 'access', _1190 => _1190.find, 'call', _1191 => _1191((c) => c && c.name), 'optionalAccess', _1192 => _1192.name]) : void 0;
48644
48708
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
48645
48709
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48646
48710
  EntityMingoCard,
48647
48711
  {
48648
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1171 => _1171.title]), () => ( "")),
48649
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1172 => _1172.summary]), () => ( void 0)),
48650
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1173 => _1173.featured_image]), ogPlaceholder),
48712
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1193 => _1193.title]), () => ( "")),
48713
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1194 => _1194.summary]), () => ( void 0)),
48714
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1195 => _1195.featured_image]), ogPlaceholder),
48651
48715
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.NewspaperIcon, { size: 24 }),
48652
48716
  status,
48653
48717
  chatRef,
@@ -48664,13 +48728,13 @@ function CaseStudyChatCard({
48664
48728
  ogPlaceholder,
48665
48729
  discuss
48666
48730
  }) {
48667
- const meta = [_optionalChain([item, 'optionalAccess', _1174 => _1174.msp, 'optionalAccess', _1175 => _1175.name]), _optionalChain([item, 'optionalAccess', _1176 => _1176.user, 'optionalAccess', _1177 => _1177.full_name])].filter(Boolean).join(" \xB7 ");
48731
+ const meta = [_optionalChain([item, 'optionalAccess', _1196 => _1196.msp, 'optionalAccess', _1197 => _1197.name]), _optionalChain([item, 'optionalAccess', _1198 => _1198.user, 'optionalAccess', _1199 => _1199.full_name])].filter(Boolean).join(" \xB7 ");
48668
48732
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48669
48733
  EntityMingoCard,
48670
48734
  {
48671
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1178 => _1178.title]), () => ( "")),
48672
- description: _optionalChain([item, 'optionalAccess', _1179 => _1179.summary]) || meta || void 0,
48673
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1180 => _1180.featured_image]), ogPlaceholder),
48735
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1200 => _1200.title]), () => ( "")),
48736
+ description: _optionalChain([item, 'optionalAccess', _1201 => _1201.summary]) || meta || void 0,
48737
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1202 => _1202.featured_image]), ogPlaceholder),
48674
48738
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.TrophyIcon, { size: 24 }),
48675
48739
  status: { label: "Case study", variant: "grey" },
48676
48740
  chatRef,
@@ -48687,13 +48751,13 @@ function CustomerInterviewChatCard({
48687
48751
  ogPlaceholder,
48688
48752
  discuss
48689
48753
  }) {
48690
- const meta = [_optionalChain([item, 'optionalAccess', _1181 => _1181.user, 'optionalAccess', _1182 => _1182.full_name]), _optionalChain([item, 'optionalAccess', _1183 => _1183.msp, 'optionalAccess', _1184 => _1184.name])].filter(Boolean).join(" \xB7 ");
48754
+ const meta = [_optionalChain([item, 'optionalAccess', _1203 => _1203.user, 'optionalAccess', _1204 => _1204.full_name]), _optionalChain([item, 'optionalAccess', _1205 => _1205.msp, 'optionalAccess', _1206 => _1206.name])].filter(Boolean).join(" \xB7 ");
48691
48755
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48692
48756
  EntityMingoCard,
48693
48757
  {
48694
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1185 => _1185.title]), () => ( "")),
48695
- description: _optionalChain([item, 'optionalAccess', _1186 => _1186.video_summary]) || meta || void 0,
48696
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1187 => _1187.featured_image]), ogPlaceholder),
48758
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1207 => _1207.title]), () => ( "")),
48759
+ description: _optionalChain([item, 'optionalAccess', _1208 => _1208.video_summary]) || meta || void 0,
48760
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1209 => _1209.featured_image]), ogPlaceholder),
48697
48761
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.MicrophoneIcon, { size: 24 }),
48698
48762
  status: { label: "Interview", variant: "grey" },
48699
48763
  chatRef,
@@ -48710,13 +48774,13 @@ function InvestorUpdateChatCard({
48710
48774
  ogPlaceholder,
48711
48775
  discuss
48712
48776
  }) {
48713
- const title = _optionalChain([item, 'optionalAccess', _1188 => _1188.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1189 => _1189.update_number]), () => ( "?"))}`;
48777
+ const title = _optionalChain([item, 'optionalAccess', _1210 => _1210.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1211 => _1211.update_number]), () => ( "?"))}`;
48714
48778
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48715
48779
  EntityMingoCard,
48716
48780
  {
48717
48781
  title,
48718
- description: _optionalChain([item, 'optionalAccess', _1190 => _1190.strategic_update]) || _optionalChain([item, 'optionalAccess', _1191 => _1191.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1192 => _1192.period_start]), _optionalChain([item, 'optionalAccess', _1193 => _1193.period_end])) || void 0,
48719
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1194 => _1194.featured_image]), ogPlaceholder),
48782
+ description: _optionalChain([item, 'optionalAccess', _1212 => _1212.strategic_update]) || _optionalChain([item, 'optionalAccess', _1213 => _1213.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _1214 => _1214.period_start]), _optionalChain([item, 'optionalAccess', _1215 => _1215.period_end])) || void 0,
48783
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1216 => _1216.featured_image]), ogPlaceholder),
48720
48784
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.PresentationLineIcon, { size: 24 }),
48721
48785
  status: { label: "Investor update", variant: "grey" },
48722
48786
  chatRef,
@@ -48733,12 +48797,12 @@ function OnboardingGuideChatCard({
48733
48797
  ogPlaceholder,
48734
48798
  discuss
48735
48799
  }) {
48736
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1195 => _1195.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1196 => _1196.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1197 => _1197.og_image_url]), ogPlaceholder)));
48800
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _1217 => _1217.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1218 => _1218.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _1219 => _1219.og_image_url]), ogPlaceholder)));
48737
48801
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48738
48802
  EntityMingoCard,
48739
48803
  {
48740
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1198 => _1198.title]), () => ( "")),
48741
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1199 => _1199.summary]), () => ( _optionalChain([item, 'optionalAccess', _1200 => _1200.description]))), () => ( void 0)),
48804
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1220 => _1220.title]), () => ( "")),
48805
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1221 => _1221.summary]), () => ( _optionalChain([item, 'optionalAccess', _1222 => _1222.description]))), () => ( void 0)),
48742
48806
  cover,
48743
48807
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBGD345ZVcjs.CompassIcon, { size: 24 }),
48744
48808
  status: { label: "Guide", variant: "grey" },
@@ -48759,25 +48823,25 @@ function ProgramChatCard({
48759
48823
  discuss
48760
48824
  }) {
48761
48825
  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 });
48762
- const isScheduled = _optionalChain([item, 'optionalAccess', _1201 => _1201.status]) === "scheduled";
48826
+ const isScheduled = _optionalChain([item, 'optionalAccess', _1223 => _1223.status]) === "scheduled";
48763
48827
  let typeMeta;
48764
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1202 => _1202.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
48828
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _1224 => _1224.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
48765
48829
  typeMeta = formatDurationCompact(item.duration_seconds);
48766
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1203 => _1203.location_name]) === "string" && item.location_name.trim().length > 0) {
48830
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _1225 => _1225.location_name]) === "string" && item.location_name.trim().length > 0) {
48767
48831
  typeMeta = item.location_name;
48768
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1204 => _1204.start_at])) {
48832
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _1226 => _1226.start_at])) {
48769
48833
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
48770
48834
  const dur = formatDurationFromRange(item.start_at, item.end_at);
48771
48835
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
48772
48836
  }
48773
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1205 => _1205.date]), () => ( null)), { fallback: "", timezone: "local" });
48837
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1227 => _1227.date]), () => ( null)), { fallback: "", timezone: "local" });
48774
48838
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
48775
48839
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48776
48840
  EntityMingoCard,
48777
48841
  {
48778
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1206 => _1206.title]), () => ( "")),
48779
- description: meta || _optionalChain([item, 'optionalAccess', _1207 => _1207.description]) || void 0,
48780
- cover: entityCover(_optionalChain([item, 'optionalAccess', _1208 => _1208.cover_url]), ogPlaceholder),
48842
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1228 => _1228.title]), () => ( "")),
48843
+ description: meta || _optionalChain([item, 'optionalAccess', _1229 => _1229.description]) || void 0,
48844
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _1230 => _1230.cover_url]), ogPlaceholder),
48781
48845
  fallbackIcon: icon,
48782
48846
  status: { label, variant: "grey" },
48783
48847
  chatRef,
@@ -48794,10 +48858,10 @@ function RoadmapChatCard({
48794
48858
  cardType,
48795
48859
  discuss
48796
48860
  }) {
48797
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1209 => _1209.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
48798
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1210 => _1210.customItemId]) != null;
48861
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _1231 => _1231.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
48862
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _1232 => _1232.customItemId]) != null;
48799
48863
  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 });
48800
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1211 => _1211.customItemId]), className: "size-6" }) : logoUrl ? (
48864
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _1233 => _1233.customItemId]), className: "size-6" }) : logoUrl ? (
48801
48865
  // Contained (not full-bleed) so the integration logo keeps its aspect
48802
48866
  // ratio inside the bordered icon box — matches RoadmapCard.
48803
48867
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -48805,10 +48869,10 @@ function RoadmapChatCard({
48805
48869
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48806
48870
  EntityMingoCard,
48807
48871
  {
48808
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1212 => _1212.title]), () => ( "")),
48809
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1213 => _1213.description]), () => ( void 0)),
48872
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1234 => _1234.title]), () => ( "")),
48873
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _1235 => _1235.description]), () => ( void 0)),
48810
48874
  fallbackIcon: icon,
48811
- status: statusPill(_optionalChain([item, 'optionalAccess', _1214 => _1214.status])),
48875
+ status: statusPill(_optionalChain([item, 'optionalAccess', _1236 => _1236.status])),
48812
48876
  chatRef,
48813
48877
  isNewTab,
48814
48878
  discuss,
@@ -48894,7 +48958,7 @@ function programRegistryEntries() {
48894
48958
  discuss: opts.discuss,
48895
48959
  configKey: cfg.configKey,
48896
48960
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
48897
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1215 => _1215.extras, 'optionalAccess', _1216 => _1216.buildOgPlaceholderUrl, 'optionalCall', _1217 => _1217(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1218 => _1218.title]), () => ( "")))]), () => ( null))
48961
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1237 => _1237.extras, 'optionalAccess', _1238 => _1238.buildOgPlaceholderUrl, 'optionalCall', _1239 => _1239(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1240 => _1240.title]), () => ( "")))]), () => ( null))
48898
48962
  }
48899
48963
  )
48900
48964
  };
@@ -49046,8 +49110,8 @@ var CHAT_CARD_REGISTRY = {
49046
49110
  chatRef,
49047
49111
  isNewTab: opts.isNewTab,
49048
49112
  discuss: opts.discuss,
49049
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1219 => _1219.extras, 'optionalAccess', _1220 => _1220.buildOgPlaceholderUrl, 'optionalCall', _1221 => _1221(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1222 => _1222.title]), () => ( "")))]), () => ( null)),
49050
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1223 => _1223.metadata, 'optionalAccess', _1224 => _1224.hasEmbeddedVideo]) === true
49113
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1241 => _1241.extras, 'optionalAccess', _1242 => _1242.buildOgPlaceholderUrl, 'optionalCall', _1243 => _1243(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1244 => _1244.title]), () => ( "")))]), () => ( null)),
49114
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1245 => _1245.metadata, 'optionalAccess', _1246 => _1246.hasEmbeddedVideo]) === true
49051
49115
  }
49052
49116
  )
49053
49117
  },
@@ -49064,7 +49128,7 @@ var CHAT_CARD_REGISTRY = {
49064
49128
  chatRef,
49065
49129
  isNewTab: opts.isNewTab,
49066
49130
  discuss: opts.discuss,
49067
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1225 => _1225.extras, 'optionalAccess', _1226 => _1226.buildOgPlaceholderUrl, 'optionalCall', _1227 => _1227(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1228 => _1228.title]), () => ( "")))]), () => ( null))
49131
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1247 => _1247.extras, 'optionalAccess', _1248 => _1248.buildOgPlaceholderUrl, 'optionalCall', _1249 => _1249(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1250 => _1250.title]), () => ( "")))]), () => ( null))
49068
49132
  }
49069
49133
  )
49070
49134
  },
@@ -49081,7 +49145,7 @@ var CHAT_CARD_REGISTRY = {
49081
49145
  chatRef,
49082
49146
  isNewTab: opts.isNewTab,
49083
49147
  discuss: opts.discuss,
49084
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1229 => _1229.extras, 'optionalAccess', _1230 => _1230.buildOgPlaceholderUrl, 'optionalCall', _1231 => _1231(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1232 => _1232.title]), () => ( "")))]), () => ( null))
49148
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1251 => _1251.extras, 'optionalAccess', _1252 => _1252.buildOgPlaceholderUrl, 'optionalCall', _1253 => _1253(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1254 => _1254.title]), () => ( "")))]), () => ( null))
49085
49149
  }
49086
49150
  )
49087
49151
  },
@@ -49092,7 +49156,7 @@ var CHAT_CARD_REGISTRY = {
49092
49156
  bareInline: true,
49093
49157
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
49094
49158
  render: (item, chatRef, opts) => {
49095
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1233 => _1233.extras, 'optionalAccess', _1234 => _1234.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
49159
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1255 => _1255.extras, 'optionalAccess', _1256 => _1256.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
49096
49160
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49097
49161
  ProductReleaseChatCard,
49098
49162
  {
@@ -49119,7 +49183,7 @@ var CHAT_CARD_REGISTRY = {
49119
49183
  chatRef,
49120
49184
  isNewTab: opts.isNewTab,
49121
49185
  discuss: opts.discuss,
49122
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1235 => _1235.extras, 'optionalAccess', _1236 => _1236.buildOgPlaceholderUrl, 'optionalCall', _1237 => _1237(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1238 => _1238.title]), () => ( "")))]), () => ( null))
49186
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1257 => _1257.extras, 'optionalAccess', _1258 => _1258.buildOgPlaceholderUrl, 'optionalCall', _1259 => _1259(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1260 => _1260.title]), () => ( "")))]), () => ( null))
49123
49187
  }
49124
49188
  )
49125
49189
  },
@@ -49138,7 +49202,7 @@ var CHAT_CARD_REGISTRY = {
49138
49202
  chatRef,
49139
49203
  isNewTab: opts.isNewTab,
49140
49204
  discuss: opts.discuss,
49141
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1239 => _1239.extras, 'optionalAccess', _1240 => _1240.buildOgPlaceholderUrl, 'optionalCall', _1241 => _1241(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1242 => _1242.title]), () => ( "")))]), () => ( null))
49205
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1261 => _1261.extras, 'optionalAccess', _1262 => _1262.buildOgPlaceholderUrl, 'optionalCall', _1263 => _1263(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1264 => _1264.title]), () => ( "")))]), () => ( null))
49142
49206
  }
49143
49207
  )
49144
49208
  },
@@ -49150,7 +49214,7 @@ var CHAT_CARD_REGISTRY = {
49150
49214
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
49151
49215
  // No public viewer — synthesize the hub-internal admin URL post-fetch
49152
49216
  // so the wrapper + isNewTab computation see the actual destination.
49153
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1243 => _1243.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
49217
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1265 => _1265.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
49154
49218
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49155
49219
  CampaignChatCard,
49156
49220
  {
@@ -49176,12 +49240,12 @@ function ChatCardNavWrap({
49176
49240
  const onClickCapture = (e) => {
49177
49241
  if (!href) return;
49178
49242
  const targetEl = e.target;
49179
- if (_optionalChain([targetEl, 'optionalAccess', _1244 => _1244.closest, 'optionalCall', _1245 => _1245("button")])) return;
49180
- if (!_optionalChain([targetEl, 'optionalAccess', _1246 => _1246.closest, 'optionalCall', _1247 => _1247("a")])) return;
49243
+ if (_optionalChain([targetEl, 'optionalAccess', _1266 => _1266.closest, 'optionalCall', _1267 => _1267("button")])) return;
49244
+ if (!_optionalChain([targetEl, 'optionalAccess', _1268 => _1268.closest, 'optionalCall', _1269 => _1269("a")])) return;
49181
49245
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
49182
49246
  if (!handled) return;
49183
49247
  e.stopPropagation();
49184
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1248 => _1248.closeChat])) panel.closeChat();
49248
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1270 => _1270.closeChat])) panel.closeChat();
49185
49249
  };
49186
49250
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
49187
49251
  }
@@ -49203,7 +49267,7 @@ function ChatCardLoader({
49203
49267
  title: chatRef.title,
49204
49268
  externalUrl: chatRef.url,
49205
49269
  targetPlatform: chatRef.targetPlatform,
49206
- path: typeof _optionalChain([chatRef, 'access', _1249 => _1249.metadata, 'optionalAccess', _1250 => _1250.path]) === "string" ? chatRef.metadata.path : null
49270
+ path: typeof _optionalChain([chatRef, 'access', _1271 => _1271.metadata, 'optionalAccess', _1272 => _1272.path]) === "string" ? chatRef.metadata.path : null
49207
49271
  },
49208
49272
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
49209
49273
  );
@@ -49217,7 +49281,7 @@ function ChatCardLoader({
49217
49281
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
49218
49282
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
49219
49283
  const { item, isLoading } = useChatCardItem(
49220
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1251 => _1251.contentRefType]), () => ( "")),
49284
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1273 => _1273.contentRefType]), () => ( "")),
49221
49285
  fetchEntry ? resolvedChatRef.id : ""
49222
49286
  );
49223
49287
  if (!entry) return null;
@@ -49248,7 +49312,7 @@ function ChatCardLoader({
49248
49312
  isNewTab,
49249
49313
  discuss
49250
49314
  };
49251
- const path = typeof _optionalChain([finalChatRef, 'access', _1252 => _1252.metadata, 'optionalAccess', _1253 => _1253.path]) === "string" ? finalChatRef.metadata.path : null;
49315
+ const path = typeof _optionalChain([finalChatRef, 'access', _1274 => _1274.metadata, 'optionalAccess', _1275 => _1275.path]) === "string" ? finalChatRef.metadata.path : null;
49252
49316
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49253
49317
  ChatCardNavWrap,
49254
49318
  {
@@ -49517,7 +49581,7 @@ function useChunkCatchup({
49517
49581
  console.error("Error during chunk catchup:", error);
49518
49582
  } finally {
49519
49583
  if (dialogId2 !== dialogIdRef.current) {
49520
- if (_optionalChain([pendingCatchupRef, 'access', _1254 => _1254.current, 'optionalAccess', _1255 => _1255.dialogId]) === dialogId2) {
49584
+ if (_optionalChain([pendingCatchupRef, 'access', _1276 => _1276.current, 'optionalAccess', _1277 => _1277.dialogId]) === dialogId2) {
49521
49585
  pendingCatchupRef.current = null;
49522
49586
  }
49523
49587
  } else {
@@ -49530,7 +49594,7 @@ function useChunkCatchup({
49530
49594
  lastFetchParams.current = null;
49531
49595
  bufferUntilInitialCatchupComplete.current = true;
49532
49596
  try {
49533
- await _optionalChain([catchUpChunksRef, 'access', _1256 => _1256.current, 'optionalCall', _1257 => _1257(pending.fromSequenceId)]);
49597
+ await _optionalChain([catchUpChunksRef, 'access', _1278 => _1278.current, 'optionalCall', _1279 => _1279(pending.fromSequenceId)]);
49534
49598
  } catch (rerunError) {
49535
49599
  console.error("Queued catch-up re-run failed:", rerunError);
49536
49600
  }
@@ -49594,7 +49658,7 @@ function useChunkCatchup({
49594
49658
 
49595
49659
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
49596
49660
  function prefersReducedMotion() {
49597
- return typeof window !== "undefined" && _optionalChain([window, 'access', _1258 => _1258.matchMedia, 'optionalCall', _1259 => _1259("(prefers-reduced-motion: reduce)"), 'access', _1260 => _1260.matches]) === true;
49661
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _1280 => _1280.matchMedia, 'optionalCall', _1281 => _1281("(prefers-reduced-motion: reduce)"), 'access', _1282 => _1282.matches]) === true;
49598
49662
  }
49599
49663
  function useScriptedStream(frames, resetKey, enabled = true) {
49600
49664
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -49606,7 +49670,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
49606
49670
  }
49607
49671
  _react.useEffect.call(void 0, () => {
49608
49672
  setReducedMotion(prefersReducedMotion());
49609
- const mq = _optionalChain([window, 'access', _1261 => _1261.matchMedia, 'optionalCall', _1262 => _1262("(prefers-reduced-motion: reduce)")]);
49673
+ const mq = _optionalChain([window, 'access', _1283 => _1283.matchMedia, 'optionalCall', _1284 => _1284("(prefers-reduced-motion: reduce)")]);
49610
49674
  if (!mq) return;
49611
49675
  const onChange = () => setReducedMotion(mq.matches);
49612
49676
  mq.addEventListener("change", onChange);
@@ -49735,7 +49799,7 @@ function useJetStreamDialogSubscription({
49735
49799
  const lifecycle = _chunkW24U7ZUVcjs.startConnectionLifecycle.call(void 0, {
49736
49800
  conn: sharedConn,
49737
49801
  wsUrl,
49738
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1263 => _1263.current, 'optionalCall', _1264 => _1264()]),
49802
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1285 => _1285.current, 'optionalCall', _1286 => _1286()]),
49739
49803
  backoff: reconnectionBackoffRef.current,
49740
49804
  getFreshUrl: () => getNatsWsUrlRef.current(),
49741
49805
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -49750,7 +49814,7 @@ function useJetStreamDialogSubscription({
49750
49814
  setReconnectionCount((c) => c + 1);
49751
49815
  }
49752
49816
  hadConnectionBeforeRef.current = true;
49753
- _optionalChain([onConnectRef, 'access', _1265 => _1265.current, 'optionalCall', _1266 => _1266()]);
49817
+ _optionalChain([onConnectRef, 'access', _1287 => _1287.current, 'optionalCall', _1288 => _1288()]);
49754
49818
  }
49755
49819
  if (status === "error") {
49756
49820
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -49760,7 +49824,7 @@ function useJetStreamDialogSubscription({
49760
49824
  setIsConnected(false);
49761
49825
  setIsSubscribed(false);
49762
49826
  tearDownSubscription();
49763
- _optionalChain([onDisconnectRef, 'access', _1267 => _1267.current, 'optionalCall', _1268 => _1268()]);
49827
+ _optionalChain([onDisconnectRef, 'access', _1289 => _1289.current, 'optionalCall', _1290 => _1290()]);
49764
49828
  }
49765
49829
  }
49766
49830
  });
@@ -49843,7 +49907,7 @@ function useJetStreamDialogSubscription({
49843
49907
  }
49844
49908
  subscriptionRef.current = handle;
49845
49909
  setIsSubscribed(true);
49846
- _optionalChain([onSubscribedRef, 'access', _1269 => _1269.current, 'optionalCall', _1270 => _1270()]);
49910
+ _optionalChain([onSubscribedRef, 'access', _1291 => _1291.current, 'optionalCall', _1292 => _1292()]);
49847
49911
  } catch (e81) {
49848
49912
  if (!cancelled) {
49849
49913
  setIsSubscribed(false);
@@ -49952,20 +50016,20 @@ function useNatsDialogSubscription({
49952
50016
  const tearDownSubscriptions = () => {
49953
50017
  subscriptionRefs.current.forEach((sub) => {
49954
50018
  try {
49955
- _optionalChain([sub, 'optionalAccess', _1271 => _1271.unsubscribe, 'call', _1272 => _1272()]);
50019
+ _optionalChain([sub, 'optionalAccess', _1293 => _1293.unsubscribe, 'call', _1294 => _1294()]);
49956
50020
  } catch (e83) {
49957
50021
  }
49958
50022
  });
49959
50023
  subscriptionRefs.current.clear();
49960
50024
  lastSubscribedDialogIdRef.current = null;
49961
- _optionalChain([abortControllerRef, 'access', _1273 => _1273.current, 'optionalAccess', _1274 => _1274.abort, 'call', _1275 => _1275()]);
50025
+ _optionalChain([abortControllerRef, 'access', _1295 => _1295.current, 'optionalAccess', _1296 => _1296.abort, 'call', _1297 => _1297()]);
49962
50026
  abortControllerRef.current = null;
49963
50027
  };
49964
50028
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
49965
50029
  const lifecycle = _chunkW24U7ZUVcjs.startConnectionLifecycle.call(void 0, {
49966
50030
  conn: sharedConn,
49967
50031
  wsUrl,
49968
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1276 => _1276.current, 'optionalCall', _1277 => _1277()]),
50032
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1298 => _1298.current, 'optionalCall', _1299 => _1299()]),
49969
50033
  backoff: reconnectionBackoffRef.current,
49970
50034
  getFreshUrl: () => getNatsWsUrlRef.current(),
49971
50035
  shouldRetryOn: isDisconnectStatus,
@@ -49976,7 +50040,7 @@ function useNatsDialogSubscription({
49976
50040
  setReconnectionCount((c) => c + 1);
49977
50041
  }
49978
50042
  hadConnectionBeforeRef.current = true;
49979
- _optionalChain([onConnectRef, 'access', _1278 => _1278.current, 'optionalCall', _1279 => _1279()]);
50043
+ _optionalChain([onConnectRef, 'access', _1300 => _1300.current, 'optionalCall', _1301 => _1301()]);
49980
50044
  }
49981
50045
  if (status === "error") {
49982
50046
  console.warn("[NATS] protocol error:", evt.data);
@@ -49986,7 +50050,7 @@ function useNatsDialogSubscription({
49986
50050
  setIsConnected(false);
49987
50051
  setIsSubscribed(false);
49988
50052
  tearDownSubscriptions();
49989
- _optionalChain([onDisconnectRef, 'access', _1280 => _1280.current, 'optionalCall', _1281 => _1281()]);
50053
+ _optionalChain([onDisconnectRef, 'access', _1302 => _1302.current, 'optionalCall', _1303 => _1303()]);
49990
50054
  }
49991
50055
  }
49992
50056
  });
@@ -50019,13 +50083,13 @@ function useNatsDialogSubscription({
50019
50083
  setIsSubscribed(false);
50020
50084
  subscriptionRefs.current.forEach((sub) => {
50021
50085
  try {
50022
- _optionalChain([sub, 'optionalAccess', _1282 => _1282.unsubscribe, 'call', _1283 => _1283()]);
50086
+ _optionalChain([sub, 'optionalAccess', _1304 => _1304.unsubscribe, 'call', _1305 => _1305()]);
50023
50087
  } catch (e84) {
50024
50088
  }
50025
50089
  });
50026
50090
  subscriptionRefs.current.clear();
50027
50091
  lastSubscribedDialogIdRef.current = null;
50028
- _optionalChain([abortControllerRef, 'access', _1284 => _1284.current, 'optionalAccess', _1285 => _1285.abort, 'call', _1286 => _1286()]);
50092
+ _optionalChain([abortControllerRef, 'access', _1306 => _1306.current, 'optionalAccess', _1307 => _1307.abort, 'call', _1308 => _1308()]);
50029
50093
  abortControllerRef.current = null;
50030
50094
  }
50031
50095
  return;
@@ -50037,12 +50101,12 @@ function useNatsDialogSubscription({
50037
50101
  if (subscriptionRefs.current.size > 0) {
50038
50102
  subscriptionRefs.current.forEach((sub) => {
50039
50103
  try {
50040
- _optionalChain([sub, 'optionalAccess', _1287 => _1287.unsubscribe, 'call', _1288 => _1288()]);
50104
+ _optionalChain([sub, 'optionalAccess', _1309 => _1309.unsubscribe, 'call', _1310 => _1310()]);
50041
50105
  } catch (e85) {
50042
50106
  }
50043
50107
  });
50044
50108
  subscriptionRefs.current.clear();
50045
- _optionalChain([abortControllerRef, 'access', _1289 => _1289.current, 'optionalAccess', _1290 => _1290.abort, 'call', _1291 => _1291()]);
50109
+ _optionalChain([abortControllerRef, 'access', _1311 => _1311.current, 'optionalAccess', _1312 => _1312.abort, 'call', _1313 => _1313()]);
50046
50110
  }
50047
50111
  abortControllerRef.current = new AbortController();
50048
50112
  const abort = abortControllerRef.current;
@@ -50074,7 +50138,7 @@ function useNatsDialogSubscription({
50074
50138
  });
50075
50139
  lastSubscribedDialogIdRef.current = dialogId;
50076
50140
  setIsSubscribed(true);
50077
- _optionalChain([onSubscribedRef, 'access', _1292 => _1292.current, 'optionalCall', _1293 => _1293()]);
50141
+ _optionalChain([onSubscribedRef, 'access', _1314 => _1314.current, 'optionalCall', _1315 => _1315()]);
50078
50142
  };
50079
50143
  if (isConnectedRef.current) {
50080
50144
  createSubscriptions();
@@ -50084,7 +50148,7 @@ function useNatsDialogSubscription({
50084
50148
  abort.abort();
50085
50149
  subscriptionRefs.current.forEach((sub) => {
50086
50150
  try {
50087
- _optionalChain([sub, 'optionalAccess', _1294 => _1294.unsubscribe, 'call', _1295 => _1295()]);
50151
+ _optionalChain([sub, 'optionalAccess', _1316 => _1316.unsubscribe, 'call', _1317 => _1317()]);
50088
50152
  } catch (e87) {
50089
50153
  }
50090
50154
  });
@@ -50125,7 +50189,7 @@ function useNatsDialogSubscription({
50125
50189
  });
50126
50190
  lastSubscribedDialogIdRef.current = dialogId2;
50127
50191
  setIsSubscribed(true);
50128
- _optionalChain([onSubscribedRef, 'access', _1296 => _1296.current, 'optionalCall', _1297 => _1297()]);
50192
+ _optionalChain([onSubscribedRef, 'access', _1318 => _1318.current, 'optionalCall', _1319 => _1319()]);
50129
50193
  } else if (subscriptionRefs.current.size > 0) {
50130
50194
  setIsSubscribed(true);
50131
50195
  }
@@ -50133,10 +50197,10 @@ function useNatsDialogSubscription({
50133
50197
  return { isConnected, isSubscribed, reconnectionCount };
50134
50198
  }
50135
50199
  function buildNatsWsUrl(apiBaseUrl, options) {
50136
- const path = _optionalChain([options, 'optionalAccess', _1298 => _1298.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
50200
+ const path = _optionalChain([options, 'optionalAccess', _1320 => _1320.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
50137
50201
  const u = new URL(path, apiBaseUrl);
50138
50202
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
50139
- if (_optionalChain([options, 'optionalAccess', _1299 => _1299.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1300 => _1300.token])) {
50203
+ if (_optionalChain([options, 'optionalAccess', _1321 => _1321.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1322 => _1322.token])) {
50140
50204
  u.searchParams.set("authorization", options.token);
50141
50205
  }
50142
50206
  return u.toString();
@@ -50278,7 +50342,7 @@ function parseChunkToAction(chunk) {
50278
50342
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
50279
50343
  // historical path in `process-historical-messages.ts`) — keeps both
50280
50344
  // message sources producing an identical shape.
50281
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1301 => _1301.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1302 => _1302.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
50345
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1323 => _1323.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1324 => _1324.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
50282
50346
  };
50283
50347
  case MESSAGE_TYPE.TOKEN_USAGE:
50284
50348
  return {
@@ -50484,9 +50548,9 @@ var MessageSegmentAccumulator = class {
50484
50548
  type: "tool_execution",
50485
50549
  data: {
50486
50550
  ...toolData,
50487
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1303 => _1303.data, 'access', _1304 => _1304.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1305 => _1305.toolTitle]))),
50488
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1306 => _1306.data, 'access', _1307 => _1307.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1308 => _1308.toolExplanation]))),
50489
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1309 => _1309.parameters])
50551
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1325 => _1325.data, 'access', _1326 => _1326.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1327 => _1327.toolTitle]))),
50552
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1328 => _1328.data, 'access', _1329 => _1329.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1330 => _1330.toolExplanation]))),
50553
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1331 => _1331.parameters])
50490
50554
  }
50491
50555
  };
50492
50556
  if (existingIndex !== -1) {
@@ -50510,12 +50574,12 @@ var MessageSegmentAccumulator = class {
50510
50574
  if (seg.type !== "approval_batch") return seg;
50511
50575
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
50512
50576
  if (!hasCall) return seg;
50513
- const prev = _optionalChain([seg, 'access', _1310 => _1310.data, 'access', _1311 => _1311.executions, 'optionalAccess', _1312 => _1312[execId]]);
50514
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1313 => _1313.status]) === "done") {
50577
+ const prev = _optionalChain([seg, 'access', _1332 => _1332.data, 'access', _1333 => _1333.executions, 'optionalAccess', _1334 => _1334[execId]]);
50578
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1335 => _1335.status]) === "done") {
50515
50579
  matched = true;
50516
50580
  return seg;
50517
50581
  }
50518
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1314 => _1314.result]), success: _optionalChain([prev, 'optionalAccess', _1315 => _1315.success]) };
50582
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1336 => _1336.result]), success: _optionalChain([prev, 'optionalAccess', _1337 => _1337.success]) };
50519
50583
  matched = true;
50520
50584
  return {
50521
50585
  ...seg,
@@ -50637,10 +50701,10 @@ var MessageSegmentAccumulator = class {
50637
50701
  const segment = {
50638
50702
  type: "approval_request",
50639
50703
  data: {
50640
- command: _optionalChain([pendingApproval, 'optionalAccess', _1316 => _1316.command]) || "",
50641
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1317 => _1317.explanation]),
50704
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1338 => _1338.command]) || "",
50705
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1339 => _1339.explanation]),
50642
50706
  requestId,
50643
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1318 => _1318.approvalType]) || approvalType
50707
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1340 => _1340.approvalType]) || approvalType
50644
50708
  },
50645
50709
  status,
50646
50710
  onApprove: this.callbacks.onApprove,
@@ -50835,7 +50899,7 @@ function useRealtimeChunkProcessor(options) {
50835
50899
  if (initialState.escalatedApprovals) {
50836
50900
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
50837
50901
  initialState.escalatedApprovals.forEach((data, requestId) => {
50838
- _optionalChain([callbacks, 'access', _1319 => _1319.onEscalatedApproval, 'optionalCall', _1320 => _1320(requestId, data)]);
50902
+ _optionalChain([callbacks, 'access', _1341 => _1341.onEscalatedApproval, 'optionalCall', _1342 => _1342(requestId, data)]);
50839
50903
  });
50840
50904
  }
50841
50905
  hasEverStreamedRef.current = true;
@@ -50857,13 +50921,13 @@ function useRealtimeChunkProcessor(options) {
50857
50921
  if (!action) return;
50858
50922
  const accumulator = accumulatorRef.current;
50859
50923
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
50860
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1321 => _1321.onSegmentsUpdate, 'optionalCall', _1322 => _1322(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
50924
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1343 => _1343.onSegmentsUpdate, 'optionalCall', _1344 => _1344(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
50861
50925
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
50862
50926
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
50863
50927
  if (isInStreamRef.current || !directTeardownFiredRef.current) {
50864
50928
  isInStreamRef.current = false;
50865
50929
  directTeardownFiredRef.current = true;
50866
- _optionalChain([callbacks, 'access', _1323 => _1323.onStreamEnd, 'optionalCall', _1324 => _1324()]);
50930
+ _optionalChain([callbacks, 'access', _1345 => _1345.onStreamEnd, 'optionalCall', _1346 => _1346()]);
50867
50931
  accumulator.resetSegments();
50868
50932
  }
50869
50933
  return;
@@ -50872,16 +50936,16 @@ function useRealtimeChunkProcessor(options) {
50872
50936
  case "message_start":
50873
50937
  isInStreamRef.current = true;
50874
50938
  hasEverStreamedRef.current = true;
50875
- _optionalChain([callbacks, 'access', _1325 => _1325.onStreamStart, 'optionalCall', _1326 => _1326()]);
50939
+ _optionalChain([callbacks, 'access', _1347 => _1347.onStreamStart, 'optionalCall', _1348 => _1348()]);
50876
50940
  accumulator.resetSegments();
50877
50941
  break;
50878
50942
  case "message_end":
50879
50943
  isInStreamRef.current = false;
50880
- _optionalChain([callbacks, 'access', _1327 => _1327.onStreamEnd, 'optionalCall', _1328 => _1328()]);
50944
+ _optionalChain([callbacks, 'access', _1349 => _1349.onStreamEnd, 'optionalCall', _1350 => _1350()]);
50881
50945
  accumulator.resetSegments();
50882
50946
  break;
50883
50947
  case "metadata":
50884
- _optionalChain([callbacks, 'access', _1329 => _1329.onMetadata, 'optionalCall', _1330 => _1330(action)]);
50948
+ _optionalChain([callbacks, 'access', _1351 => _1351.onMetadata, 'optionalCall', _1352 => _1352(action)]);
50885
50949
  break;
50886
50950
  case "text": {
50887
50951
  const segments = accumulator.appendText(action.text);
@@ -50912,7 +50976,7 @@ function useRealtimeChunkProcessor(options) {
50912
50976
  }
50913
50977
  case "tool_execution": {
50914
50978
  if (action.segment.data.type === "EXECUTING_TOOL") {
50915
- _optionalChain([callbacks, 'access', _1331 => _1331.onAgentBusy, 'optionalCall', _1332 => _1332()]);
50979
+ _optionalChain([callbacks, 'access', _1353 => _1353.onAgentBusy, 'optionalCall', _1354 => _1354()]);
50916
50980
  }
50917
50981
  if (!isInStreamRef.current && callbacks.onToolExecuted) {
50918
50982
  callbacks.onToolExecuted(action.segment);
@@ -50936,7 +51000,7 @@ function useRealtimeChunkProcessor(options) {
50936
51000
  emitSegments(segments);
50937
51001
  } else {
50938
51002
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
50939
- _optionalChain([callbacks, 'access', _1333 => _1333.onEscalatedApproval, 'optionalCall', _1334 => _1334(requestId, { command, explanation, approvalType })]);
51003
+ _optionalChain([callbacks, 'access', _1355 => _1355.onEscalatedApproval, 'optionalCall', _1356 => _1356(requestId, { command, explanation, approvalType })]);
50940
51004
  }
50941
51005
  break;
50942
51006
  }
@@ -50948,13 +51012,13 @@ function useRealtimeChunkProcessor(options) {
50948
51012
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
50949
51013
  pendingEscalatedRef.current.set(requestId, {
50950
51014
  command: summary,
50951
- explanation: _optionalChain([required, 'optionalAccess', _1335 => _1335.toolExplanation]),
51015
+ explanation: _optionalChain([required, 'optionalAccess', _1357 => _1357.toolExplanation]),
50952
51016
  approvalType,
50953
51017
  toolCalls
50954
51018
  });
50955
- _optionalChain([callbacks, 'access', _1336 => _1336.onEscalatedApproval, 'optionalCall', _1337 => _1337(requestId, {
51019
+ _optionalChain([callbacks, 'access', _1358 => _1358.onEscalatedApproval, 'optionalCall', _1359 => _1359(requestId, {
50956
51020
  command: summary,
50957
- explanation: _optionalChain([required, 'optionalAccess', _1338 => _1338.toolExplanation]),
51021
+ explanation: _optionalChain([required, 'optionalAccess', _1360 => _1360.toolExplanation]),
50958
51022
  approvalType
50959
51023
  })]);
50960
51024
  break;
@@ -50980,12 +51044,12 @@ function useRealtimeChunkProcessor(options) {
50980
51044
  }
50981
51045
  case "approval_result": {
50982
51046
  const { requestId, approved, approvalType, resolvedByName } = action;
50983
- if (approved) _optionalChain([callbacks, 'access', _1339 => _1339.onAgentBusy, 'optionalCall', _1340 => _1340()]);
51047
+ if (approved) _optionalChain([callbacks, 'access', _1361 => _1361.onAgentBusy, 'optionalCall', _1362 => _1362()]);
50984
51048
  const escalatedData = pendingEscalatedRef.current.get(requestId);
50985
51049
  const status = approved ? "approved" : "rejected";
50986
51050
  if (escalatedData) {
50987
51051
  pendingEscalatedRef.current.delete(requestId);
50988
- _optionalChain([callbacks, 'access', _1341 => _1341.onEscalatedApprovalResult, 'optionalCall', _1342 => _1342(requestId, approved, {
51052
+ _optionalChain([callbacks, 'access', _1363 => _1363.onEscalatedApprovalResult, 'optionalCall', _1364 => _1364(requestId, approved, {
50989
51053
  command: escalatedData.command,
50990
51054
  explanation: escalatedData.explanation,
50991
51055
  approvalType: escalatedData.approvalType
@@ -51041,29 +51105,29 @@ function useRealtimeChunkProcessor(options) {
51041
51105
  emitSegments(accumulator.getSegments());
51042
51106
  }
51043
51107
  }
51044
- _optionalChain([callbacks, 'access', _1343 => _1343.onApprovalResolved, 'optionalCall', _1344 => _1344(requestId, status, approvalType, resolvedByName)]);
51108
+ _optionalChain([callbacks, 'access', _1365 => _1365.onApprovalResolved, 'optionalCall', _1366 => _1366(requestId, status, approvalType, resolvedByName)]);
51045
51109
  break;
51046
51110
  }
51047
51111
  case "error": {
51048
51112
  let message2;
51049
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1345 => _1345.details])) {
51113
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1367 => _1367.details])) {
51050
51114
  try {
51051
- message2 = _optionalChain([JSON, 'access', _1346 => _1346.parse, 'call', _1347 => _1347(action.details), 'optionalAccess', _1348 => _1348.error, 'optionalAccess', _1349 => _1349.message]);
51115
+ message2 = _optionalChain([JSON, 'access', _1368 => _1368.parse, 'call', _1369 => _1369(action.details), 'optionalAccess', _1370 => _1370.error, 'optionalAccess', _1371 => _1371.message]);
51052
51116
  } catch (e89) {
51053
51117
  message2 = action.details;
51054
51118
  }
51055
51119
  }
51056
51120
  const segments = accumulator.addError(action.error, message2);
51057
51121
  emitSegments(segments);
51058
- _optionalChain([callbacks, 'access', _1350 => _1350.onError, 'optionalCall', _1351 => _1351(action.error, message2)]);
51122
+ _optionalChain([callbacks, 'access', _1372 => _1372.onError, 'optionalCall', _1373 => _1373(action.error, message2)]);
51059
51123
  break;
51060
51124
  }
51061
51125
  case "system": {
51062
- _optionalChain([callbacks, 'access', _1352 => _1352.onSystemMessage, 'optionalCall', _1353 => _1353(action.text, { streamSeq })]);
51126
+ _optionalChain([callbacks, 'access', _1374 => _1374.onSystemMessage, 'optionalCall', _1375 => _1375(action.text, { streamSeq })]);
51063
51127
  break;
51064
51128
  }
51065
51129
  case "direct_message": {
51066
- _optionalChain([callbacks, 'access', _1354 => _1354.onDirectMessage, 'optionalCall', _1355 => _1355(action.text, {
51130
+ _optionalChain([callbacks, 'access', _1376 => _1376.onDirectMessage, 'optionalCall', _1377 => _1377(action.text, {
51067
51131
  ownerType: action.ownerType,
51068
51132
  displayName: action.displayName,
51069
51133
  userId: action.userId,
@@ -51072,7 +51136,7 @@ function useRealtimeChunkProcessor(options) {
51072
51136
  break;
51073
51137
  }
51074
51138
  case "message_request":
51075
- _optionalChain([callbacks, 'access', _1356 => _1356.onUserMessage, 'optionalCall', _1357 => _1357(action.text, {
51139
+ _optionalChain([callbacks, 'access', _1378 => _1378.onUserMessage, 'optionalCall', _1379 => _1379(action.text, {
51076
51140
  ownerType: action.ownerType,
51077
51141
  displayName: action.displayName,
51078
51142
  userId: action.userId,
@@ -51081,7 +51145,7 @@ function useRealtimeChunkProcessor(options) {
51081
51145
  })]);
51082
51146
  break;
51083
51147
  case "token_usage":
51084
- _optionalChain([callbacks, 'access', _1358 => _1358.onTokenUsage, 'optionalCall', _1359 => _1359(action.data)]);
51148
+ _optionalChain([callbacks, 'access', _1380 => _1380.onTokenUsage, 'optionalCall', _1381 => _1381(action.data)]);
51085
51149
  break;
51086
51150
  case "context_compaction_start": {
51087
51151
  const standalone = !isInStreamRef.current;
@@ -51096,7 +51160,7 @@ function useRealtimeChunkProcessor(options) {
51096
51160
  break;
51097
51161
  }
51098
51162
  case "dialog_closed":
51099
- _optionalChain([callbacks, 'access', _1360 => _1360.onDialogClosed, 'optionalCall', _1361 => _1361()]);
51163
+ _optionalChain([callbacks, 'access', _1382 => _1382.onDialogClosed, 'optionalCall', _1383 => _1383()]);
51100
51164
  break;
51101
51165
  default:
51102
51166
  break;
@@ -51146,7 +51210,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
51146
51210
  const data = await res.json();
51147
51211
  return _nullishCoalesce(data.commands, () => ( []));
51148
51212
  } catch (err) {
51149
- if (_optionalChain([err, 'optionalAccess', _1362 => _1362.name]) === "AbortError") throw err;
51213
+ if (_optionalChain([err, 'optionalAccess', _1384 => _1384.name]) === "AbortError") throw err;
51150
51214
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
51151
51215
  return [];
51152
51216
  }
@@ -51167,7 +51231,7 @@ function useSlashCommands(prefix, commandsUrl) {
51167
51231
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
51168
51232
  if (!cancelled) setCommands(next);
51169
51233
  } catch (err) {
51170
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1363 => _1363.name]) !== "AbortError") {
51234
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1385 => _1385.name]) !== "AbortError") {
51171
51235
  console.warn("[use-slash-commands] fetch failed:", err);
51172
51236
  }
51173
51237
  } finally {
@@ -51186,7 +51250,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
51186
51250
  const query = _reactquery.useQuery.call(void 0, {
51187
51251
  queryKey: ["chat-slash-commands", commandsUrl],
51188
51252
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
51189
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1364 => _1364.enabled]), () => ( true)),
51253
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1386 => _1386.enabled]), () => ( true)),
51190
51254
  staleTime: Infinity,
51191
51255
  gcTime: Infinity,
51192
51256
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -51225,21 +51289,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
51225
51289
  }
51226
51290
  const data = await res.json();
51227
51291
  return {
51228
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1365 => _1365.name]), () => ( null)),
51229
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1366 => _1366.icon]), () => ( null)),
51230
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1367 => _1367.greeting]), () => ( null)),
51231
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1368 => _1368.enabledRagTableIds]), () => ( [])),
51232
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1369 => _1369.quickActions]), () => ( [])),
51233
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1370 => _1370.suggestedQueries]), () => ( []))
51292
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1387 => _1387.name]), () => ( null)),
51293
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1388 => _1388.icon]), () => ( null)),
51294
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1389 => _1389.greeting]), () => ( null)),
51295
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1390 => _1390.enabledRagTableIds]), () => ( [])),
51296
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1391 => _1391.quickActions]), () => ( [])),
51297
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1392 => _1392.suggestedQueries]), () => ( []))
51234
51298
  };
51235
51299
  } catch (err) {
51236
- if (_optionalChain([err, 'optionalAccess', _1371 => _1371.name]) === "AbortError") throw err;
51300
+ if (_optionalChain([err, 'optionalAccess', _1393 => _1393.name]) === "AbortError") throw err;
51237
51301
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
51238
51302
  return EMPTY_STATE_FALLBACK;
51239
51303
  }
51240
51304
  }
51241
51305
  function useEmptyStateConfig(emptyStateUrl, options) {
51242
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1372 => _1372.enabled]), () => ( true))) && !!emptyStateUrl;
51306
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1394 => _1394.enabled]), () => ( true))) && !!emptyStateUrl;
51243
51307
  const query = _reactquery.useQuery.call(void 0, {
51244
51308
  queryKey: ["chat-empty-state", emptyStateUrl],
51245
51309
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -51268,7 +51332,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
51268
51332
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
51269
51333
  function uploadWithProgress(url, file, token, onProgress, signal) {
51270
51334
  return new Promise((resolve, reject) => {
51271
- if (_optionalChain([signal, 'optionalAccess', _1373 => _1373.aborted])) {
51335
+ if (_optionalChain([signal, 'optionalAccess', _1395 => _1395.aborted])) {
51272
51336
  reject(new Error("Upload cancelled"));
51273
51337
  return;
51274
51338
  }
@@ -51282,7 +51346,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
51282
51346
  xhr.removeEventListener("error", handleError);
51283
51347
  xhr.removeEventListener("abort", handleAbort);
51284
51348
  xhr.removeEventListener("timeout", handleTimeout);
51285
- _optionalChain([signal, 'optionalAccess', _1374 => _1374.removeEventListener, 'call', _1375 => _1375("abort", handleSignalAbort)]);
51349
+ _optionalChain([signal, 'optionalAccess', _1396 => _1396.removeEventListener, 'call', _1397 => _1397("abort", handleSignalAbort)]);
51286
51350
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
51287
51351
  };
51288
51352
  const handleProgress = (event) => {
@@ -51318,7 +51382,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
51318
51382
  const handleSignalAbort = () => {
51319
51383
  xhr.abort();
51320
51384
  };
51321
- _optionalChain([signal, 'optionalAccess', _1376 => _1376.addEventListener, 'call', _1377 => _1377("abort", handleSignalAbort, { once: true })]);
51385
+ _optionalChain([signal, 'optionalAccess', _1398 => _1398.addEventListener, 'call', _1399 => _1399("abort", handleSignalAbort, { once: true })]);
51322
51386
  xhr.upload.addEventListener("progress", handleProgress);
51323
51387
  xhr.addEventListener("load", handleLoad);
51324
51388
  xhr.addEventListener("error", handleError);
@@ -51362,12 +51426,12 @@ function useChatAttachments() {
51362
51426
  try {
51363
51427
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
51364
51428
  } catch (err) {
51365
- if (_optionalChain([ctrl, 'optionalAccess', _1378 => _1378.signal, 'access', _1379 => _1379.aborted])) return;
51429
+ if (_optionalChain([ctrl, 'optionalAccess', _1400 => _1400.signal, 'access', _1401 => _1401.aborted])) return;
51366
51430
  throw new Error(
51367
51431
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
51368
51432
  );
51369
51433
  }
51370
- if (_optionalChain([ctrl, 'optionalAccess', _1380 => _1380.signal, 'access', _1381 => _1381.aborted])) return;
51434
+ if (_optionalChain([ctrl, 'optionalAccess', _1402 => _1402.signal, 'access', _1403 => _1403.aborted])) return;
51371
51435
  if (!sniffed) {
51372
51436
  throw new Error("Unrecognized file format");
51373
51437
  }
@@ -51381,7 +51445,7 @@ function useChatAttachments() {
51381
51445
  const urlResp = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
51382
51446
  method: "POST",
51383
51447
  headers: { "Content-Type": "application/json" },
51384
- signal: _optionalChain([ctrl, 'optionalAccess', _1382 => _1382.signal]),
51448
+ signal: _optionalChain([ctrl, 'optionalAccess', _1404 => _1404.signal]),
51385
51449
  body: JSON.stringify({
51386
51450
  fileName: att.file.name,
51387
51451
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -51407,9 +51471,9 @@ function useChatAttachments() {
51407
51471
  (pct) => {
51408
51472
  updateOne(att.id, { progress: pct });
51409
51473
  },
51410
- _optionalChain([ctrl, 'optionalAccess', _1383 => _1383.signal])
51474
+ _optionalChain([ctrl, 'optionalAccess', _1405 => _1405.signal])
51411
51475
  );
51412
- if (_optionalChain([ctrl, 'optionalAccess', _1384 => _1384.signal, 'access', _1385 => _1385.aborted])) return;
51476
+ if (_optionalChain([ctrl, 'optionalAccess', _1406 => _1406.signal, 'access', _1407 => _1407.aborted])) return;
51413
51477
  updateOne(att.id, {
51414
51478
  status: "ready",
51415
51479
  progress: 100,
@@ -51417,7 +51481,7 @@ function useChatAttachments() {
51417
51481
  viewToken: mintData.viewToken
51418
51482
  });
51419
51483
  } catch (err) {
51420
- if (_optionalChain([ctrl, 'optionalAccess', _1386 => _1386.signal, 'access', _1387 => _1387.aborted])) return;
51484
+ if (_optionalChain([ctrl, 'optionalAccess', _1408 => _1408.signal, 'access', _1409 => _1409.aborted])) return;
51421
51485
  const message2 = err instanceof Error ? err.message : String(err);
51422
51486
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
51423
51487
  } finally {
@@ -51568,7 +51632,7 @@ var ANON_DEFAULTS = {
51568
51632
  function useResolveChatIdentity(enabled) {
51569
51633
  const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
51570
51634
  const url = runtime.endpoints.identityUrl;
51571
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkTTYJAZ7Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1388 => _1388.email]), () => ( null));
51635
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkTTYJAZ7Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1410 => _1410.email]), () => ( null));
51572
51636
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
51573
51637
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
51574
51638
  _react.useEffect.call(void 0, () => {
@@ -51659,7 +51723,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
51659
51723
  yield chunk;
51660
51724
  }
51661
51725
  } catch (err) {
51662
- if (_optionalChain([err, 'optionalAccess', _1389 => _1389.name]) === "AbortError" || ctrl.signal.aborted) {
51726
+ if (_optionalChain([err, 'optionalAccess', _1411 => _1411.name]) === "AbortError" || ctrl.signal.aborted) {
51663
51727
  return;
51664
51728
  }
51665
51729
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -51710,7 +51774,7 @@ function useChat({
51710
51774
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
51711
51775
  onMessagesChangeRef.current = onMessagesChange;
51712
51776
  _react.useEffect.call(void 0, () => {
51713
- _optionalChain([onMessagesChangeRef, 'access', _1390 => _1390.current, 'optionalCall', _1391 => _1391(messages)]);
51777
+ _optionalChain([onMessagesChangeRef, 'access', _1412 => _1412.current, 'optionalCall', _1413 => _1413(messages)]);
51714
51778
  }, [messages]);
51715
51779
  const {
51716
51780
  streamMessage,
@@ -51747,7 +51811,7 @@ function useChat({
51747
51811
  name: "You",
51748
51812
  content: text,
51749
51813
  timestamp: /* @__PURE__ */ new Date(),
51750
- ..._optionalChain([options, 'optionalAccess', _1392 => _1392.hidden]) ? { hidden: true } : {}
51814
+ ..._optionalChain([options, 'optionalAccess', _1414 => _1414.hidden]) ? { hidden: true } : {}
51751
51815
  };
51752
51816
  addMessage(userMessage);
51753
51817
  setIsTyping(true);
@@ -51809,7 +51873,7 @@ function useChat({
51809
51873
  currentTextSegment = "";
51810
51874
  }
51811
51875
  const seg = segment;
51812
- const proposalId = _optionalChain([seg, 'access', _1393 => _1393.data, 'optionalAccess', _1394 => _1394.requestId]);
51876
+ const proposalId = _optionalChain([seg, 'access', _1415 => _1415.data, 'optionalAccess', _1416 => _1416.requestId]);
51813
51877
  const updateApprovalMessage = (transform) => {
51814
51878
  setMessages((prev) => {
51815
51879
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -51818,7 +51882,7 @@ function useChat({
51818
51882
  if (!Array.isArray(m.content)) continue;
51819
51883
  const segments = m.content;
51820
51884
  const hasMatch = segments.some(
51821
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1395 => _1395.data, 'optionalAccess', _1396 => _1396.requestId]) === proposalId
51885
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1417 => _1417.data, 'optionalAccess', _1418 => _1418.requestId]) === proposalId
51822
51886
  );
51823
51887
  if (!hasMatch) continue;
51824
51888
  const next = [...prev];
@@ -51860,11 +51924,11 @@ function useChat({
51860
51924
  if (!Array.isArray(m.content)) continue;
51861
51925
  const segments = m.content;
51862
51926
  const hasMatch = segments.some(
51863
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1397 => _1397.data, 'optionalAccess', _1398 => _1398.requestId]) === decision.proposalId
51927
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1419 => _1419.data, 'optionalAccess', _1420 => _1420.requestId]) === decision.proposalId
51864
51928
  );
51865
51929
  if (!hasMatch) continue;
51866
51930
  const flipped = segments.map(
51867
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1399 => _1399.data, 'optionalAccess', _1400 => _1400.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
51931
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1421 => _1421.data, 'optionalAccess', _1422 => _1422.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
51868
51932
  );
51869
51933
  const next = [...prev];
51870
51934
  next[i] = { ...m, content: flipped };
@@ -52009,7 +52073,7 @@ var STORAGE_KEY2 = "conversation";
52009
52073
  var namespaceFor = (source) => {
52010
52074
  const base = `mingo-chat-${source}`;
52011
52075
  const auth = _chunkTTYJAZ7Pcjs.getEmbedProxyAuth.call(void 0, );
52012
- return _optionalChain([auth, 'optionalAccess', _1401 => _1401.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
52076
+ return _optionalChain([auth, 'optionalAccess', _1423 => _1423.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
52013
52077
  };
52014
52078
  function createChatConversationStorage(source) {
52015
52079
  return _chunkTTYJAZ7Pcjs.createLocalStorageAdapter.call(void 0, {
@@ -52072,8 +52136,8 @@ function useChatHistoryHydration({
52072
52136
  );
52073
52137
  if (!res.ok) return;
52074
52138
  const payload = await res.json().catch(() => null);
52075
- const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1402 => _1402.data]), () => ( payload));
52076
- const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1403 => _1403.messages])) ? body.messages : [];
52139
+ const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1424 => _1424.data]), () => ( payload));
52140
+ const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1425 => _1425.messages])) ? body.messages : [];
52077
52141
  if (cancelled || rows.length === 0) return;
52078
52142
  const hydrated = [];
52079
52143
  let userTurns = 0;
@@ -52135,9 +52199,9 @@ function escapeThinkingTags(text) {
52135
52199
  }
52136
52200
  function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMapRef, setStreamingPhase, bumpMetaTick, sendCountRef, conversationIdRef, conversationStorage) {
52137
52201
  return async function* (message2, signal, extra) {
52138
- const targetPath = _optionalChain([extra, 'optionalAccess', _1404 => _1404.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
52202
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1426 => _1426.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
52139
52203
  const conversationId = conversationIdRef.current;
52140
- const requestBody = _optionalChain([extra, 'optionalAccess', _1405 => _1405.approvalAction]) ? {
52204
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1427 => _1427.approvalAction]) ? {
52141
52205
  proposal_id: extra.approvalAction.proposalId,
52142
52206
  action: extra.approvalAction.action,
52143
52207
  // Always present here — an approval can only happen inside an
@@ -52145,8 +52209,8 @@ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMap
52145
52209
  conversationId
52146
52210
  } : {
52147
52211
  messages: [{ role: "user", content: message2 }],
52148
- ..._optionalChain([extra, 'optionalAccess', _1406 => _1406.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
52149
- ..._optionalChain([extra, 'optionalAccess', _1407 => _1407.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {},
52212
+ ..._optionalChain([extra, 'optionalAccess', _1428 => _1428.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
52213
+ ..._optionalChain([extra, 'optionalAccess', _1429 => _1429.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {},
52150
52214
  ...conversationId ? { conversationId } : {}
52151
52215
  };
52152
52216
  const response = await _chunkTTYJAZ7Pcjs.embedAuthedFetch.call(void 0, targetPath, {
@@ -52157,7 +52221,7 @@ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMap
52157
52221
  if (!response.ok) {
52158
52222
  throw new Error(`Chat request failed: ${response.status}`);
52159
52223
  }
52160
- const reader = _optionalChain([response, 'access', _1408 => _1408.body, 'optionalAccess', _1409 => _1409.getReader, 'call', _1410 => _1410()]);
52224
+ const reader = _optionalChain([response, 'access', _1430 => _1430.body, 'optionalAccess', _1431 => _1431.getReader, 'call', _1432 => _1432()]);
52161
52225
  if (!reader) throw new Error("No response body");
52162
52226
  const decoder = new TextDecoder();
52163
52227
  let buffer = "";
@@ -52240,7 +52304,7 @@ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMap
52240
52304
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
52241
52305
  const result = _nullishCoalesce(meta.result, () => ( null));
52242
52306
  const card = _nullishCoalesce(meta.card, () => ( null));
52243
- if (_optionalChain([card, 'optionalAccess', _1411 => _1411.ref, 'optionalAccess', _1412 => _1412.id]) && _optionalChain([card, 'optionalAccess', _1413 => _1413.type])) {
52307
+ if (_optionalChain([card, 'optionalAccess', _1433 => _1433.ref, 'optionalAccess', _1434 => _1434.id]) && _optionalChain([card, 'optionalAccess', _1435 => _1435.type])) {
52244
52308
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
52245
52309
  const key = buildChatRefKey(card.type, card.ref.id);
52246
52310
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -52253,8 +52317,8 @@ function createDocStreamFn(source, endpoints, sourcesMapRef, refsMapRef, metaMap
52253
52317
  willAutoContinue: meta.willAutoContinue === true,
52254
52318
  ...toolName ? { toolName } : {},
52255
52319
  ...result ? { result } : {},
52256
- ..._optionalChain([card, 'optionalAccess', _1414 => _1414.marker]) ? { marker: card.marker } : {},
52257
- ..._optionalChain([card, 'optionalAccess', _1415 => _1415.ref]) ? { cardRef: card.ref } : {},
52320
+ ..._optionalChain([card, 'optionalAccess', _1436 => _1436.marker]) ? { marker: card.marker } : {},
52321
+ ..._optionalChain([card, 'optionalAccess', _1437 => _1437.ref]) ? { cardRef: card.ref } : {},
52258
52322
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
52259
52323
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
52260
52324
  };
@@ -52381,14 +52445,14 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52381
52445
  const { active = true } = runtimeOptions;
52382
52446
  const runtime = _chunkLILQJ3UZcjs.useRequiredChatRuntime.call(void 0, );
52383
52447
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
52384
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1416 => _1416.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
52448
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1438 => _1438.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
52385
52449
  const conversationStorage = _react.useMemo.call(void 0, () => createChatConversationStorage(source), [source]);
52386
52450
  const conversationIdRef = _react.useRef.call(void 0, null);
52387
52451
  const restoredConversationRef = _react.useRef.call(void 0, false);
52388
52452
  if (!restoredConversationRef.current) {
52389
52453
  restoredConversationRef.current = true;
52390
52454
  pruneStaleChatConversationStorage(source);
52391
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1417 => _1417.load, 'call', _1418 => _1418(), 'optionalAccess', _1419 => _1419.conversationId]), () => ( null));
52455
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1439 => _1439.load, 'call', _1440 => _1440(), 'optionalAccess', _1441 => _1441.conversationId]), () => ( null));
52392
52456
  }
52393
52457
  const sourcesMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
52394
52458
  const refsMapRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
@@ -52484,7 +52548,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52484
52548
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
52485
52549
  sources = sourcesMapRef.current.get(lookupIdx);
52486
52550
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
52487
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1420 => _1420.current, 'access', _1421 => _1421.get, 'call', _1422 => _1422(lookupIdx), 'optionalAccess', _1423 => _1423.scrollAnchor]), () => ( void 0));
52551
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1442 => _1442.current, 'access', _1443 => _1443.get, 'call', _1444 => _1444(lookupIdx), 'optionalAccess', _1445 => _1445.scrollAnchor]), () => ( void 0));
52488
52552
  }
52489
52553
  return {
52490
52554
  id: m.id,
@@ -52532,7 +52596,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52532
52596
  );
52533
52597
  return;
52534
52598
  }
52535
- const refSlug = typeof _optionalChain([reference, 'access', _1424 => _1424.metadata, 'optionalAccess', _1425 => _1425.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
52599
+ const refSlug = typeof _optionalChain([reference, 'access', _1446 => _1446.metadata, 'optionalAccess', _1447 => _1447.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
52536
52600
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
52537
52601
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
52538
52602
  const text = `/${cmdId} display "${escaped}"`;
@@ -52603,18 +52667,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
52603
52667
  /** True while the mount-time rebuild from the server transcript runs. */
52604
52668
  isHydratingHistory,
52605
52669
  /** Provider key for the lib's `<ModelDisplay>` icon. */
52606
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1426 => _1426.provider]), () => ( null)),
52607
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1427 => _1427.modelLabel]), () => ( null)),
52608
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1428 => _1428.contextWindowMaxTokens]), () => ( null)),
52670
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1448 => _1448.provider]), () => ( null)),
52671
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1449 => _1449.modelLabel]), () => ( null)),
52672
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1450 => _1450.contextWindowMaxTokens]), () => ( null)),
52609
52673
  /** Input tokens (known after server's message_start frame; null until). */
52610
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1429 => _1429.inputTokens]), () => ( null)),
52674
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1451 => _1451.inputTokens]), () => ( null)),
52611
52675
  /** Output tokens (known only after server's trailing usage frame). */
52612
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1430 => _1430.outputTokens]), () => ( null)),
52676
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1452 => _1452.outputTokens]), () => ( null)),
52613
52677
  /** Cache hit % (read / total-input × 100). null during streaming. */
52614
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1431 => _1431.cacheHitRatePct]), () => ( null)),
52678
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1453 => _1453.cacheHitRatePct]), () => ( null)),
52615
52679
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
52616
52680
  * token counts). null until the trailing usage frame lands. */
52617
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1432 => _1432.breakdown]), () => ( null)),
52681
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1454 => _1454.breakdown]), () => ( null)),
52618
52682
  // ─── Dialog management — stubs for v1 ────────────────────────────────
52619
52683
  // Guide mode keeps ONE server-side conversation per stored id
52620
52684
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -52671,15 +52735,15 @@ var noopRejectRequest = async (_id, _reason) => {
52671
52735
 
52672
52736
  // src/components/chat/utils/process-historical-messages.ts
52673
52737
  function getOwnerDisplayName(owner) {
52674
- if (_optionalChain([owner, 'optionalAccess', _1433 => _1433.type]) === OWNER_TYPE.ADMIN && owner.user) {
52738
+ if (_optionalChain([owner, 'optionalAccess', _1455 => _1455.type]) === OWNER_TYPE.ADMIN && owner.user) {
52675
52739
  const { firstName, lastName } = owner.user;
52676
52740
  const name = [firstName, lastName].filter(Boolean).join(" ");
52677
52741
  if (name) return name;
52678
52742
  }
52679
- return _optionalChain([owner, 'optionalAccess', _1434 => _1434.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
52743
+ return _optionalChain([owner, 'optionalAccess', _1456 => _1456.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
52680
52744
  }
52681
52745
  function getOwnerAvatar(owner) {
52682
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1435 => _1435.user, 'optionalAccess', _1436 => _1436.image, 'optionalAccess', _1437 => _1437.imageUrl]), () => ( void 0));
52746
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1457 => _1457.user, 'optionalAccess', _1458 => _1458.image, 'optionalAccess', _1459 => _1459.imageUrl]), () => ( void 0));
52683
52747
  }
52684
52748
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
52685
52749
  messageDataArray.forEach((data) => {
@@ -52754,14 +52818,14 @@ function processHistoricalMessages(messages, options = {}) {
52754
52818
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
52755
52819
  return;
52756
52820
  }
52757
- const isUserMessage = _optionalChain([msg, 'access', _1438 => _1438.owner, 'optionalAccess', _1439 => _1439.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1440 => _1440.owner, 'optionalAccess', _1441 => _1441.type]) === OWNER_TYPE.ADMIN;
52821
+ const isUserMessage = _optionalChain([msg, 'access', _1460 => _1460.owner, 'optionalAccess', _1461 => _1461.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1462 => _1462.owner, 'optionalAccess', _1463 => _1463.type]) === OWNER_TYPE.ADMIN;
52758
52822
  if (isUserMessage) {
52759
52823
  flushAssistantMessage();
52760
- const userAuthorType = _optionalChain([msg, 'access', _1442 => _1442.owner, 'optionalAccess', _1443 => _1443.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52824
+ const userAuthorType = _optionalChain([msg, 'access', _1464 => _1464.owner, 'optionalAccess', _1465 => _1465.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
52761
52825
  messageDataArray.forEach((data) => {
52762
52826
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
52763
52827
  const rawContext = data.contextItems;
52764
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1444 => _1444.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1445 => _1445.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52828
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1466 => _1466.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1467 => _1467.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
52765
52829
  processedMessages.push({
52766
52830
  id: msg.id,
52767
52831
  role: "user",
@@ -52795,7 +52859,7 @@ function processHistoricalMessages(messages, options = {}) {
52795
52859
  });
52796
52860
  const nextMsg = messages[index + 1];
52797
52861
  const isLastMessage = index === messages.length - 1;
52798
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1446 => _1446.owner, 'optionalAccess', _1447 => _1447.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1448 => _1448.owner, 'optionalAccess', _1449 => _1449.type]) === OWNER_TYPE.ADMIN);
52862
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1468 => _1468.owner, 'optionalAccess', _1469 => _1469.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1470 => _1470.owner, 'optionalAccess', _1471 => _1471.type]) === OWNER_TYPE.ADMIN);
52799
52863
  if (isLastMessage || nextIsFromUser) {
52800
52864
  flushAssistantMessage();
52801
52865
  }
@@ -52911,7 +52975,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52911
52975
  }
52912
52976
  }
52913
52977
  } else {
52914
- _optionalChain([escalatedApprovals, 'optionalAccess', _1450 => _1450.set, 'call', _1451 => _1451(data.approvalRequestId, {
52978
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1472 => _1472.set, 'call', _1473 => _1473(data.approvalRequestId, {
52915
52979
  command: data.command || "",
52916
52980
  explanation: data.explanation,
52917
52981
  approvalType,
@@ -52925,8 +52989,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52925
52989
  const existingStatus = approvalStatuses[data.approvalRequestId];
52926
52990
  const status = existingStatus || (data.approved ? "approved" : "rejected");
52927
52991
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
52928
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1452 => _1452.get, 'call', _1453 => _1453(data.approvalRequestId)]);
52929
- if (_optionalChain([escalatedData, 'optionalAccess', _1454 => _1454.toolCalls]) && escalatedData.toolCalls.length > 0) {
52992
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1474 => _1474.get, 'call', _1475 => _1475(data.approvalRequestId)]);
52993
+ if (_optionalChain([escalatedData, 'optionalAccess', _1476 => _1476.toolCalls]) && escalatedData.toolCalls.length > 0) {
52930
52994
  if (batchApprovalsEnabled) {
52931
52995
  accumulator.addApprovalBatch(
52932
52996
  data.approvalRequestId,
@@ -52948,7 +53012,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52948
53012
  );
52949
53013
  }
52950
53014
  }
52951
- _optionalChain([escalatedApprovals, 'optionalAccess', _1455 => _1455.delete, 'call', _1456 => _1456(data.approvalRequestId)]);
53015
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1477 => _1477.delete, 'call', _1478 => _1478(data.approvalRequestId)]);
52952
53016
  break;
52953
53017
  }
52954
53018
  if (escalatedData) {
@@ -52957,7 +53021,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52957
53021
  explanation: escalatedData.explanation,
52958
53022
  approvalType: escalatedData.approvalType
52959
53023
  });
52960
- _optionalChain([escalatedApprovals, 'optionalAccess', _1457 => _1457.delete, 'call', _1458 => _1458(data.approvalRequestId)]);
53024
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1479 => _1479.delete, 'call', _1480 => _1480(data.approvalRequestId)]);
52961
53025
  }
52962
53026
  const before = accumulator.getSegments();
52963
53027
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -52973,9 +53037,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
52973
53037
  case MESSAGE_TYPE.ERROR:
52974
53038
  if ("error" in data) {
52975
53039
  let message2;
52976
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1459 => _1459.details])) {
53040
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1481 => _1481.details])) {
52977
53041
  try {
52978
- message2 = _optionalChain([JSON, 'access', _1460 => _1460.parse, 'call', _1461 => _1461(data.details), 'optionalAccess', _1462 => _1462.error, 'optionalAccess', _1463 => _1463.message]);
53042
+ message2 = _optionalChain([JSON, 'access', _1482 => _1482.parse, 'call', _1483 => _1483(data.details), 'optionalAccess', _1484 => _1484.error, 'optionalAccess', _1485 => _1485.message]);
52979
53043
  } catch (e94) {
52980
53044
  message2 = data.details;
52981
53045
  }
@@ -53061,14 +53125,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
53061
53125
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
53062
53126
  return;
53063
53127
  }
53064
- const isUserMessage = _optionalChain([msg, 'access', _1464 => _1464.owner, 'optionalAccess', _1465 => _1465.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1466 => _1466.owner, 'optionalAccess', _1467 => _1467.type]) === OWNER_TYPE.ADMIN;
53128
+ const isUserMessage = _optionalChain([msg, 'access', _1486 => _1486.owner, 'optionalAccess', _1487 => _1487.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1488 => _1488.owner, 'optionalAccess', _1489 => _1489.type]) === OWNER_TYPE.ADMIN;
53065
53129
  if (isUserMessage) {
53066
53130
  flushAssistantMessage();
53067
- const userAuthorType = _optionalChain([msg, 'access', _1468 => _1468.owner, 'optionalAccess', _1469 => _1469.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
53131
+ const userAuthorType = _optionalChain([msg, 'access', _1490 => _1490.owner, 'optionalAccess', _1491 => _1491.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
53068
53132
  messageDataArray.forEach((data) => {
53069
53133
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
53070
53134
  const rawContext = data.contextItems;
53071
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1470 => _1470.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1471 => _1471.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
53135
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1492 => _1492.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1493 => _1493.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
53072
53136
  processedMessages.push({
53073
53137
  id: msg.id,
53074
53138
  role: "user",
@@ -53102,7 +53166,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
53102
53166
  });
53103
53167
  const nextMsg = messages[index + 1];
53104
53168
  const isLastMessage = index === messages.length - 1;
53105
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1472 => _1472.owner, 'optionalAccess', _1473 => _1473.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1474 => _1474.owner, 'optionalAccess', _1475 => _1475.type]) === OWNER_TYPE.ADMIN);
53169
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1494 => _1494.owner, 'optionalAccess', _1495 => _1495.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1496 => _1496.owner, 'optionalAccess', _1497 => _1497.type]) === OWNER_TYPE.ADMIN);
53106
53170
  if (isLastMessage || nextIsFromUser) {
53107
53171
  flushAssistantMessage();
53108
53172
  }
@@ -53163,7 +53227,7 @@ function extractIncompleteMessageState(lastMessage) {
53163
53227
  break;
53164
53228
  case "approval_batch": {
53165
53229
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
53166
- (c) => _optionalChain([segment, 'access', _1476 => _1476.data, 'access', _1477 => _1477.executions, 'optionalAccess', _1478 => _1478[c.toolExecutionRequestId], 'optionalAccess', _1479 => _1479.status]) === "done"
53230
+ (c) => _optionalChain([segment, 'access', _1498 => _1498.data, 'access', _1499 => _1499.executions, 'optionalAccess', _1500 => _1500[c.toolExecutionRequestId], 'optionalAccess', _1501 => _1501.status]) === "done"
53167
53231
  );
53168
53232
  if (segment.status !== "rejected" && !allDone) {
53169
53233
  hasIncompleteState = true;
@@ -53230,11 +53294,11 @@ function appendToTrailingAssistant(prev, segments) {
53230
53294
  const merged = [..._nullishCoalesce(last.segments, () => ( []))];
53231
53295
  for (const seg of segments) {
53232
53296
  const tail = merged[merged.length - 1];
53233
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1480 => _1480.type]) === "text") {
53297
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1502 => _1502.type]) === "text") {
53234
53298
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
53235
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1481 => _1481.type]) === "thinking") {
53299
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1503 => _1503.type]) === "thinking") {
53236
53300
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
53237
- } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1482 => _1482.type]) === "guide") {
53301
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1504 => _1504.type]) === "guide") {
53238
53302
  merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
53239
53303
  } else if (seg.type === "approval_batch") {
53240
53304
  const idx = merged.findIndex(
@@ -53278,11 +53342,11 @@ function applyToolExecutionToMessages(prev, segment) {
53278
53342
  for (let j = message2.segments.length - 1; j >= 0; j--) {
53279
53343
  const seg = message2.segments[j];
53280
53344
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
53281
- const prevExec = _optionalChain([seg, 'access', _1483 => _1483.data, 'access', _1484 => _1484.executions, 'optionalAccess', _1485 => _1485[execId]]);
53282
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1486 => _1486.status]) === "done") {
53345
+ const prevExec = _optionalChain([seg, 'access', _1505 => _1505.data, 'access', _1506 => _1506.executions, 'optionalAccess', _1507 => _1507[execId]]);
53346
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1508 => _1508.status]) === "done") {
53283
53347
  return prev;
53284
53348
  }
53285
- const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1487 => _1487.result]), success: _optionalChain([prevExec, 'optionalAccess', _1488 => _1488.success]) };
53349
+ const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1509 => _1509.result]), success: _optionalChain([prevExec, 'optionalAccess', _1510 => _1510.success]) };
53286
53350
  const nextSegments = [...message2.segments];
53287
53351
  nextSegments[j] = {
53288
53352
  ...seg,
@@ -53452,11 +53516,11 @@ function useNatsChatAdapter(config, options = {}) {
53452
53516
  }, []);
53453
53517
  const callbacksRef = _react.useRef.call(void 0, {
53454
53518
  onSegmentsUpdate: (segments, meta) => {
53455
- if (_optionalChain([meta, 'optionalAccess', _1489 => _1489.append]) && meta.isCompacting) {
53519
+ if (_optionalChain([meta, 'optionalAccess', _1511 => _1511.append]) && meta.isCompacting) {
53456
53520
  setMessages((prev) => upsertTrailingCompaction(prev, segments));
53457
53521
  return;
53458
53522
  }
53459
- if (_optionalChain([meta, 'optionalAccess', _1490 => _1490.append])) {
53523
+ if (_optionalChain([meta, 'optionalAccess', _1512 => _1512.append])) {
53460
53524
  setMessages((prev) => appendToTrailingAssistant(prev, segments));
53461
53525
  return;
53462
53526
  }
@@ -53469,8 +53533,8 @@ function useNatsChatAdapter(config, options = {}) {
53469
53533
  setMessages((prev) => {
53470
53534
  const last = prev[prev.length - 1];
53471
53535
  if (!last || last.role !== "assistant" || adoptTail) return prev;
53472
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _1491 => _1491.segments, 'optionalAccess', _1492 => _1492.length]), () => ( 0))) > 0 || last.content !== "";
53473
- if (!hasContent) return prev;
53536
+ const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1513 => _1513.segments, 'optionalAccess', _1514 => _1514.length]), () => ( 0))) > 0 || last.content !== "";
53537
+ if (!hasContent2) return prev;
53474
53538
  return [
53475
53539
  ...prev,
53476
53540
  { id: nextId("assistant"), role: "assistant", content: "", segments: [] }
@@ -53541,19 +53605,19 @@ function useNatsChatAdapter(config, options = {}) {
53541
53605
  // MESSAGE_REQUEST echo — a user message from THIS or another session.
53542
53606
  onUserMessage: (text, meta) => {
53543
53607
  if (!text) return;
53544
- const seq = _optionalChain([meta, 'optionalAccess', _1493 => _1493.streamSeq]);
53608
+ const seq = _optionalChain([meta, 'optionalAccess', _1515 => _1515.streamSeq]);
53545
53609
  if (typeof seq === "number") {
53546
53610
  if (seenParticipantSeqsRef.current.has(seq)) return;
53547
53611
  seenParticipantSeqsRef.current.add(seq);
53548
53612
  }
53549
- if (_optionalChain([meta, 'optionalAccess', _1494 => _1494.ownerType]) !== "ADMIN") {
53613
+ if (_optionalChain([meta, 'optionalAccess', _1516 => _1516.ownerType]) !== "ADMIN") {
53550
53614
  const echoIdx = pendingEchoTextsRef.current.indexOf(text);
53551
53615
  if (echoIdx !== -1) {
53552
53616
  pendingEchoTextsRef.current.splice(echoIdx, 1);
53553
53617
  return;
53554
53618
  }
53555
53619
  }
53556
- const authorType = _optionalChain([meta, 'optionalAccess', _1495 => _1495.ownerType]) === "ADMIN" ? "admin" : "user";
53620
+ const authorType = _optionalChain([meta, 'optionalAccess', _1517 => _1517.ownerType]) === "ADMIN" ? "admin" : "user";
53557
53621
  setMessages((prev) => {
53558
53622
  if (typeof seq !== "number" && hasRecentMessage(
53559
53623
  prev,
@@ -53568,9 +53632,9 @@ function useNatsChatAdapter(config, options = {}) {
53568
53632
  id: nextId("user"),
53569
53633
  role: "user",
53570
53634
  content: text,
53571
- ..._optionalChain([meta, 'optionalAccess', _1496 => _1496.displayName]) ? { name: meta.displayName } : {},
53635
+ ..._optionalChain([meta, 'optionalAccess', _1518 => _1518.displayName]) ? { name: meta.displayName } : {},
53572
53636
  authorType,
53573
- ..._optionalChain([meta, 'optionalAccess', _1497 => _1497.contextItems]) && meta.contextItems.length > 0 ? {
53637
+ ..._optionalChain([meta, 'optionalAccess', _1519 => _1519.contextItems]) && meta.contextItems.length > 0 ? {
53574
53638
  contextItems: meta.contextItems.map((ci) => ({
53575
53639
  type: ci.type,
53576
53640
  id: ci.id,
@@ -53584,7 +53648,7 @@ function useNatsChatAdapter(config, options = {}) {
53584
53648
  // Technician / admin direct message into the dialog.
53585
53649
  onDirectMessage: (text, meta) => {
53586
53650
  if (!text) return;
53587
- const seq = _optionalChain([meta, 'optionalAccess', _1498 => _1498.streamSeq]);
53651
+ const seq = _optionalChain([meta, 'optionalAccess', _1520 => _1520.streamSeq]);
53588
53652
  if (typeof seq === "number") {
53589
53653
  if (seenParticipantSeqsRef.current.has(seq)) return;
53590
53654
  seenParticipantSeqsRef.current.add(seq);
@@ -53603,7 +53667,7 @@ function useNatsChatAdapter(config, options = {}) {
53603
53667
  id: `direct-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`,
53604
53668
  role: "user",
53605
53669
  content: text,
53606
- name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1499 => _1499.displayName]), () => ( "Admin")),
53670
+ name: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _1521 => _1521.displayName]), () => ( "Admin")),
53607
53671
  authorType: "admin"
53608
53672
  }
53609
53673
  ];
@@ -53613,7 +53677,7 @@ function useNatsChatAdapter(config, options = {}) {
53613
53677
  // processor produces via `pushStandaloneMessages`).
53614
53678
  onSystemMessage: (text, meta) => {
53615
53679
  if (!text) return;
53616
- const seq = _optionalChain([meta, 'optionalAccess', _1500 => _1500.streamSeq]);
53680
+ const seq = _optionalChain([meta, 'optionalAccess', _1522 => _1522.streamSeq]);
53617
53681
  if (typeof seq === "number") {
53618
53682
  if (seenParticipantSeqsRef.current.has(seq)) return;
53619
53683
  seenParticipantSeqsRef.current.add(seq);
@@ -53845,7 +53909,7 @@ function useNatsChatAdapter(config, options = {}) {
53845
53909
  }, [active, fetchDialogs, loadDialogsPage]);
53846
53910
  const sendMessage = _react.useCallback.call(void 0,
53847
53911
  async (text, sendOptions) => {
53848
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1501 => _1501.hidden]), () => ( false));
53912
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1523 => _1523.hidden]), () => ( false));
53849
53913
  pendingEchoTextsRef.current.push(text);
53850
53914
  if (pendingEchoTextsRef.current.length > 5) pendingEchoTextsRef.current.shift();
53851
53915
  setMessages((prev) => [
@@ -54011,11 +54075,11 @@ function useNatsChatAdapter(config, options = {}) {
54011
54075
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
54012
54076
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
54013
54077
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
54014
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1502 => _1502.provider]), () => ( modelProvider)), () => ( null)),
54015
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1503 => _1503.modelLabel]), () => ( modelLabel)), () => ( null)),
54016
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1504 => _1504.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1505 => _1505.contextWindowMaxTokens]))), () => ( null)),
54017
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1506 => _1506.inputTokensSize]), () => ( null)),
54018
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1507 => _1507.outputTokensSize]), () => ( null)),
54078
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1524 => _1524.provider]), () => ( modelProvider)), () => ( null)),
54079
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1525 => _1525.modelLabel]), () => ( modelLabel)), () => ( null)),
54080
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1526 => _1526.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1527 => _1527.contextWindowMaxTokens]))), () => ( null)),
54081
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1528 => _1528.inputTokensSize]), () => ( null)),
54082
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1529 => _1529.outputTokensSize]), () => ( null)),
54019
54083
  currentCacheHitRatePct: null,
54020
54084
  currentUsageBreakdown: null,
54021
54085
  // Dialog management
@@ -54152,7 +54216,7 @@ function useUnifiedChat(options) {
54152
54216
  []
54153
54217
  );
54154
54218
  const setDialogScope = _react.useCallback.call(void 0,
54155
- (scope) => _optionalChain([activeStateRef, 'access', _1508 => _1508.current, 'access', _1509 => _1509.setDialogScope, 'optionalCall', _1510 => _1510(scope)]),
54219
+ (scope) => _optionalChain([activeStateRef, 'access', _1530 => _1530.current, 'access', _1531 => _1531.setDialogScope, 'optionalCall', _1532 => _1532(scope)]),
54156
54220
  []
54157
54221
  );
54158
54222
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -54290,20 +54354,20 @@ function mergeHistoryWithRealtime(input) {
54290
54354
  }
54291
54355
  }
54292
54356
  const trailing = processedHistory[processedHistory.length - 1];
54293
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1511 => _1511.role]) === "assistant" ? trailing : null;
54294
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1512 => _1512.content, 'access', _1513 => _1513.find, 'call', _1514 => _1514((s) => s.type === "approval_batch"), 'optionalAccess', _1515 => _1515.data, 'optionalAccess', _1516 => _1516.approvalRequestId]), () => ( null)) : null;
54357
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1533 => _1533.role]) === "assistant" ? trailing : null;
54358
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1534 => _1534.content, 'access', _1535 => _1535.find, 'call', _1536 => _1536((s) => s.type === "approval_batch"), 'optionalAccess', _1537 => _1537.data, 'optionalAccess', _1538 => _1538.approvalRequestId]), () => ( null)) : null;
54295
54359
  let processedToUse = processedHistory;
54296
54360
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
54297
54361
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
54298
54362
  if (historyBatchId) {
54299
54363
  const batchTwins = existingMessages.filter(
54300
54364
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
54301
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1517 => _1517.data, 'optionalAccess', _1518 => _1518.approvalRequestId]) === historyBatchId
54365
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1539 => _1539.data, 'optionalAccess', _1540 => _1540.approvalRequestId]) === historyBatchId
54302
54366
  )
54303
54367
  );
54304
54368
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
54305
54369
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
54306
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1519 => _1519.content])) ? historyTrailingAssistant.content.length : 0;
54370
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1541 => _1541.content])) ? historyTrailingAssistant.content.length : 0;
54307
54371
  const realtimeSize = existingWithSameBatch.content.length;
54308
54372
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
54309
54373
  processedToUse = processedHistory.slice(0, -1);
@@ -54337,9 +54401,9 @@ function mergeHistoryWithRealtime(input) {
54337
54401
  if (pinnedSyntheticIds.has(m.id)) return true;
54338
54402
  if (droppedSyntheticIds.has(m.id)) return false;
54339
54403
  if (processedIds.has(m.id)) return false;
54340
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1520 => _1520.has, 'call', _1521 => _1521(m.id)])) return false;
54404
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1542 => _1542.has, 'call', _1543 => _1543(m.id)])) return false;
54341
54405
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
54342
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1522 => _1522.timestamp, 'optionalAccess', _1523 => _1523.getTime, 'call', _1524 => _1524()]), () => ( 0))) <= historyFetchedAt;
54406
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1544 => _1544.timestamp, 'optionalAccess', _1545 => _1545.getTime, 'call', _1546 => _1546()]), () => ( 0))) <= historyFetchedAt;
54343
54407
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
54344
54408
  }
54345
54409
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -54363,7 +54427,7 @@ function mergeHistoryWithRealtime(input) {
54363
54427
  } else if (typeof m.streamSeq === "number" && historyMaxStreamSeq > 0) {
54364
54428
  covered = historyMaxStreamSeq >= m.streamSeq;
54365
54429
  } else {
54366
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1525 => _1525.timestamp, 'optionalAccess', _1526 => _1526.getTime, 'call', _1527 => _1527()]), () => ( 0))) <= historyFetchedAt;
54430
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1547 => _1547.timestamp, 'optionalAccess', _1548 => _1548.getTime, 'call', _1549 => _1549()]), () => ( 0))) <= historyFetchedAt;
54367
54431
  }
54368
54432
  if (covered) return false;
54369
54433
  }
@@ -54419,7 +54483,7 @@ function normalizeHistoricalMessageData(md) {
54419
54483
  function isHistoricalUserTurn(m) {
54420
54484
  return !!m.owner;
54421
54485
  }
54422
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1528 => _1528.type]) === "TEXT" && typeof d.text === "string";
54486
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1550 => _1550.type]) === "TEXT" && typeof d.text === "string";
54423
54487
  var THINK_MS = 550;
54424
54488
  var TOKEN_MS = 55;
54425
54489
  var USER_MS = 480;
@@ -54666,7 +54730,7 @@ function useChatDialogManager({
54666
54730
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
54667
54731
  if (restoreTarget) {
54668
54732
  try {
54669
- await _optionalChain([unarchiveDialog, 'optionalCall', _1529 => _1529(restoreTarget.id)]);
54733
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1551 => _1551(restoreTarget.id)]);
54670
54734
  } catch (err) {
54671
54735
  console.error("[useChatDialogManager] unarchive failed:", err);
54672
54736
  return;
@@ -55147,7 +55211,7 @@ function EmbeddableChatInner({
55147
55211
  }),
55148
55212
  [commandsUrl]
55149
55213
  );
55150
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1530 => _1530.name, 'optionalAccess', _1531 => _1531.trim, 'call', _1532 => _1532()]) || [_optionalChain([identityUser, 'optionalAccess', _1533 => _1533.firstName]), _optionalChain([identityUser, 'optionalAccess', _1534 => _1534.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1535 => _1535.trim, 'call', _1536 => _1536()]) || void 0;
55214
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1552 => _1552.name, 'optionalAccess', _1553 => _1553.trim, 'call', _1554 => _1554()]) || [_optionalChain([identityUser, 'optionalAccess', _1555 => _1555.firstName]), _optionalChain([identityUser, 'optionalAccess', _1556 => _1556.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1557 => _1557.trim, 'call', _1558 => _1558()]) || void 0;
55151
55215
  const effectiveModes = _react.useMemo.call(void 0, () => {
55152
55216
  if (modes) return modes;
55153
55217
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -55156,19 +55220,19 @@ function EmbeddableChatInner({
55156
55220
  const mingoCaps = _react.useMemo.call(void 0, () => {
55157
55221
  if (mingoState) {
55158
55222
  return {
55159
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1537 => _1537.canRename]), () => ( false)),
55160
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1538 => _1538.canArchive]), () => ( false)),
55161
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1539 => _1539.fetchArchivedDialogs]),
55162
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1540 => _1540.unarchiveDialog]),
55163
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1541 => _1541.searchQuery]),
55164
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1542 => _1542.onSearchChange])
55223
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1559 => _1559.canRename]), () => ( false)),
55224
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1560 => _1560.canArchive]), () => ( false)),
55225
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1561 => _1561.fetchArchivedDialogs]),
55226
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1562 => _1562.unarchiveDialog]),
55227
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1563 => _1563.searchQuery]),
55228
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1564 => _1564.onSearchChange])
55165
55229
  };
55166
55230
  }
55167
55231
  return {
55168
- canRename: !!_optionalChain([effectiveModes, 'access', _1543 => _1543.mingo, 'optionalAccess', _1544 => _1544.renameDialog]),
55169
- canArchive: !!_optionalChain([effectiveModes, 'access', _1545 => _1545.mingo, 'optionalAccess', _1546 => _1546.archiveDialog]),
55170
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1547 => _1547.mingo, 'optionalAccess', _1548 => _1548.fetchArchivedDialogs]),
55171
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1549 => _1549.mingo, 'optionalAccess', _1550 => _1550.unarchiveDialog]),
55232
+ canRename: !!_optionalChain([effectiveModes, 'access', _1565 => _1565.mingo, 'optionalAccess', _1566 => _1566.renameDialog]),
55233
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1567 => _1567.mingo, 'optionalAccess', _1568 => _1568.archiveDialog]),
55234
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1569 => _1569.mingo, 'optionalAccess', _1570 => _1570.fetchArchivedDialogs]),
55235
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1571 => _1571.mingo, 'optionalAccess', _1572 => _1572.unarchiveDialog]),
55172
55236
  searchQuery: void 0,
55173
55237
  onSearchChange: void 0
55174
55238
  };
@@ -55182,7 +55246,7 @@ function EmbeddableChatInner({
55182
55246
  if (controlledActiveMode === void 0) {
55183
55247
  setUncontrolledActiveMode(next);
55184
55248
  }
55185
- _optionalChain([onActiveModeChange, 'optionalCall', _1551 => _1551(next)]);
55249
+ _optionalChain([onActiveModeChange, 'optionalCall', _1573 => _1573(next)]);
55186
55250
  },
55187
55251
  [controlledActiveMode, onActiveModeChange]
55188
55252
  );
@@ -55204,7 +55268,7 @@ function EmbeddableChatInner({
55204
55268
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
55205
55269
  const effectiveAssistantName = emptyStateConfig.name;
55206
55270
  const effectiveAssistantIcon = emptyStateConfig.icon;
55207
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1552 => _1552.title]) === "string" ? guideWelcome.title : null)));
55271
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1574 => _1574.title]) === "string" ? guideWelcome.title : null)));
55208
55272
  const {
55209
55273
  messages: rawMessages,
55210
55274
  isLoading: chatLoading,
@@ -55246,7 +55310,7 @@ function EmbeddableChatInner({
55246
55310
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
55247
55311
  guidePromptSentRef.current = true;
55248
55312
  void sendMessage(guidePendingPrompt);
55249
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1553 => _1553()]);
55313
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1575 => _1575()]);
55250
55314
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
55251
55315
  const {
55252
55316
  attachments: stagedAttachments,
@@ -55257,7 +55321,7 @@ function EmbeddableChatInner({
55257
55321
  clear: clearAttachments
55258
55322
  } = useChatAttachments();
55259
55323
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
55260
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1554 => _1554.maxItems]), () => ( 10));
55324
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1576 => _1576.maxItems]), () => ( 10));
55261
55325
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
55262
55326
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
55263
55327
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -55274,10 +55338,10 @@ function EmbeddableChatInner({
55274
55338
  }, [activeDialogId, activeMode]);
55275
55339
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
55276
55340
  const m = /* @__PURE__ */ new Map();
55277
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1555 => _1555.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
55341
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1577 => _1577.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
55278
55342
  return m;
55279
- }, [_optionalChain([contextPicker, 'optionalAccess', _1556 => _1556.entityTypes])]);
55280
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1557 => _1557.entityTypes]);
55343
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1578 => _1578.entityTypes])]);
55344
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1579 => _1579.entityTypes]);
55281
55345
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
55282
55346
  const byType = /* @__PURE__ */ new Map();
55283
55347
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -55289,7 +55353,7 @@ function EmbeddableChatInner({
55289
55353
  if (mentionActiveRef.current) {
55290
55354
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
55291
55355
  if (contextItems.length >= contextMaxItems) return;
55292
- _optionalChain([chatInputRef, 'access', _1558 => _1558.current, 'optionalAccess', _1559 => _1559.commitMention, 'call', _1560 => _1560(mentionTokenOf(key, mentionMarkerByType), {
55356
+ _optionalChain([chatInputRef, 'access', _1580 => _1580.current, 'optionalAccess', _1581 => _1581.commitMention, 'call', _1582 => _1582(mentionTokenOf(key, mentionMarkerByType), {
55293
55357
  label: item.label,
55294
55358
  icon: resolveContextIcon(item)
55295
55359
  })]);
@@ -55311,9 +55375,9 @@ function EmbeddableChatInner({
55311
55375
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
55312
55376
  if (mentionKeysRef.current.has(key)) {
55313
55377
  mentionKeysRef.current.delete(key);
55314
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1561 => _1561.current, 'optionalAccess', _1562 => _1562.getValue, 'call', _1563 => _1563()]), () => ( ""));
55378
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1583 => _1583.current, 'optionalAccess', _1584 => _1584.getValue, 'call', _1585 => _1585()]), () => ( ""));
55315
55379
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
55316
- _optionalChain([chatInputRef, 'access', _1564 => _1564.current, 'optionalAccess', _1565 => _1565.setValue, 'call', _1566 => _1566(next)]);
55380
+ _optionalChain([chatInputRef, 'access', _1586 => _1586.current, 'optionalAccess', _1587 => _1587.setValue, 'call', _1588 => _1588(next)]);
55317
55381
  }
55318
55382
  }, [mentionMarkerByType]);
55319
55383
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -55330,7 +55394,7 @@ function EmbeddableChatInner({
55330
55394
  }, []);
55331
55395
  const closeContextPicker = _react.useCallback.call(void 0, () => {
55332
55396
  if (mentionActiveRef.current) {
55333
- _optionalChain([chatInputRef, 'access', _1567 => _1567.current, 'optionalAccess', _1568 => _1568.removeMentionTrigger, 'call', _1569 => _1569()]);
55397
+ _optionalChain([chatInputRef, 'access', _1589 => _1589.current, 'optionalAccess', _1590 => _1590.removeMentionTrigger, 'call', _1591 => _1591()]);
55334
55398
  }
55335
55399
  setContextPickerOpen(false);
55336
55400
  setMentionQuery(null);
@@ -55364,8 +55428,8 @@ function EmbeddableChatInner({
55364
55428
  [effectiveAssistantIcon]
55365
55429
  );
55366
55430
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
55367
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1570 => _1570.firstName]), _optionalChain([identityUser, 'optionalAccess', _1571 => _1571.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1572 => _1572.name, 'optionalAccess', _1573 => _1573.trim, 'call', _1574 => _1574()]) || void 0 : void 0;
55368
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1575 => _1575.avatarUrl, 'optionalAccess', _1576 => _1576.trim, 'call', _1577 => _1577()]) || void 0 : void 0;
55431
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1592 => _1592.firstName]), _optionalChain([identityUser, 'optionalAccess', _1593 => _1593.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1594 => _1594.name, 'optionalAccess', _1595 => _1595.trim, 'call', _1596 => _1596()]) || void 0 : void 0;
55432
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1597 => _1597.avatarUrl, 'optionalAccess', _1598 => _1598.trim, 'call', _1599 => _1599()]) || void 0 : void 0;
55369
55433
  const messages = _react.useMemo.call(void 0, () => {
55370
55434
  const cache = timestampCacheRef.current;
55371
55435
  const seenIds = /* @__PURE__ */ new Set();
@@ -55545,9 +55609,9 @@ function EmbeddableChatInner({
55545
55609
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
55546
55610
  const lastSources = _react.useMemo.call(void 0, () => {
55547
55611
  if (chatLoading) return void 0;
55548
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1578 => _1578.sources]);
55612
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1600 => _1600.sources]);
55549
55613
  if (!sources || sources.length === 0) return void 0;
55550
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1579 => _1579.content]) || "";
55614
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1601 => _1601.content]) || "";
55551
55615
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
55552
55616
  (m) => parseInt(m[1], 10)
55553
55617
  );
@@ -55566,7 +55630,7 @@ function EmbeddableChatInner({
55566
55630
  const el = panelMeasureRef.current;
55567
55631
  if (!el || typeof ResizeObserver === "undefined") return;
55568
55632
  const ro = new ResizeObserver((entries) => {
55569
- const w = _optionalChain([entries, 'access', _1580 => _1580[0], 'optionalAccess', _1581 => _1581.contentRect, 'optionalAccess', _1582 => _1582.width]);
55633
+ const w = _optionalChain([entries, 'access', _1602 => _1602[0], 'optionalAccess', _1603 => _1603.contentRect, 'optionalAccess', _1604 => _1604.width]);
55570
55634
  if (typeof w === "number") setPanelWidth(w);
55571
55635
  });
55572
55636
  ro.observe(el);
@@ -55605,16 +55669,16 @@ function EmbeddableChatInner({
55605
55669
  const isMingoMode = activeMode === "mingo";
55606
55670
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
55607
55671
  const headerShowBack = hasConversation || guideCanReturnToMingo;
55608
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1583 => _1583.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
55672
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1605 => _1605.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
55609
55673
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
55610
55674
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
55611
55675
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
55612
55676
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
55613
55677
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
55614
55678
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
55615
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1584 => _1584.owner]) : void 0;
55616
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1585 => _1585.name, 'optionalAccess', _1586 => _1586.trim, 'call', _1587 => _1587()]) || headerUserName;
55617
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1588 => _1588.avatarUrl, 'optionalAccess', _1589 => _1589.trim, 'call', _1590 => _1590()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1591 => _1591.avatarUrl, 'optionalAccess', _1592 => _1592.trim, 'call', _1593 => _1593()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1594 => _1594.trim, 'call', _1595 => _1595()]) || void 0;
55679
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1606 => _1606.owner]) : void 0;
55680
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1607 => _1607.name, 'optionalAccess', _1608 => _1608.trim, 'call', _1609 => _1609()]) || headerUserName;
55681
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1610 => _1610.avatarUrl, 'optionalAccess', _1611 => _1611.trim, 'call', _1612 => _1612()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1613 => _1613.avatarUrl, 'optionalAccess', _1614 => _1614.trim, 'call', _1615 => _1615()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1616 => _1616.trim, 'call', _1617 => _1617()]) || void 0;
55618
55682
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
55619
55683
  const handleNewChat = _react.useCallback.call(void 0, () => {
55620
55684
  resetToNewChat();
@@ -55973,9 +56037,9 @@ function EmbeddableChatInner({
55973
56037
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
55974
56038
  subtitleLoading: emptyStateLoading,
55975
56039
  ...guideWelcome,
55976
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1596 => _1596.title]))),
55977
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1597 => _1597.icon]))),
55978
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1598 => _1598.quickActions]), () => ( guideSuggestedActions)),
56040
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1618 => _1618.title]))),
56041
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1619 => _1619.icon]))),
56042
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1620 => _1620.quickActions]), () => ( guideSuggestedActions)),
55979
56043
  onQuickAction: (action) => {
55980
56044
  setQuickActionPreview(null);
55981
56045
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -56055,8 +56119,8 @@ function EmbeddableChatInner({
56055
56119
  selectedContextItems: contextItems,
56056
56120
  onToggleContextItem: toggleContextItem,
56057
56121
  onRemoveContextItem: removeContextItem,
56058
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1599 => _1599.items]),
56059
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1600 => _1600.onRemove]),
56122
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1621 => _1621.items]),
56123
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1622 => _1622.onRemove]),
56060
56124
  contextPickerOpen,
56061
56125
  onOpenContextPicker: openContextPicker,
56062
56126
  onCloseContextPicker: closeContextPicker,
@@ -57176,5 +57240,6 @@ function EmbeddableChatInner({
57176
57240
 
57177
57241
 
57178
57242
 
57179
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; 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.SearchableSelect = SearchableSelect; 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.ScrollShadow = ScrollShadow; 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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; 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.GuideDisplay = GuideDisplay; 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.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; 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.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; 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.ChatContextMemoryBar = ChatContextMemoryBar; 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.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; 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.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.useScriptedStream = useScriptedStream; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; 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.extractIncompleteMessageState = extractIncompleteMessageState; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; 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.flattenAssistantContent = flattenAssistantContent; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; 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.FloatingTooltip = FloatingTooltip; 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.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; 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.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; 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.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; 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.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.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; 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.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; 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.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; 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.MingoAiButton = MingoAiButton; 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;
57180
- //# sourceMappingURL=chunk-4MLOMMDX.cjs.map
57243
+
57244
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; 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.SearchableSelect = SearchableSelect; 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.ScrollShadow = ScrollShadow; 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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; 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.GuideDisplay = GuideDisplay; 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.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; 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.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; 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.ChatContextMemoryBar = ChatContextMemoryBar; 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.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; 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.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.useScriptedStream = useScriptedStream; 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.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; 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.extractIncompleteMessageState = extractIncompleteMessageState; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; 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.flattenAssistantContent = flattenAssistantContent; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; 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.FloatingTooltip = FloatingTooltip; 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.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_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.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; 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.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; 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.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; 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.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; 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.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.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; 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.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; 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.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.TopNavigation = TopNavigation; 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;
57245
+ //# sourceMappingURL=chunk-UCZHGV4E.cjs.map