@flamingo-stack/openframe-frontend-core 0.0.303-snapshot.20260622160827 → 0.0.303

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 (116) hide show
  1. package/dist/{chunk-RNF2E736.cjs → chunk-3GYV6RP7.cjs} +10 -11
  2. package/dist/chunk-3GYV6RP7.cjs.map +1 -0
  3. package/dist/{chunk-BMNGBMSN.cjs → chunk-4JK3ZFMD.cjs} +26 -26
  4. package/dist/{chunk-BMNGBMSN.cjs.map → chunk-4JK3ZFMD.cjs.map} +1 -1
  5. package/dist/{chunk-A25ZI7HO.cjs → chunk-6D53QFBF.cjs} +12 -12
  6. package/dist/{chunk-A25ZI7HO.cjs.map → chunk-6D53QFBF.cjs.map} +1 -1
  7. package/dist/{chunk-INZOAK77.js → chunk-FG4XA6NA.js} +2 -2
  8. package/dist/{chunk-X5N6ANEO.js → chunk-JEHWEKWA.js} +3 -4
  9. package/dist/{chunk-X5N6ANEO.js.map → chunk-JEHWEKWA.js.map} +1 -1
  10. package/dist/{chunk-7KTSRZI4.cjs → chunk-KZGSVTRP.cjs} +543 -475
  11. package/dist/chunk-KZGSVTRP.cjs.map +1 -0
  12. package/dist/{chunk-UAJAJFI6.cjs → chunk-LTDGGKOW.cjs} +50 -44
  13. package/dist/chunk-LTDGGKOW.cjs.map +1 -0
  14. package/dist/{chunk-YV73VRRY.js → chunk-OFLTDHC2.js} +2 -2
  15. package/dist/{chunk-JO6EUJGU.js → chunk-OZSU6S6U.js} +27 -21
  16. package/dist/chunk-OZSU6S6U.js.map +1 -0
  17. package/dist/{chunk-2X4HTRQ4.js → chunk-R2NVJUOB.js} +22 -10
  18. package/dist/chunk-R2NVJUOB.js.map +1 -0
  19. package/dist/{chunk-Y2D2RJQX.js → chunk-SLRDPGGS.js} +2762 -2694
  20. package/dist/chunk-SLRDPGGS.js.map +1 -0
  21. package/dist/{chunk-O4TIFKDG.cjs → chunk-SYTHAQRP.cjs} +7 -7
  22. package/dist/{chunk-O4TIFKDG.cjs.map → chunk-SYTHAQRP.cjs.map} +1 -1
  23. package/dist/{chunk-45DC5AJC.js → chunk-UMYWG5C3.js} +2 -2
  24. package/dist/{chunk-MZRNARMO.cjs → chunk-UNWVMS3E.cjs} +37 -37
  25. package/dist/{chunk-MZRNARMO.cjs.map → chunk-UNWVMS3E.cjs.map} +1 -1
  26. package/dist/{chunk-DOYOOBP4.js → chunk-VAH46QQO.js} +2 -2
  27. package/dist/{chunk-FVLEE7YZ.cjs → chunk-YKP7UXWT.cjs} +35 -23
  28. package/dist/chunk-YKP7UXWT.cjs.map +1 -0
  29. package/dist/{chunk-Z7322A4A.cjs → chunk-ZCXABON3.cjs} +5 -5
  30. package/dist/{chunk-Z7322A4A.cjs.map → chunk-ZCXABON3.cjs.map} +1 -1
  31. package/dist/{chunk-ZXIM2DJM.js → chunk-ZRSS67EY.js} +2 -2
  32. package/dist/components/case-studies/index.cjs +8 -8
  33. package/dist/components/case-studies/index.js +2 -2
  34. package/dist/components/chat/hooks/use-chat-identity.d.ts +1 -7
  35. package/dist/components/chat/hooks/use-chat-identity.d.ts.map +1 -1
  36. package/dist/components/chat/hooks/use-empty-state-config.d.ts.map +1 -1
  37. package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
  38. package/dist/components/chat/index.cjs +2 -2
  39. package/dist/components/chat/index.js +1 -1
  40. package/dist/components/contact/index.cjs +3 -3
  41. package/dist/components/contact/index.js +2 -2
  42. package/dist/components/docs/doc-viewer.d.ts +4 -3
  43. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/docs/use-docs-resolve-link.d.ts.map +1 -1
  47. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  48. package/dist/components/embeds/index.cjs +3 -3
  49. package/dist/components/embeds/index.js +2 -2
  50. package/dist/components/faq/index.cjs +3 -3
  51. package/dist/components/faq/index.js +2 -2
  52. package/dist/components/features/index.cjs +2 -2
  53. package/dist/components/features/index.js +1 -1
  54. package/dist/components/index.cjs +178 -172
  55. package/dist/components/index.cjs.map +1 -1
  56. package/dist/components/index.js +14 -8
  57. package/dist/components/index.js.map +1 -1
  58. package/dist/components/layout/page-header.d.ts +78 -0
  59. package/dist/components/layout/page-header.d.ts.map +1 -0
  60. package/dist/components/layout/page-layout.d.ts +10 -1
  61. package/dist/components/layout/page-layout.d.ts.map +1 -1
  62. package/dist/components/layout/page-with-header.d.ts +67 -0
  63. package/dist/components/layout/page-with-header.d.ts.map +1 -0
  64. package/dist/components/layout/title-block.d.ts +17 -1
  65. package/dist/components/layout/title-block.d.ts.map +1 -1
  66. package/dist/components/navigation/index.cjs +2 -2
  67. package/dist/components/navigation/index.js +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +23 -23
  69. package/dist/components/onboarding-guides/index.js +3 -3
  70. package/dist/components/related-content/index.cjs +3 -3
  71. package/dist/components/related-content/index.js +2 -2
  72. package/dist/components/shared/dev-section/dev-section-page.d.ts +9 -0
  73. package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -1
  74. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -1
  75. package/dist/components/shared/dev-section/index.d.ts +1 -1
  76. package/dist/components/shared/dev-section/index.d.ts.map +1 -1
  77. package/dist/components/shared/doc-search/use-doc-search.d.ts.map +1 -1
  78. package/dist/components/tickets/index.cjs +60 -60
  79. package/dist/components/tickets/index.js +3 -3
  80. package/dist/components/ui/index.cjs +6 -2
  81. package/dist/components/ui/index.cjs.map +1 -1
  82. package/dist/components/ui/index.d.ts +1 -0
  83. package/dist/components/ui/index.d.ts.map +1 -1
  84. package/dist/components/ui/index.js +5 -1
  85. package/dist/index.cjs +6 -2
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.js +5 -1
  88. package/package.json +1 -1
  89. package/src/components/chat/embeddable-chat.tsx +3 -25
  90. package/src/components/chat/hooks/use-chat-identity.ts +2 -13
  91. package/src/components/chat/hooks/use-empty-state-config.ts +16 -30
  92. package/src/components/chat/hooks/use-slash-commands.ts +8 -24
  93. package/src/components/docs/doc-viewer.tsx +22 -25
  94. package/src/components/docs/use-docs-resolve-link.ts +1 -2
  95. package/src/components/docs/use-document-tree.ts +2 -3
  96. package/src/components/layout/page-header.tsx +182 -0
  97. package/src/components/layout/page-layout.tsx +14 -28
  98. package/src/components/layout/page-with-header.tsx +110 -0
  99. package/src/components/layout/title-block.tsx +40 -86
  100. package/src/components/shared/dev-section/dev-section-page.tsx +9 -1
  101. package/src/components/shared/dev-section/dev-section-view.tsx +14 -9
  102. package/src/components/shared/dev-section/index.ts +1 -1
  103. package/src/components/shared/doc-search/use-doc-search.ts +1 -2
  104. package/src/components/ui/index.ts +1 -0
  105. package/dist/chunk-2X4HTRQ4.js.map +0 -1
  106. package/dist/chunk-7KTSRZI4.cjs.map +0 -1
  107. package/dist/chunk-FVLEE7YZ.cjs.map +0 -1
  108. package/dist/chunk-JO6EUJGU.js.map +0 -1
  109. package/dist/chunk-RNF2E736.cjs.map +0 -1
  110. package/dist/chunk-UAJAJFI6.cjs.map +0 -1
  111. package/dist/chunk-Y2D2RJQX.js.map +0 -1
  112. /package/dist/{chunk-INZOAK77.js.map → chunk-FG4XA6NA.js.map} +0 -0
  113. /package/dist/{chunk-YV73VRRY.js.map → chunk-OFLTDHC2.js.map} +0 -0
  114. /package/dist/{chunk-45DC5AJC.js.map → chunk-UMYWG5C3.js.map} +0 -0
  115. /package/dist/{chunk-DOYOOBP4.js.map → chunk-VAH46QQO.js.map} +0 -0
  116. /package/dist/{chunk-ZXIM2DJM.js.map → chunk-ZRSS67EY.js.map} +0 -0
@@ -18839,10 +18839,7 @@ function ListPageLayout({
18839
18839
  );
18840
18840
  }
18841
18841
 
18842
- // src/components/layout/page-layout.tsx
18843
- _chunkFIG2RKZFcjs.init_cn.call(void 0, );
18844
-
18845
- // src/components/layout/title-block.tsx
18842
+ // src/components/layout/page-header.tsx
18846
18843
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
18847
18844
 
18848
18845
  // src/components/ui/entity-image.tsx
@@ -18883,36 +18880,37 @@ function EntityImage({ src, alt, fallbackText, className }) {
18883
18880
  );
18884
18881
  }
18885
18882
 
18886
- // src/components/layout/title-block.tsx
18883
+ // src/components/layout/page-header.tsx
18887
18884
 
18888
- function TitleBlock({
18885
+ var TITLE_CLASS = "text-h1 tracking-[-1.12px] text-ods-text-primary flex items-center gap-3";
18886
+ var SUBTITLE_CLASS = "font-['DM_Sans'] font-medium text-[18px] leading-[28px] text-ods-text-secondary max-w-3xl line-clamp-2 min-h-[56px]";
18887
+ function PageHeader({
18889
18888
  title,
18889
+ titleIcon,
18890
18890
  subtitle,
18891
+ accentDot,
18891
18892
  image,
18892
18893
  backButton,
18893
18894
  actions,
18894
- actionsVariant = "icon-buttons",
18895
- menuActions,
18896
- selector,
18897
18895
  variant = "plain",
18896
+ noBottomMargin = false,
18897
+ noTopPadding = false,
18898
18898
  className
18899
18899
  }) {
18900
- const hasActions = actions && actions.length > 0;
18901
- const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18902
18900
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18903
18901
  "div",
18904
18902
  {
18905
18903
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
18906
18904
  "flex items-end justify-between gap-[var(--spacing-system-m)]",
18907
18905
  "md:flex-col md:items-start md:justify-start lg:flex-row lg:items-end lg:justify-between",
18908
- "pt-[var(--spacing-system-l)]",
18906
+ !noTopPadding && "pt-[var(--spacing-system-l)]",
18909
18907
  variant === "card" ? _chunkFIG2RKZFcjs.cn.call(void 0,
18910
18908
  "bg-ods-card border-b border-ods-border",
18911
18909
  "px-[var(--spacing-system-l)] pb-[var(--spacing-system-l)]",
18912
18910
  "md:bg-transparent md:border-b-0",
18913
18911
  "md:px-0 md:pb-0",
18914
- "md:mb-[var(--spacing-system-l)]"
18915
- ) : "mb-[var(--spacing-system-l)]",
18912
+ !noBottomMargin && "md:mb-[var(--spacing-system-l)]"
18913
+ ) : !noBottomMargin && "mb-[var(--spacing-system-l)]",
18916
18914
  className
18917
18915
  ),
18918
18916
  children: [
@@ -18925,41 +18923,149 @@ function TitleBlock({
18925
18923
  className: "hidden md:inline-flex"
18926
18924
  }
18927
18925
  ),
18928
- image || subtitle ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-m)] min-w-0 w-full", children: [
18929
- image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18930
- EntityImage,
18931
- {
18932
- src: image.src,
18933
- alt: image.alt,
18934
- fallbackText: image.alt || title
18935
- }
18936
- ),
18937
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col justify-center min-w-0 flex-1", children: [
18938
- title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "text-h2 text-ods-text-primary truncate", title, children: title }),
18939
- subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 text-ods-text-secondary truncate", title: subtitle, children: subtitle })
18940
- ] })
18941
- ] }) : title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { className: "text-h2 text-ods-text-primary", children: title })
18926
+ (title || subtitle || image || titleIcon) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
18927
+ (title || image || titleIcon) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h1", { className: TITLE_CLASS, children: [
18928
+ image && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18929
+ EntityImage,
18930
+ {
18931
+ src: image.src,
18932
+ alt: image.alt,
18933
+ fallbackText: image.alt || title
18934
+ }
18935
+ ),
18936
+ titleIcon,
18937
+ title && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
18938
+ title,
18939
+ accentDot && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "." })
18940
+ ] })
18941
+ ] }),
18942
+ (title || titleIcon || image) && // Always render the subtitle <p> when the title block exists,
18943
+ // even when `subtitle` is empty — `SUBTITLE_CLASS` reserves
18944
+ // `min-h-[56px]` so headers WITH and WITHOUT subtitles share a
18945
+ // baseline (the JSDoc on SUBTITLE_CLASS claims "ALWAYS occupies
18946
+ // exactly 2 lines"; gating the <p> on truthy `subtitle` broke
18947
+ // that contract — pages without subtitle were ~56px shorter).
18948
+ // Falsy subtitles render an NBSP placeholder so the empty <p>
18949
+ // still takes its reserved height.
18950
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: SUBTITLE_CLASS, children: subtitle || "\xA0" })
18951
+ ] })
18942
18952
  ] }),
18943
- (hasActions || hasMenuActions || selector) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18944
- PageActions,
18945
- {
18946
- variant: actionsVariant,
18947
- actions: _nullishCoalesce(actions, () => ( [])),
18948
- menuActions,
18949
- selector
18950
- }
18951
- ) })
18953
+ actions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex gap-2 items-center shrink-0", children: actions })
18952
18954
  ]
18953
18955
  }
18954
18956
  );
18955
18957
  }
18956
18958
 
18959
+ // src/components/layout/page-layout.tsx
18960
+ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
18961
+
18962
+ // src/components/layout/title-block.tsx
18963
+
18964
+ function TitleBlock({
18965
+ title,
18966
+ subtitle,
18967
+ titleIcon,
18968
+ accentDot,
18969
+ image,
18970
+ backButton,
18971
+ actions,
18972
+ actionsVariant = "icon-buttons",
18973
+ menuActions,
18974
+ selector,
18975
+ variant = "plain",
18976
+ className
18977
+ }) {
18978
+ const hasActions = actions && actions.length > 0;
18979
+ const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18980
+ const hasActionsSlot = hasActions || hasMenuActions || !!selector;
18981
+ const actionsNode = hasActionsSlot ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18982
+ PageActions,
18983
+ {
18984
+ variant: actionsVariant,
18985
+ actions: _nullishCoalesce(actions, () => ( [])),
18986
+ menuActions,
18987
+ selector
18988
+ }
18989
+ ) : void 0;
18990
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18991
+ PageHeader,
18992
+ {
18993
+ title,
18994
+ titleIcon,
18995
+ subtitle,
18996
+ accentDot,
18997
+ image,
18998
+ backButton,
18999
+ actions: actionsNode,
19000
+ variant,
19001
+ className
19002
+ }
19003
+ );
19004
+ }
19005
+
19006
+ // src/components/layout/page-with-header.tsx
19007
+ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
19008
+
19009
+ // src/components/layout/article-detail-layout.tsx
19010
+ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
19011
+
19012
+ function PageShell({ children, schemas, contentClassName }) {
19013
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "main", { className: "bg-ods-bg", children: [
19014
+ schemas,
19015
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "page-shell-content max-w-[1920px] mx-auto", contentClassName), children })
19016
+ ] });
19017
+ }
19018
+ function ArticleDetailLayout({ children, schemas, contentClassName }) {
19019
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "main", { className: "bg-ods-bg", children: [
19020
+ schemas,
19021
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "max-w-[1280px] mx-auto px-6 md:px-20 py-6 md:py-10", contentClassName), children })
19022
+ ] });
19023
+ }
19024
+
19025
+ // src/components/layout/page-with-header.tsx
19026
+
19027
+ function PageWithHeader({
19028
+ title,
19029
+ titleIcon,
19030
+ subtitle,
19031
+ accentDot = true,
19032
+ backButton,
19033
+ image,
19034
+ actions,
19035
+ children,
19036
+ contentClassName
19037
+ }) {
19038
+ const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
19039
+ const backCfg = backButton === false ? void 0 : {
19040
+ label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _338 => _338.label]), () => ( "Back to home")),
19041
+ onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _339 => _339.href]), () => ( "/")))
19042
+ };
19043
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageShell, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PageLayout, { backButton: backCfg, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `w-full flex flex-col gap-10${contentClassName ? ` ${contentClassName}` : ""}`, children: [
19044
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
19045
+ PageHeader,
19046
+ {
19047
+ title,
19048
+ titleIcon,
19049
+ subtitle,
19050
+ accentDot,
19051
+ image,
19052
+ actions,
19053
+ noTopPadding: true,
19054
+ noBottomMargin: true
19055
+ }
19056
+ ),
19057
+ children
19058
+ ] }) }) });
19059
+ }
19060
+
18957
19061
  // src/components/layout/page-layout.tsx
18958
19062
 
18959
19063
  function PageLayout({
18960
19064
  children,
18961
19065
  title,
18962
19066
  subtitle,
19067
+ titleIcon,
19068
+ accentDot,
18963
19069
  image,
18964
19070
  backButton,
18965
19071
  actions,
@@ -18973,13 +19079,15 @@ function PageLayout({
18973
19079
  }) {
18974
19080
  const hasActions = actions && actions.length > 0;
18975
19081
  const needsBottomPadding = hasActions && actionsVariant === "primary-buttons";
18976
- const hasHeader = showHeader && (title || subtitle || image || backButton || hasActions || selector);
19082
+ const hasHeader = showHeader && (title || subtitle || titleIcon || image || backButton || hasActions || selector);
18977
19083
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col w-full", className), children: [
18978
19084
  hasHeader && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18979
19085
  TitleBlock,
18980
19086
  {
18981
19087
  title,
19088
+ titleIcon,
18982
19089
  subtitle,
19090
+ accentDot,
18983
19091
  image,
18984
19092
  backButton,
18985
19093
  actions,
@@ -18993,22 +19101,6 @@ function PageLayout({
18993
19101
  ] });
18994
19102
  }
18995
19103
 
18996
- // src/components/layout/article-detail-layout.tsx
18997
- _chunkFIG2RKZFcjs.init_cn.call(void 0, );
18998
-
18999
- function PageShell({ children, schemas, contentClassName }) {
19000
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "main", { className: "bg-ods-bg", children: [
19001
- schemas,
19002
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "page-shell-content max-w-[1920px] mx-auto", contentClassName), children })
19003
- ] });
19004
- }
19005
- function ArticleDetailLayout({ children, schemas, contentClassName }) {
19006
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "main", { className: "bg-ods-bg", children: [
19007
- schemas,
19008
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "max-w-[1280px] mx-auto px-6 md:px-20 py-6 md:py-10", contentClassName), children })
19009
- ] });
19010
- }
19011
-
19012
19104
  // src/components/toggle-group.tsx
19013
19105
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
19014
19106
 
@@ -19592,7 +19684,7 @@ function getShellIcon(shellType) {
19592
19684
  if (!shellType) return void 0;
19593
19685
  const normalized = shellType.toUpperCase();
19594
19686
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
19595
- return _optionalChain([shellDef, 'optionalAccess', _338 => _338.icon]);
19687
+ return _optionalChain([shellDef, 'optionalAccess', _340 => _340.icon]);
19596
19688
  }
19597
19689
 
19598
19690
  // src/types/os.types.ts
@@ -19665,7 +19757,7 @@ function getOSIcon(osType) {
19665
19757
  const normalized = normalizeOSType(osType);
19666
19758
  if (!normalized) return void 0;
19667
19759
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
19668
- return _optionalChain([osTypeDef, 'optionalAccess', _339 => _339.icon]);
19760
+ return _optionalChain([osTypeDef, 'optionalAccess', _341 => _341.icon]);
19669
19761
  }
19670
19762
  function getOSTypeDefinition(osType) {
19671
19763
  if (!osType) return void 0;
@@ -19675,7 +19767,7 @@ function getOSTypeDefinition(osType) {
19675
19767
  }
19676
19768
  function getOSPlatformId(osType) {
19677
19769
  const osTypeDef = getOSTypeDefinition(osType);
19678
- return _optionalChain([osTypeDef, 'optionalAccess', _340 => _340.platformId]);
19770
+ return _optionalChain([osTypeDef, 'optionalAccess', _342 => _342.platformId]);
19679
19771
  }
19680
19772
  function isOSPlatform(deviceOS, targetPlatform) {
19681
19773
  if (!deviceOS || !targetPlatform) return false;
@@ -19768,10 +19860,10 @@ var GENERIC_EMAIL_DOMAINS = [
19768
19860
  ];
19769
19861
  function extractDomainFromEmail(email) {
19770
19862
  if (!email || !email.includes("@")) return null;
19771
- return _optionalChain([email, 'access', _341 => _341.split, 'call', _342 => _342("@"), 'access', _343 => _343[1], 'optionalAccess', _344 => _344.toLowerCase, 'call', _345 => _345()]) || null;
19863
+ return _optionalChain([email, 'access', _343 => _343.split, 'call', _344 => _344("@"), 'access', _345 => _345[1], 'optionalAccess', _346 => _346.toLowerCase, 'call', _347 => _347()]) || null;
19772
19864
  }
19773
19865
  function normalizeDomain(domain) {
19774
- return _optionalChain([domain, 'optionalAccess', _346 => _346.toLowerCase, 'call', _347 => _347(), 'access', _348 => _348.replace, 'call', _349 => _349(/^https?:\/\//, ""), 'access', _350 => _350.replace, 'call', _351 => _351(/^www\./, ""), 'access', _352 => _352.split, 'call', _353 => _353("/"), 'access', _354 => _354[0], 'access', _355 => _355.trim, 'call', _356 => _356()]) || "";
19866
+ return _optionalChain([domain, 'optionalAccess', _348 => _348.toLowerCase, 'call', _349 => _349(), 'access', _350 => _350.replace, 'call', _351 => _351(/^https?:\/\//, ""), 'access', _352 => _352.replace, 'call', _353 => _353(/^www\./, ""), 'access', _354 => _354.split, 'call', _355 => _355("/"), 'access', _356 => _356[0], 'access', _357 => _357.trim, 'call', _358 => _358()]) || "";
19775
19867
  }
19776
19868
  function isGenericDomain(domain) {
19777
19869
  const normalized = normalizeDomain(domain);
@@ -20198,7 +20290,7 @@ function defaultTableIdForDocumentType(documentType) {
20198
20290
 
20199
20291
  // src/utils/sse-decision-frame.ts
20200
20292
  async function readLeadingDecisionFrame(response) {
20201
- const reader = _optionalChain([response, 'access', _357 => _357.body, 'optionalAccess', _358 => _358.getReader, 'call', _359 => _359()]);
20293
+ const reader = _optionalChain([response, 'access', _359 => _359.body, 'optionalAccess', _360 => _360.getReader, 'call', _361 => _361()]);
20202
20294
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
20203
20295
  const decoder = new TextDecoder();
20204
20296
  let buffer = "";
@@ -20227,9 +20319,9 @@ async function readLeadingDecisionFrame(response) {
20227
20319
  );
20228
20320
  }
20229
20321
  const obj = parsed;
20230
- if (_optionalChain([obj, 'optionalAccess', _360 => _360.kind]) !== "decision_resolved") {
20322
+ if (_optionalChain([obj, 'optionalAccess', _362 => _362.kind]) !== "decision_resolved") {
20231
20323
  throw new Error(
20232
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _361 => _361.kind]))}`
20324
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _363 => _363.kind]))}`
20233
20325
  );
20234
20326
  }
20235
20327
  frame = normalizeDecisionFrame(obj);
@@ -20270,7 +20362,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20270
20362
  function buildAutoContinuationDirective(toolName, opts = {}) {
20271
20363
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20272
20364
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20273
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _362 => _362.status, 'optionalAccess', _363 => _363.toUpperCase, 'call', _364 => _364()]) === "CLOSED";
20365
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _364 => _364.status, 'optionalAccess', _365 => _365.toUpperCase, 'call', _366 => _366()]) === "CLOSED";
20274
20366
  if (toolName === "create_ticket") {
20275
20367
  return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
20276
20368
  }
@@ -20332,7 +20424,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20332
20424
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20333
20425
  }
20334
20426
  function extractEntityIdFilter(override, expectedTableId) {
20335
- const f = _optionalChain([override, 'optionalAccess', _365 => _365.entityIdFilter]);
20427
+ const f = _optionalChain([override, 'optionalAccess', _367 => _367.entityIdFilter]);
20336
20428
  if (!f) return null;
20337
20429
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20338
20430
  const id = typeof f.id === "string" ? f.id : "";
@@ -20407,7 +20499,7 @@ function getTaskTypeLabel(customItemId) {
20407
20499
 
20408
20500
  // src/components/chat/utils/agent-status-message.ts
20409
20501
  function getStatusColorScheme(status) {
20410
- const s = _optionalChain([status, 'optionalAccess', _366 => _366.toLowerCase, 'call', _367 => _367()]) || "";
20502
+ const s = _optionalChain([status, 'optionalAccess', _368 => _368.toLowerCase, 'call', _369 => _369()]) || "";
20411
20503
  switch (status) {
20412
20504
  case "completed":
20413
20505
  case "success":
@@ -20689,10 +20781,10 @@ var CONTENT_REF_GROUPS = {
20689
20781
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
20690
20782
  };
20691
20783
  function getContentRefLabel(type) {
20692
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _368 => _368[type], 'optionalAccess', _369 => _369.label]), () => ( null));
20784
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _370 => _370[type], 'optionalAccess', _371 => _371.label]), () => ( null));
20693
20785
  }
20694
20786
  function getContentRefLabelOrTitleCase(type) {
20695
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _370 => _370[type], 'optionalAccess', _371 => _371.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
20787
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _372 => _372[type], 'optionalAccess', _373 => _373.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
20696
20788
  }
20697
20789
  function orderContentRefTypes(present) {
20698
20790
  const presentSet = new Set(present);
@@ -20851,7 +20943,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
20851
20943
  const firstFolderWithReadme = structure.find(
20852
20944
  (node) => node.type === "folder" && node.hasReadme && !!node.path
20853
20945
  );
20854
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _372 => _372.path]), () => ( null));
20946
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _374 => _374.path]), () => ( null));
20855
20947
  }
20856
20948
 
20857
20949
  // src/utils/doc-path-utils.ts
@@ -20862,7 +20954,7 @@ function pathToNodeId(path) {
20862
20954
  return path.replace(/[\/\s]/g, "-").toLowerCase();
20863
20955
  }
20864
20956
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
20865
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _373 => _373.join, 'call', _374 => _374("/")]) || "").toLowerCase();
20957
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _375 => _375.join, 'call', _376 => _376("/")]) || "").toLowerCase();
20866
20958
  const lowerIndex = folderIndexFile.toLowerCase();
20867
20959
  const suffix = `/${lowerIndex}`;
20868
20960
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -21682,26 +21774,26 @@ function DeviceCard({
21682
21774
  ] }),
21683
21775
  device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
21684
21776
  ] }),
21685
- _optionalChain([actions, 'access', _375 => _375.moreButton, 'optionalAccess', _376 => _376.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21777
+ _optionalChain([actions, 'access', _377 => _377.moreButton, 'optionalAccess', _378 => _378.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21686
21778
  "div",
21687
21779
  {
21688
21780
  className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
21689
21781
  onClick: (e) => {
21690
21782
  e.stopPropagation();
21691
- _optionalChain([actions, 'access', _377 => _377.moreButton, 'optionalAccess', _378 => _378.onClick, 'optionalCall', _379 => _379()]);
21783
+ _optionalChain([actions, 'access', _379 => _379.moreButton, 'optionalAccess', _380 => _380.onClick, 'optionalCall', _381 => _381()]);
21692
21784
  },
21693
21785
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
21694
21786
  }
21695
21787
  ),
21696
- _optionalChain([actions, 'access', _380 => _380.detailsButton, 'optionalAccess', _381 => _381.visible]) !== false && _optionalChain([actions, 'access', _382 => _382.detailsButton, 'optionalAccess', _383 => _383.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
21697
- _optionalChain([actions, 'access', _384 => _384.customActions, 'optionalAccess', _385 => _385.map, 'call', _386 => _386(
21788
+ _optionalChain([actions, 'access', _382 => _382.detailsButton, 'optionalAccess', _383 => _383.visible]) !== false && _optionalChain([actions, 'access', _384 => _384.detailsButton, 'optionalAccess', _385 => _385.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
21789
+ _optionalChain([actions, 'access', _386 => _386.customActions, 'optionalAccess', _387 => _387.map, 'call', _388 => _388(
21698
21790
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21699
21791
  "div",
21700
21792
  {
21701
21793
  className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
21702
21794
  onClick: (e) => {
21703
21795
  e.stopPropagation();
21704
- _optionalChain([action, 'access', _387 => _387.onClick, 'optionalCall', _388 => _388()]);
21796
+ _optionalChain([action, 'access', _389 => _389.onClick, 'optionalCall', _390 => _390()]);
21705
21797
  },
21706
21798
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
21707
21799
  },
@@ -22201,7 +22293,7 @@ function MoreActionsMenu({
22201
22293
  ] });
22202
22294
  const handleActivate = (e) => {
22203
22295
  e.stopPropagation();
22204
- if (!item.disabled) _optionalChain([item, 'access', _389 => _389.onClick, 'optionalCall', _390 => _390()]);
22296
+ if (!item.disabled) _optionalChain([item, 'access', _391 => _391.onClick, 'optionalCall', _392 => _392()]);
22205
22297
  };
22206
22298
  if (item.href) {
22207
22299
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22268,7 +22360,7 @@ function OrganizationCard({
22268
22360
  const handleActionClick = (e) => {
22269
22361
  e.preventDefault();
22270
22362
  e.stopPropagation();
22271
- _optionalChain([actionButton, 'optionalAccess', _391 => _391.onClick, 'call', _392 => _392(organization, e)]);
22363
+ _optionalChain([actionButton, 'optionalAccess', _393 => _393.onClick, 'call', _394 => _394(organization, e)]);
22272
22364
  };
22273
22365
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22274
22366
  "div",
@@ -23174,10 +23266,10 @@ var getContentDimensions = (config) => {
23174
23266
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
23175
23267
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
23176
23268
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
23177
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _393 => _393.mobileContentDimensions, 'optionalAccess', _394 => _394.width]))), () => ( defaultMobile.width));
23178
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _395 => _395.mobileContentDimensions, 'optionalAccess', _396 => _396.height]))), () => ( defaultMobile.height));
23179
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _397 => _397.desktopContentDimensions, 'optionalAccess', _398 => _398.width]))), () => ( defaultDesktop.width));
23180
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _399 => _399.desktopContentDimensions, 'optionalAccess', _400 => _400.height]))), () => ( defaultDesktop.height));
23269
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _395 => _395.mobileContentDimensions, 'optionalAccess', _396 => _396.width]))), () => ( defaultMobile.width));
23270
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _397 => _397.mobileContentDimensions, 'optionalAccess', _398 => _398.height]))), () => ( defaultMobile.height));
23271
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _399 => _399.desktopContentDimensions, 'optionalAccess', _400 => _400.width]))), () => ( defaultDesktop.width));
23272
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _401 => _401.desktopContentDimensions, 'optionalAccess', _402 => _402.height]))), () => ( defaultDesktop.height));
23181
23273
  return {
23182
23274
  mobile: { width: mobileWidth, height: mobileHeight },
23183
23275
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -23311,7 +23403,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
23311
23403
  const contentDimensions = getContentDimensions(config);
23312
23404
  const mobileHeight = contentDimensions.mobile.height;
23313
23405
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
23314
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _401 => _401.innerHeight]) * 0.85 || 650)}px`;
23406
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _403 => _403.innerHeight]) * 0.85 || 650)}px`;
23315
23407
  })(),
23316
23408
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
23317
23409
  const contentDimensions = getContentDimensions(config);
@@ -23416,7 +23508,7 @@ var FigmaPrototypeViewer = ({
23416
23508
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
23417
23509
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
23418
23510
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
23419
- config.defaultSectionId || _optionalChain([config, 'access', _402 => _402.sections, 'access', _403 => _403[0], 'optionalAccess', _404 => _404.id]) || ""
23511
+ config.defaultSectionId || _optionalChain([config, 'access', _404 => _404.sections, 'access', _405 => _405[0], 'optionalAccess', _406 => _406.id]) || ""
23420
23512
  );
23421
23513
  const activeSection = externalActiveSection || internalActiveSection;
23422
23514
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -23506,7 +23598,7 @@ var FigmaPrototypeViewer = ({
23506
23598
  const handleMessage = (event) => {
23507
23599
  if (event.origin !== "https://www.figma.com") return;
23508
23600
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
23509
- if (_optionalChain([event, 'access', _405 => _405.data, 'optionalAccess', _406 => _406.type]) && validEvents.includes(event.data.type)) {
23601
+ if (_optionalChain([event, 'access', _407 => _407.data, 'optionalAccess', _408 => _408.type]) && validEvents.includes(event.data.type)) {
23510
23602
  const figmaEvent = event.data;
23511
23603
  console.log("[Figma Event]", figmaEvent.type, viewMode);
23512
23604
  switch (figmaEvent.type) {
@@ -23516,19 +23608,19 @@ var FigmaPrototypeViewer = ({
23516
23608
  setIframeState("READY");
23517
23609
  break;
23518
23610
  case "PRESENTED_NODE_CHANGED":
23519
- if (_optionalChain([figmaEvent, 'access', _407 => _407.data, 'optionalAccess', _408 => _408.presentedNodeId])) {
23611
+ if (_optionalChain([figmaEvent, 'access', _409 => _409.data, 'optionalAccess', _410 => _410.presentedNodeId])) {
23520
23612
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
23521
23613
  if (!isNavigating) {
23522
23614
  const matchingSection = config.sections.find((s) => {
23523
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _409 => _409.data, 'optionalAccess', _410 => _410.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _411 => _411.data, 'optionalAccess', _412 => _412.presentedNodeId]);
23524
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _413 => _413.data, 'optionalAccess', _414 => _414.presentedNodeId]) || _optionalChain([s, 'access', _415 => _415.mobileStartingNodeId, 'optionalAccess', _416 => _416.replace, 'call', _417 => _417(":", "-")]) === _optionalChain([figmaEvent, 'access', _418 => _418.data, 'optionalAccess', _419 => _419.presentedNodeId]);
23615
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _411 => _411.data, 'optionalAccess', _412 => _412.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _413 => _413.data, 'optionalAccess', _414 => _414.presentedNodeId]);
23616
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _415 => _415.data, 'optionalAccess', _416 => _416.presentedNodeId]) || _optionalChain([s, 'access', _417 => _417.mobileStartingNodeId, 'optionalAccess', _418 => _418.replace, 'call', _419 => _419(":", "-")]) === _optionalChain([figmaEvent, 'access', _420 => _420.data, 'optionalAccess', _421 => _421.presentedNodeId]);
23525
23617
  return desktopMatch || mobileMatch;
23526
23618
  });
23527
23619
  if (matchingSection && matchingSection.id !== activeSection) {
23528
23620
  if (!externalActiveSection) {
23529
23621
  setInternalActiveSection(matchingSection.id);
23530
23622
  }
23531
- _optionalChain([config, 'access', _420 => _420.onSectionChange, 'optionalCall', _421 => _421(matchingSection.id)]);
23623
+ _optionalChain([config, 'access', _422 => _422.onSectionChange, 'optionalCall', _423 => _423(matchingSection.id)]);
23532
23624
  }
23533
23625
  }
23534
23626
  }
@@ -23541,7 +23633,7 @@ var FigmaPrototypeViewer = ({
23541
23633
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
23542
23634
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
23543
23635
  const section = config.sections.find((s) => s.id === sectionId);
23544
- if (!section || !_optionalChain([iframeRef, 'access', _422 => _422.current, 'optionalAccess', _423 => _423.contentWindow]) || !isInitialized) {
23636
+ if (!section || !_optionalChain([iframeRef, 'access', _424 => _424.current, 'optionalAccess', _425 => _425.contentWindow]) || !isInitialized) {
23545
23637
  return;
23546
23638
  }
23547
23639
  setIsNavigating(true);
@@ -23549,7 +23641,7 @@ var FigmaPrototypeViewer = ({
23549
23641
  if (!externalActiveSection) {
23550
23642
  setInternalActiveSection(sectionId);
23551
23643
  }
23552
- _optionalChain([config, 'access', _424 => _424.onSectionChange, 'optionalCall', _425 => _425(sectionId)]);
23644
+ _optionalChain([config, 'access', _426 => _426.onSectionChange, 'optionalCall', _427 => _427(sectionId)]);
23553
23645
  const command = {
23554
23646
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
23555
23647
  data: { nodeId }
@@ -23869,7 +23961,7 @@ var FiltersDropdown = ({
23869
23961
  defaults[section.id] = section.defaultSelected || [];
23870
23962
  });
23871
23963
  setSelectedFilters(defaults);
23872
- _optionalChain([onReset, 'optionalCall', _426 => _426()]);
23964
+ _optionalChain([onReset, 'optionalCall', _428 => _428()]);
23873
23965
  setIsOpen(false);
23874
23966
  };
23875
23967
  const handleApply = () => {
@@ -24162,7 +24254,7 @@ function MediaGalleryManager({
24162
24254
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
24163
24255
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
24164
24256
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
24165
- const file = _optionalChain([event, 'access', _427 => _427.target, 'access', _428 => _428.files, 'optionalAccess', _429 => _429[0]]);
24257
+ const file = _optionalChain([event, 'access', _429 => _429.target, 'access', _430 => _430.files, 'optionalAccess', _431 => _431[0]]);
24166
24258
  if (!file) return;
24167
24259
  let mediaType;
24168
24260
  if (file.type.startsWith("image/")) {
@@ -24277,7 +24369,7 @@ function MediaGalleryManager({
24277
24369
  {
24278
24370
  type: "button",
24279
24371
  variant: "outline",
24280
- onClick: () => _optionalChain([fileInputRef, 'access', _430 => _430.current, 'optionalAccess', _431 => _431.click, 'call', _432 => _432()]),
24372
+ onClick: () => _optionalChain([fileInputRef, 'access', _432 => _432.current, 'optionalAccess', _433 => _433.click, 'call', _434 => _434()]),
24281
24373
  disabled: isUploading,
24282
24374
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
24283
24375
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -24926,7 +25018,7 @@ function ReleaseMediaManager({
24926
25018
  const fileInputRef = _react.useRef.call(void 0, null);
24927
25019
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
24928
25020
  const handleFileSelect = async (event) => {
24929
- const file = _optionalChain([event, 'access', _433 => _433.target, 'access', _434 => _434.files, 'optionalAccess', _435 => _435[0]]);
25021
+ const file = _optionalChain([event, 'access', _435 => _435.target, 'access', _436 => _436.files, 'optionalAccess', _437 => _437[0]]);
24930
25022
  if (!file) return;
24931
25023
  let mediaType;
24932
25024
  if (file.type.startsWith("image/")) {
@@ -25006,7 +25098,7 @@ function ReleaseMediaManager({
25006
25098
  {
25007
25099
  type: "button",
25008
25100
  variant: "outline",
25009
- onClick: () => _optionalChain([fileInputRef, 'access', _436 => _436.current, 'optionalAccess', _437 => _437.click, 'call', _438 => _438()]),
25101
+ onClick: () => _optionalChain([fileInputRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.click, 'call', _440 => _440()]),
25010
25102
  disabled: uploadingIndex !== null,
25011
25103
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
25012
25104
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25219,7 +25311,7 @@ function SEOEditorPreview({
25219
25311
  const displayImage = hasOgImage || hasFeaturedImage;
25220
25312
  const handleImageUpload = async (event) => {
25221
25313
  if (!onOgImageUpload) return;
25222
- const file = _optionalChain([event, 'access', _439 => _439.target, 'access', _440 => _440.files, 'optionalAccess', _441 => _441[0]]);
25314
+ const file = _optionalChain([event, 'access', _441 => _441.target, 'access', _442 => _442.files, 'optionalAccess', _443 => _443[0]]);
25223
25315
  if (!file) return;
25224
25316
  setIsUploading(true);
25225
25317
  try {
@@ -25350,7 +25442,7 @@ function SEOEditorPreview({
25350
25442
  type: "button",
25351
25443
  variant: "outline",
25352
25444
  size: "icon",
25353
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _442 => _442.click, 'call', _443 => _443()]),
25445
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _444 => _444.click, 'call', _445 => _445()]),
25354
25446
  disabled: disabled || isUploading,
25355
25447
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
25356
25448
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -25373,7 +25465,7 @@ function SEOEditorPreview({
25373
25465
  "div",
25374
25466
  {
25375
25467
  className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
25376
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _444 => _444.click, 'call', _445 => _445()]),
25468
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _446 => _446.click, 'call', _447 => _447()]),
25377
25469
  children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
25378
25470
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
25379
25471
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
@@ -25458,7 +25550,7 @@ function SocialLinksManager({
25458
25550
  className = ""
25459
25551
  }) {
25460
25552
  const addLink = () => {
25461
- const firstPlatform = _optionalChain([platforms, 'access', _446 => _446[0], 'optionalAccess', _447 => _447.name]) || "website";
25553
+ const firstPlatform = _optionalChain([platforms, 'access', _448 => _448[0], 'optionalAccess', _449 => _449.name]) || "website";
25462
25554
  onChange([...links, { platform: firstPlatform, url: "" }]);
25463
25555
  };
25464
25556
  const removeLink = (index) => {
@@ -25470,7 +25562,7 @@ function SocialLinksManager({
25470
25562
  onChange(updated);
25471
25563
  };
25472
25564
  const getIcon = (link, platform) => {
25473
- const iconKey = _optionalChain([platform, 'optionalAccess', _448 => _448.icon_name]) || link.platform;
25565
+ const iconKey = _optionalChain([platform, 'optionalAccess', _450 => _450.icon_name]) || link.platform;
25474
25566
  const IconComponent = iconMap[iconKey];
25475
25567
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
25476
25568
  };
@@ -25495,7 +25587,7 @@ function SocialLinksManager({
25495
25587
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25496
25588
  _chunkFQOTC3UUcjs.Input,
25497
25589
  {
25498
- placeholder: _optionalChain([platform, 'optionalAccess', _449 => _449.placeholder]) || "Profile URL",
25590
+ placeholder: _optionalChain([platform, 'optionalAccess', _451 => _451.placeholder]) || "Profile URL",
25499
25591
  value: link.url,
25500
25592
  onChange: (e) => updateLink(index, "url", e.target.value),
25501
25593
  onKeyDown: (e) => {
@@ -25850,7 +25942,7 @@ function useVideoOriginPreconnect({
25850
25942
  supabaseStorageOrigin
25851
25943
  } = {}) {
25852
25944
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
25853
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _450 => _450.endpoints, 'access', _451 => _451.supabaseStorageOrigin])));
25945
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _452 => _452.endpoints, 'access', _453 => _453.supabaseStorageOrigin])));
25854
25946
  try {
25855
25947
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
25856
25948
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -25869,13 +25961,13 @@ function useVideoWarmup({
25869
25961
  nearMargin = "1000px"
25870
25962
  } = {}) {
25871
25963
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
25872
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _452 => _452.endpoints, 'access', _453 => _453.supabaseStorageOrigin])));
25964
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _454 => _454.endpoints, 'access', _455 => _455.supabaseStorageOrigin])));
25873
25965
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
25874
25966
  const { ref, isNear } = _chunkG56GYN7Zcjs.useNearViewport.call(void 0, nearMargin);
25875
25967
  _react.useEffect.call(void 0, () => {
25876
25968
  if (!isNear || !videoUrl || !resolvedOrigin) return;
25877
25969
  const conn = navigator.connection;
25878
- if (_optionalChain([conn, 'optionalAccess', _454 => _454.saveData]) === true) return;
25970
+ if (_optionalChain([conn, 'optionalAccess', _456 => _456.saveData]) === true) return;
25879
25971
  let videoOrigin;
25880
25972
  try {
25881
25973
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -25945,7 +26037,7 @@ function VideoSourceSelector({
25945
26037
  input.accept = "video/*";
25946
26038
  input.onchange = async (e) => {
25947
26039
  const target = e.target;
25948
- const file = _optionalChain([target, 'access', _455 => _455.files, 'optionalAccess', _456 => _456[0]]);
26040
+ const file = _optionalChain([target, 'access', _457 => _457.files, 'optionalAccess', _458 => _458[0]]);
25949
26041
  if (!file) return;
25950
26042
  setIsUploading(true);
25951
26043
  setUploadProgress(0);
@@ -26306,7 +26398,7 @@ function TranscriptSummaryEditor({
26306
26398
  {
26307
26399
  id: "subtitles",
26308
26400
  value: subtitles || "",
26309
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _457 => _457(e.target.value)]),
26401
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _459 => _459(e.target.value)]),
26310
26402
  placeholder: subtitlesPlaceholder,
26311
26403
  disabled: disabled || !onSubtitlesChange,
26312
26404
  className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
@@ -26459,7 +26551,7 @@ var AIEnrichSection = ({
26459
26551
  }) => {
26460
26552
  const hasResults = status === "success" || status === "error";
26461
26553
  const shouldDisable = disabled || !canEnrich;
26462
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _458 => _458.filter, 'call', _459 => _459((f) => !f.isFilled)]) || [];
26554
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _460 => _460.filter, 'call', _461 => _461((f) => !f.isFilled)]) || [];
26463
26555
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26464
26556
  "div",
26465
26557
  {
@@ -26497,7 +26589,7 @@ var AIEnrichSection = ({
26497
26589
  {
26498
26590
  id: "ai-enrich-custom-instructions",
26499
26591
  value: _nullishCoalesce(customInstructions, () => ( "")),
26500
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _460 => _460(e.target.value)]),
26592
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _462 => _462(e.target.value)]),
26501
26593
  placeholder: customInstructionsPlaceholder,
26502
26594
  disabled: loading,
26503
26595
  maxLength: customInstructionsMaxLength,
@@ -26626,7 +26718,7 @@ function HighlightVideoSection({
26626
26718
  input.accept = "video/*";
26627
26719
  input.onchange = async (e) => {
26628
26720
  const target = e.target;
26629
- const file = _optionalChain([target, 'access', _461 => _461.files, 'optionalAccess', _462 => _462[0]]);
26721
+ const file = _optionalChain([target, 'access', _463 => _463.files, 'optionalAccess', _464 => _464[0]]);
26630
26722
  if (!file) return;
26631
26723
  setUploadError(null);
26632
26724
  try {
@@ -27128,7 +27220,7 @@ function HighlightVideoPreview({
27128
27220
  input.accept = "video/*";
27129
27221
  input.onchange = async (e) => {
27130
27222
  const target = e.target;
27131
- const file = _optionalChain([target, 'access', _463 => _463.files, 'optionalAccess', _464 => _464[0]]);
27223
+ const file = _optionalChain([target, 'access', _465 => _465.files, 'optionalAccess', _466 => _466[0]]);
27132
27224
  if (!file) return;
27133
27225
  await onUpload(file);
27134
27226
  };
@@ -27315,7 +27407,7 @@ function HighlightVideoCombinedSection({
27315
27407
  input.accept = "video/*";
27316
27408
  input.onchange = async (e) => {
27317
27409
  const target = e.target;
27318
- const file = _optionalChain([target, 'access', _465 => _465.files, 'optionalAccess', _466 => _466[0]]);
27410
+ const file = _optionalChain([target, 'access', _467 => _467.files, 'optionalAccess', _468 => _468[0]]);
27319
27411
  if (!file) return;
27320
27412
  await onUpload(file);
27321
27413
  };
@@ -27612,7 +27704,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
27612
27704
  return editMode ? "Set Global Permission" : "";
27613
27705
  }
27614
27706
  const option = approvalLevelOptions.find((opt) => opt.value === level);
27615
- return _optionalChain([option, 'optionalAccess', _467 => _467.label]) || level;
27707
+ return _optionalChain([option, 'optionalAccess', _469 => _469.label]) || level;
27616
27708
  };
27617
27709
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
27618
27710
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
@@ -27826,12 +27918,12 @@ function PhoneInput({
27826
27918
  const runValidation = _react.useCallback.call(void 0, (phone) => {
27827
27919
  if (!phone || digitCount(phone) === 0) {
27828
27920
  setIsInvalid(false);
27829
- _optionalChain([onValidationChange, 'optionalCall', _468 => _468(false)]);
27921
+ _optionalChain([onValidationChange, 'optionalCall', _470 => _470(false)]);
27830
27922
  return;
27831
27923
  }
27832
27924
  const invalid = !validatePhoneNumber(phone, countryCode);
27833
27925
  setIsInvalid(invalid);
27834
- _optionalChain([onValidationChange, 'optionalCall', _469 => _469(invalid)]);
27926
+ _optionalChain([onValidationChange, 'optionalCall', _471 => _471(invalid)]);
27835
27927
  }, [countryCode, digitCount, onValidationChange]);
27836
27928
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
27837
27929
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -27880,7 +27972,7 @@ function PhoneInput({
27880
27972
  debouncedValidation(val);
27881
27973
  } else if (digitCount(val) === 0) {
27882
27974
  setIsInvalid(false);
27883
- _optionalChain([onValidationChange, 'optionalCall', _470 => _470(false)]);
27975
+ _optionalChain([onValidationChange, 'optionalCall', _472 => _472(false)]);
27884
27976
  }
27885
27977
  }
27886
27978
  },
@@ -28221,19 +28313,19 @@ function NotificationsProvider({
28221
28313
  }, []);
28222
28314
  const markRead = React90.useCallback((id) => {
28223
28315
  dispatch({ type: "markRead", id });
28224
- void _optionalChain([actionsRef, 'access', _471 => _471.current, 'optionalAccess', _472 => _472.onMarkRead, 'optionalCall', _473 => _473(id)]);
28316
+ void _optionalChain([actionsRef, 'access', _473 => _473.current, 'optionalAccess', _474 => _474.onMarkRead, 'optionalCall', _475 => _475(id)]);
28225
28317
  }, []);
28226
28318
  const markAllRead = React90.useCallback(() => {
28227
28319
  dispatch({ type: "markAllRead" });
28228
- void _optionalChain([actionsRef, 'access', _474 => _474.current, 'optionalAccess', _475 => _475.onMarkAllRead, 'optionalCall', _476 => _476()]);
28320
+ void _optionalChain([actionsRef, 'access', _476 => _476.current, 'optionalAccess', _477 => _477.onMarkAllRead, 'optionalCall', _478 => _478()]);
28229
28321
  }, []);
28230
28322
  const markSettled = React90.useCallback((id) => {
28231
28323
  dispatch({ type: "markSettled", id });
28232
- void _optionalChain([actionsRef, 'access', _477 => _477.current, 'optionalAccess', _478 => _478.onMarkSettled, 'optionalCall', _479 => _479(id)]);
28324
+ void _optionalChain([actionsRef, 'access', _479 => _479.current, 'optionalAccess', _480 => _480.onMarkSettled, 'optionalCall', _481 => _481(id)]);
28233
28325
  }, []);
28234
28326
  const remove = React90.useCallback((id) => {
28235
28327
  dispatch({ type: "remove", id });
28236
- void _optionalChain([actionsRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.onRemove, 'optionalCall', _482 => _482(id)]);
28328
+ void _optionalChain([actionsRef, 'access', _482 => _482.current, 'optionalAccess', _483 => _483.onRemove, 'optionalCall', _484 => _484(id)]);
28237
28329
  }, []);
28238
28330
  const clear = React90.useCallback(() => dispatch({ type: "clear" }), []);
28239
28331
  const open = React90.useCallback(() => setIsOpen(true), []);
@@ -28242,14 +28334,14 @@ function NotificationsProvider({
28242
28334
  const setShowPopups = React90.useCallback(
28243
28335
  (value2) => {
28244
28336
  setShowPopupsState(value2);
28245
- _optionalChain([onShowPopupsChange, 'optionalCall', _483 => _483(value2)]);
28337
+ _optionalChain([onShowPopupsChange, 'optionalCall', _485 => _485(value2)]);
28246
28338
  },
28247
28339
  [onShowPopupsChange]
28248
28340
  );
28249
28341
  const setShowDesktopPopups = React90.useCallback(
28250
28342
  (value2) => {
28251
28343
  setShowDesktopPopupsState(value2);
28252
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _484 => _484(value2)]);
28344
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _486 => _486(value2)]);
28253
28345
  },
28254
28346
  [onShowDesktopPopupsChange]
28255
28347
  );
@@ -28353,7 +28445,7 @@ function NotificationTile({
28353
28445
  if (!counting) return;
28354
28446
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
28355
28447
  const timer = window.setTimeout(() => {
28356
- _optionalChain([onSettle, 'optionalCall', _485 => _485(id)]);
28448
+ _optionalChain([onSettle, 'optionalCall', _487 => _487(id)]);
28357
28449
  }, remaining);
28358
28450
  return () => window.clearTimeout(timer);
28359
28451
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -28415,7 +28507,7 @@ function NotificationTile({
28415
28507
  "button",
28416
28508
  {
28417
28509
  type: "button",
28418
- onClick: () => _optionalChain([onSettle, 'optionalCall', _486 => _486(id)]),
28510
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _488 => _488(id)]),
28419
28511
  "aria-label": "Dismiss notification",
28420
28512
  tabIndex: isLive ? 0 : -1,
28421
28513
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -28548,7 +28640,7 @@ function DrawerScrollList({
28548
28640
  if (!sentinel || !root) return;
28549
28641
  const observer = new IntersectionObserver(
28550
28642
  (entries) => {
28551
- if (_optionalChain([entries, 'access', _487 => _487[0], 'optionalAccess', _488 => _488.isIntersecting])) _optionalChain([loadMoreRef, 'access', _489 => _489.current, 'optionalCall', _490 => _490()]);
28643
+ if (_optionalChain([entries, 'access', _489 => _489[0], 'optionalAccess', _490 => _490.isIntersecting])) _optionalChain([loadMoreRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
28552
28644
  },
28553
28645
  { root, rootMargin: loadMoreRootMargin }
28554
28646
  );
@@ -28563,7 +28655,7 @@ function DrawerScrollList({
28563
28655
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
28564
28656
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28565
28657
  unreadNotifications.map((n) => {
28566
- const custom = _optionalChain([renderTile, 'optionalCall', _491 => _491(n, { onComplete, onSettle, liveDurationMs })]);
28658
+ const custom = _optionalChain([renderTile, 'optionalCall', _493 => _493(n, { onComplete, onSettle, liveDurationMs })]);
28567
28659
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
28568
28660
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28569
28661
  NotificationTile,
@@ -28727,7 +28819,7 @@ function NotificationPopups({
28727
28819
  className
28728
28820
  ),
28729
28821
  children: live.map((n) => {
28730
- const custom = _optionalChain([renderTile, 'optionalCall', _492 => _492(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
28822
+ const custom = _optionalChain([renderTile, 'optionalCall', _494 => _494(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
28731
28823
  if (custom) {
28732
28824
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
28733
28825
  }
@@ -28907,21 +28999,21 @@ function transformWebinarToProgram(webinar) {
28907
28999
  // src/components/features/notifications/types.ts
28908
29000
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
28909
29001
  function isApprovalNotification(notification) {
28910
- return _optionalChain([notification, 'access', _493 => _493.meta, 'optionalAccess', _494 => _494.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29002
+ return _optionalChain([notification, 'access', _495 => _495.meta, 'optionalAccess', _496 => _496.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
28911
29003
  }
28912
29004
  function getApprovalMeta(notification) {
28913
29005
  if (!isApprovalNotification(notification)) return null;
28914
29006
  const meta = notification.meta;
28915
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _495 => _495.approvalRequestId]);
28916
- const toolCalls = _optionalChain([meta, 'optionalAccess', _496 => _496.toolCalls]);
29007
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _497 => _497.approvalRequestId]);
29008
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _498 => _498.toolCalls]);
28917
29009
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
28918
29010
  return {
28919
29011
  approvalRequestId,
28920
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _497 => _497.dialogId]), () => ( null)),
28921
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _498 => _498.ticketId]), () => ( null)),
28922
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _499 => _499.approvalType]), () => ( null)),
28923
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _500 => _500.resolution]), () => ( null)),
28924
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _501 => _501.resolvedByName]), () => ( null)),
29012
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _499 => _499.dialogId]), () => ( null)),
29013
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _500 => _500.ticketId]), () => ( null)),
29014
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _501 => _501.approvalType]), () => ( null)),
29015
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _502 => _502.resolution]), () => ( null)),
29016
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _503 => _503.resolvedByName]), () => ( null)),
28925
29017
  toolCalls
28926
29018
  };
28927
29019
  }
@@ -28970,7 +29062,7 @@ function ApprovalRequestNotificationTile({
28970
29062
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
28971
29063
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
28972
29064
  const approval = getApprovalMeta(notification);
28973
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _502 => _502.resolution]));
29065
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _504 => _504.resolution]));
28974
29066
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
28975
29067
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
28976
29068
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -29223,7 +29315,7 @@ function TimeTrackerPanel({
29223
29315
  error: showFieldError ? "Required if no notes added" : void 0,
29224
29316
  disableClientFilter: !!onTicketSearch,
29225
29317
  onInputChange: (value, reason) => {
29226
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _503 => _503(value)]);
29318
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _505 => _505(value)]);
29227
29319
  }
29228
29320
  }
29229
29321
  )
@@ -29305,7 +29397,7 @@ function LastEntryRow({ entry, onClick }) {
29305
29397
  {
29306
29398
  variant: "outline",
29307
29399
  size: "icon",
29308
- onClick: () => _optionalChain([onClick, 'optionalCall', _504 => _504(entry)]),
29400
+ onClick: () => _optionalChain([onClick, 'optionalCall', _506 => _506(entry)]),
29309
29401
  disabled: !onClick,
29310
29402
  "aria-label": `Open entry: ${entry.title}`,
29311
29403
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -29349,9 +29441,9 @@ function HeaderButton({
29349
29441
  function TimeTrackerHeaderButton({ className, disabled }) {
29350
29442
  const ctx = useOptionalTimeTracker();
29351
29443
  const elapsedLabel = useTrackerClock({
29352
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _505 => _505.status]), () => ( "ready")),
29353
- runningSince: _optionalChain([ctx, 'optionalAccess', _506 => _506.runningSince]),
29354
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _507 => _507.accumulatedMs])
29444
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _507 => _507.status]), () => ( "ready")),
29445
+ runningSince: _optionalChain([ctx, 'optionalAccess', _508 => _508.runningSince]),
29446
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _509 => _509.accumulatedMs])
29355
29447
  });
29356
29448
  if (!ctx) return null;
29357
29449
  const { isOpen, open, close, status } = ctx;
@@ -29633,15 +29725,15 @@ function TicketCard({
29633
29725
  transition: sortable.transition
29634
29726
  };
29635
29727
  if (showNewMessage) style.borderColor = columnColor;
29636
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _508 => _508.deviceHostnames, 'optionalAccess', _509 => _509.length]) || ticket.organizationName);
29728
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _510 => _510.deviceHostnames, 'optionalAccess', _511 => _511.length]) || ticket.organizationName);
29637
29729
  const deviceText = [
29638
- _optionalChain([ticket, 'access', _510 => _510.deviceHostnames, 'optionalAccess', _511 => _511.join, 'call', _512 => _512(", ")]),
29730
+ _optionalChain([ticket, 'access', _512 => _512.deviceHostnames, 'optionalAccess', _513 => _513.join, 'call', _514 => _514(", ")]),
29639
29731
  ticket.organizationName
29640
29732
  ].filter(Boolean).join(", ");
29641
29733
  const handleClick = (e) => {
29642
29734
  if (sortable.isDragging) e.preventDefault();
29643
29735
  };
29644
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _513 => _513.assignees, 'optionalAccess', _514 => _514.length]) || renderAssignSlot);
29736
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _515 => _515.assignees, 'optionalAccess', _516 => _516.length]) || renderAssignSlot);
29645
29737
  const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
29646
29738
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29647
29739
  _chunkZS2SBWBRcjs.Flag02Icon,
@@ -29650,7 +29742,7 @@ function TicketCard({
29650
29742
  "aria-label": `Priority: ${ticket.priority}`
29651
29743
  }
29652
29744
  ),
29653
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _515 => _515.assignees, 'optionalAccess', _516 => _516.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
29745
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _517 => _517.assignees, 'optionalAccess', _518 => _518.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
29654
29746
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29655
29747
  SquareAvatar,
29656
29748
  {
@@ -29681,7 +29773,7 @@ function TicketCard({
29681
29773
  ] }),
29682
29774
  rightSection
29683
29775
  ] }),
29684
- _optionalChain([ticket, 'access', _517 => _517.tags, 'optionalAccess', _518 => _518.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
29776
+ _optionalChain([ticket, 'access', _519 => _519.tags, 'optionalAccess', _520 => _520.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
29685
29777
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
29686
29778
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-auto text-h6 truncate text-ods-text-secondary", children: timestampLabel }) }),
29687
29779
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -29881,7 +29973,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
29881
29973
  const observer = new IntersectionObserver(
29882
29974
  (entries) => {
29883
29975
  if (entries.some((e) => e.isIntersecting)) {
29884
- _optionalChain([loadMoreRef, 'access', _519 => _519.current, 'optionalCall', _520 => _520(columnIdRef.current)]);
29976
+ _optionalChain([loadMoreRef, 'access', _521 => _521.current, 'optionalCall', _522 => _522(columnIdRef.current)]);
29885
29977
  }
29886
29978
  },
29887
29979
  { root, rootMargin: loadMoreRootMargin }
@@ -29911,7 +30003,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
29911
30003
  ticket: t,
29912
30004
  columnId: column.id,
29913
30005
  columnColor: column.color,
29914
- href: _optionalChain([getTicketHref, 'optionalCall', _521 => _521(t.id)]),
30006
+ href: _optionalChain([getTicketHref, 'optionalCall', _523 => _523(t.id)]),
29915
30007
  renderAssignSlot,
29916
30008
  onApprove,
29917
30009
  onReject,
@@ -30011,17 +30103,17 @@ function Board({
30011
30103
  const pointer = _core.pointerWithin.call(void 0, args);
30012
30104
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
30013
30105
  const ticketHit = intersections.find(
30014
- (c) => _optionalChain([c, 'access', _522 => _522.data, 'optionalAccess', _523 => _523.droppableContainer, 'optionalAccess', _524 => _524.data, 'optionalAccess', _525 => _525.current, 'optionalAccess', _526 => _526.type]) === "ticket"
30106
+ (c) => _optionalChain([c, 'access', _524 => _524.data, 'optionalAccess', _525 => _525.droppableContainer, 'optionalAccess', _526 => _526.data, 'optionalAccess', _527 => _527.current, 'optionalAccess', _528 => _528.type]) === "ticket"
30015
30107
  );
30016
30108
  if (ticketHit) return [ticketHit];
30017
30109
  const columnHit = intersections.find(
30018
- (c) => _optionalChain([c, 'access', _527 => _527.data, 'optionalAccess', _528 => _528.droppableContainer, 'optionalAccess', _529 => _529.data, 'optionalAccess', _530 => _530.current, 'optionalAccess', _531 => _531.type]) === "column"
30110
+ (c) => _optionalChain([c, 'access', _529 => _529.data, 'optionalAccess', _530 => _530.droppableContainer, 'optionalAccess', _531 => _531.data, 'optionalAccess', _532 => _532.current, 'optionalAccess', _533 => _533.type]) === "column"
30019
30111
  );
30020
30112
  if (columnHit) {
30021
- const columnId = _optionalChain([columnHit, 'access', _532 => _532.data, 'optionalAccess', _533 => _533.droppableContainer, 'optionalAccess', _534 => _534.data, 'optionalAccess', _535 => _535.current, 'optionalAccess', _536 => _536.columnId]);
30113
+ const columnId = _optionalChain([columnHit, 'access', _534 => _534.data, 'optionalAccess', _535 => _535.droppableContainer, 'optionalAccess', _536 => _536.data, 'optionalAccess', _537 => _537.current, 'optionalAccess', _538 => _538.columnId]);
30022
30114
  const ticketsInColumn = args.droppableContainers.filter((c) => {
30023
30115
  const d = c.data.current;
30024
- return _optionalChain([d, 'optionalAccess', _537 => _537.type]) === "ticket" && d.columnId === columnId;
30116
+ return _optionalChain([d, 'optionalAccess', _539 => _539.type]) === "ticket" && d.columnId === columnId;
30025
30117
  });
30026
30118
  if (ticketsInColumn.length > 0) {
30027
30119
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -30046,20 +30138,20 @@ function Board({
30046
30138
  const overId = String(over.id);
30047
30139
  if (activeId === overId) return;
30048
30140
  const overData = over.data.current;
30049
- const fromColumnId = _optionalChain([locate, 'call', _538 => _538(items, activeId), 'optionalAccess', _539 => _539.columnId]);
30050
- const toColumnId = _optionalChain([overData, 'optionalAccess', _540 => _540.columnId]);
30141
+ const fromColumnId = _optionalChain([locate, 'call', _540 => _540(items, activeId), 'optionalAccess', _541 => _541.columnId]);
30142
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _542 => _542.columnId]);
30051
30143
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
30052
30144
  const origin = dragOriginRef.current;
30053
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _541 => _541.fromColumnId]) === toColumnId;
30145
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _543 => _543.fromColumnId]) === toColumnId;
30054
30146
  const targetCol = items.find((c) => c.id === toColumnId);
30055
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _542 => _542.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30056
- if (_optionalChain([targetCol, 'optionalAccess', _543 => _543.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30147
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _544 => _544.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30148
+ if (_optionalChain([targetCol, 'optionalAccess', _545 => _545.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30057
30149
  setItems((prev) => {
30058
30150
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
30059
30151
  const toCol = prev.find((c) => c.id === toColumnId);
30060
30152
  if (fromIndex < 0 || !toCol) return prev;
30061
30153
  let toIndex;
30062
- if (_optionalChain([overData, 'optionalAccess', _544 => _544.type]) === "column") {
30154
+ if (_optionalChain([overData, 'optionalAccess', _546 => _546.type]) === "column") {
30063
30155
  toIndex = toCol.tickets.length;
30064
30156
  } else {
30065
30157
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -30101,14 +30193,14 @@ function Board({
30101
30193
  const toColumnId = located.columnId;
30102
30194
  const isCrossColumn = origin.fromColumnId !== toColumnId;
30103
30195
  const targetCol = items.find((c) => c.id === toColumnId);
30104
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _545 => _545.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _546 => _546.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30196
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _547 => _547.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _548 => _548.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30105
30197
  setItems(columns);
30106
30198
  return;
30107
30199
  }
30108
30200
  let finalIndex = located.index;
30109
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _547 => _547.find, 'call', _548 => _548((c) => c.id === toColumnId), 'optionalAccess', _549 => _549.tickets]), () => ( []));
30201
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _549 => _549.find, 'call', _550 => _550((c) => c.id === toColumnId), 'optionalAccess', _551 => _551.tickets]), () => ( []));
30110
30202
  const overData = over.data.current;
30111
- if (_optionalChain([overData, 'optionalAccess', _550 => _550.type]) === "ticket") {
30203
+ if (_optionalChain([overData, 'optionalAccess', _552 => _552.type]) === "ticket") {
30112
30204
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
30113
30205
  if (overIndex >= 0 && overIndex !== located.index) {
30114
30206
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -30128,8 +30220,8 @@ function Board({
30128
30220
  ticketId: origin.ticketId,
30129
30221
  fromColumnId: origin.fromColumnId,
30130
30222
  toColumnId,
30131
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _551 => _551[finalIndex - 1], 'optionalAccess', _552 => _552.id]), () => ( null)),
30132
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _553 => _553[finalIndex + 1], 'optionalAccess', _554 => _554.id]), () => ( null))
30223
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _553 => _553[finalIndex - 1], 'optionalAccess', _554 => _554.id]), () => ( null)),
30224
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _555 => _555[finalIndex + 1], 'optionalAccess', _556 => _556.id]), () => ( null))
30133
30225
  });
30134
30226
  };
30135
30227
  const handleDragCancel = () => {
@@ -30158,8 +30250,8 @@ function Board({
30158
30250
  children: items.map((column, i) => {
30159
30251
  const prev = items[i - 1];
30160
30252
  const next = items[i + 1];
30161
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _555 => _555.system]));
30162
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _556 => _556.system]));
30253
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _557 => _557.system]));
30254
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _558 => _558.system]));
30163
30255
  const showGap = i > 0 && !joinLeft;
30164
30256
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React96.Fragment, { children: [
30165
30257
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -30212,7 +30304,7 @@ function Board({
30212
30304
  {
30213
30305
  ticket: activeTicket.ticket,
30214
30306
  columnId: activeTicket.columnId,
30215
- columnColor: _optionalChain([items, 'access', _557 => _557.find, 'call', _558 => _558((c) => c.id === activeTicket.columnId), 'optionalAccess', _559 => _559.color]),
30307
+ columnColor: _optionalChain([items, 'access', _559 => _559.find, 'call', _560 => _560((c) => c.id === activeTicket.columnId), 'optionalAccess', _561 => _561.color]),
30216
30308
  isOverlay: true
30217
30309
  }
30218
30310
  ) : null })
@@ -30228,7 +30320,7 @@ function locate(cols, ticketId) {
30228
30320
  return null;
30229
30321
  }
30230
30322
  function findIndexInColumn(cols, columnId, ticketId) {
30231
- return _nullishCoalesce(_optionalChain([cols, 'access', _560 => _560.find, 'call', _561 => _561((c) => c.id === columnId), 'optionalAccess', _562 => _562.tickets, 'access', _563 => _563.findIndex, 'call', _564 => _564((t) => t.id === ticketId)]), () => ( -1));
30323
+ return _nullishCoalesce(_optionalChain([cols, 'access', _562 => _562.find, 'call', _563 => _563((c) => c.id === columnId), 'optionalAccess', _564 => _564.tickets, 'access', _565 => _565.findIndex, 'call', _566 => _566((t) => t.id === ticketId)]), () => ( -1));
30232
30324
  }
30233
30325
 
30234
30326
  // src/components/features/board/types.ts
@@ -30476,7 +30568,7 @@ function Header2({ config, platform }) {
30476
30568
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30477
30569
  "flex justify-start w-full",
30478
30570
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
30479
- index < (_nullishCoalesce(_optionalChain([item, 'access', _565 => _565.children, 'optionalAccess', _566 => _566.length]), () => ( 0))) - 1 && "mb-1",
30571
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _567 => _567.children, 'optionalAccess', _568 => _568.length]), () => ( 0))) - 1 && "mb-1",
30480
30572
  "text-ods-text-primary",
30481
30573
  // All dropdown items use primary text color
30482
30574
  child.isActive && "bg-ods-bg-hover"
@@ -30568,7 +30660,7 @@ function Header2({ config, platform }) {
30568
30660
  style: config.style,
30569
30661
  children: [
30570
30662
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
30571
- _optionalChain([config, 'access', _567 => _567.actions, 'optionalAccess', _568 => _568.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
30663
+ _optionalChain([config, 'access', _569 => _569.actions, 'optionalAccess', _570 => _570.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
30572
30664
  /* @__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 })
30573
30665
  ] }),
30574
30666
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -30585,7 +30677,7 @@ function Header2({ config, platform }) {
30585
30677
  }
30586
30678
  ),
30587
30679
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
30588
- _optionalChain([config, 'access', _569 => _569.actions, 'optionalAccess', _570 => _570.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
30680
+ _optionalChain([config, 'access', _571 => _571.actions, 'optionalAccess', _572 => _572.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
30589
30681
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30590
30682
  _chunkFQOTC3UUcjs.Button,
30591
30683
  {
@@ -30593,10 +30685,10 @@ function Header2({ config, platform }) {
30593
30685
  size: "icon",
30594
30686
  className: "flex md:hidden",
30595
30687
  onClick: () => {
30596
- _optionalChain([config, 'access', _571 => _571.mobile, 'optionalAccess', _572 => _572.onToggle, 'optionalCall', _573 => _573()]);
30688
+ _optionalChain([config, 'access', _573 => _573.mobile, 'optionalAccess', _574 => _574.onToggle, 'optionalCall', _575 => _575()]);
30597
30689
  },
30598
- "aria-label": _optionalChain([config, 'access', _574 => _574.mobile, 'optionalAccess', _575 => _575.isOpen]) ? "Close menu" : "Open menu",
30599
- leftIcon: _optionalChain([config, 'access', _576 => _576.mobile, 'optionalAccess', _577 => _577.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Menu01Icon, {})
30690
+ "aria-label": _optionalChain([config, 'access', _576 => _576.mobile, 'optionalAccess', _577 => _577.isOpen]) ? "Close menu" : "Open menu",
30691
+ leftIcon: _optionalChain([config, 'access', _578 => _578.mobile, 'optionalAccess', _579 => _579.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Menu01Icon, {})
30600
30692
  }
30601
30693
  )
30602
30694
  ] })
@@ -30613,10 +30705,10 @@ function Header2({ config, platform }) {
30613
30705
  // src/components/navigation/header-skeleton.tsx
30614
30706
 
30615
30707
  function HeaderSkeleton({ config }) {
30616
- const showNavigation = _optionalChain([config, 'optionalAccess', _578 => _578.navigation]) && config.navigation.items.length > 0;
30617
- const showActions = _optionalChain([config, 'optionalAccess', _579 => _579.actions, 'optionalAccess', _580 => _580.right]) && config.actions.right.length > 0;
30618
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _581 => _581.mobile, 'optionalAccess', _582 => _582.enabled]);
30619
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _583 => _583.className, 'optionalAccess', _584 => _584.includes, 'call', _585 => _585("admin")]);
30708
+ const showNavigation = _optionalChain([config, 'optionalAccess', _580 => _580.navigation]) && config.navigation.items.length > 0;
30709
+ const showActions = _optionalChain([config, 'optionalAccess', _581 => _581.actions, 'optionalAccess', _582 => _582.right]) && config.actions.right.length > 0;
30710
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _583 => _583.mobile, 'optionalAccess', _584 => _584.enabled]);
30711
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _585 => _585.className, 'optionalAccess', _586 => _586.includes, 'call', _587 => _587("admin")]);
30620
30712
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30621
30713
  "header",
30622
30714
  {
@@ -30625,11 +30717,11 @@ function HeaderSkeleton({ config }) {
30625
30717
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
30626
30718
  "px-6 py-3",
30627
30719
  "transition-opacity duration-300 ease-in-out",
30628
- _optionalChain([config, 'optionalAccess', _586 => _586.className])
30720
+ _optionalChain([config, 'optionalAccess', _588 => _588.className])
30629
30721
  ),
30630
30722
  children: [
30631
30723
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
30632
- isAdminHeader && _optionalChain([config, 'optionalAccess', _587 => _587.actions, 'optionalAccess', _588 => _588.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" }) }),
30724
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _589 => _589.actions, 'optionalAccess', _590 => _590.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" }) }),
30633
30725
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
30634
30726
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
30635
30727
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -30637,8 +30729,8 @@ function HeaderSkeleton({ config }) {
30637
30729
  ] }),
30638
30730
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
30639
30731
  "hidden md:flex items-center gap-2",
30640
- _optionalChain([config, 'optionalAccess', _589 => _589.navigation, 'optionalAccess', _590 => _590.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
30641
- _optionalChain([config, 'optionalAccess', _591 => _591.navigation, 'optionalAccess', _592 => _592.position]) === "right" && "ml-auto mr-4"
30732
+ _optionalChain([config, 'optionalAccess', _591 => _591.navigation, 'optionalAccess', _592 => _592.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
30733
+ _optionalChain([config, 'optionalAccess', _593 => _593.navigation, 'optionalAccess', _594 => _594.position]) === "right" && "ml-auto mr-4"
30642
30734
  ), children: [
30643
30735
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
30644
30736
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -30686,7 +30778,7 @@ function MobileNavPanel({ isOpen, config }) {
30686
30778
  _react.useEffect.call(void 0, () => {
30687
30779
  const handleKeyDown = (e) => {
30688
30780
  if (e.key === "Escape" && isOpen) {
30689
- _optionalChain([config, 'access', _593 => _593.onClose, 'optionalCall', _594 => _594()]);
30781
+ _optionalChain([config, 'access', _595 => _595.onClose, 'optionalCall', _596 => _596()]);
30690
30782
  }
30691
30783
  };
30692
30784
  if (isOpen) {
@@ -30703,7 +30795,7 @@ function MobileNavPanel({ isOpen, config }) {
30703
30795
  if (item.onClick) {
30704
30796
  item.onClick();
30705
30797
  }
30706
- _optionalChain([config, 'access', _595 => _595.onClose, 'optionalCall', _596 => _596()]);
30798
+ _optionalChain([config, 'access', _597 => _597.onClose, 'optionalCall', _598 => _598()]);
30707
30799
  };
30708
30800
  if (item.href) {
30709
30801
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -30873,7 +30965,7 @@ function SlidingSidebar({ config }) {
30873
30965
  variant: "transparent",
30874
30966
  size: "default",
30875
30967
  onClick: () => {
30876
- _optionalChain([item, 'access', _597 => _597.onClick, 'optionalCall', _598 => _598()]);
30968
+ _optionalChain([item, 'access', _599 => _599.onClick, 'optionalCall', _600 => _600()]);
30877
30969
  config.onClose();
30878
30970
  },
30879
30971
  leftIcon: item.icon,
@@ -30896,7 +30988,7 @@ function SlidingSidebar({ config }) {
30896
30988
  variant: "transparent",
30897
30989
  size: "default",
30898
30990
  onClick: () => {
30899
- _optionalChain([item, 'access', _599 => _599.onClick, 'optionalCall', _600 => _600()]);
30991
+ _optionalChain([item, 'access', _601 => _601.onClick, 'optionalCall', _602 => _602()]);
30900
30992
  config.onClose();
30901
30993
  },
30902
30994
  leftIcon: item.icon,
@@ -31023,7 +31115,7 @@ function StickySectionNav({
31023
31115
  ] });
31024
31116
  }
31025
31117
  function useSectionNavigation(sections, options) {
31026
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _601 => _601[0], 'optionalAccess', _602 => _602.id]) || "");
31118
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _603 => _603[0], 'optionalAccess', _604 => _604.id]) || "");
31027
31119
  const isScrollingFromClick = _react.useRef.call(void 0, false);
31028
31120
  const { offset: offset2 = 100 } = options || {};
31029
31121
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -31047,7 +31139,7 @@ function useSectionNavigation(sections, options) {
31047
31139
  const handleScroll = () => {
31048
31140
  if (isScrollingFromClick.current) return;
31049
31141
  const scrollPosition = window.scrollY + offset2 + 50;
31050
- let currentSection = _optionalChain([sections, 'access', _603 => _603[0], 'optionalAccess', _604 => _604.id]) || "";
31142
+ let currentSection = _optionalChain([sections, 'access', _605 => _605[0], 'optionalAccess', _606 => _606.id]) || "";
31051
31143
  for (let i = sections.length - 1; i >= 0; i--) {
31052
31144
  const element = document.getElementById(sections[i].id);
31053
31145
  if (element && scrollPosition >= element.offsetTop) {
@@ -31248,7 +31340,7 @@ function NavigationSidebar({ config, disabled = false }) {
31248
31340
  } else {
31249
31341
  setDesktopMinimized((prev) => !prev);
31250
31342
  }
31251
- _optionalChain([config, 'access', _605 => _605.onToggleMinimized, 'optionalCall', _606 => _606()]);
31343
+ _optionalChain([config, 'access', _607 => _607.onToggleMinimized, 'optionalCall', _608 => _608()]);
31252
31344
  }, [isTablet, setDesktopMinimized, config]);
31253
31345
  const closeOverlay = _react.useCallback.call(void 0, () => {
31254
31346
  setTabletMinimized(true);
@@ -31262,11 +31354,11 @@ function NavigationSidebar({ config, disabled = false }) {
31262
31354
  return () => document.removeEventListener("keydown", handleKeyDown);
31263
31355
  }, [isOverlayOpen, closeOverlay]);
31264
31356
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
31265
- _optionalChain([event, 'optionalAccess', _607 => _607.stopPropagation, 'call', _608 => _608()]);
31357
+ _optionalChain([event, 'optionalAccess', _609 => _609.stopPropagation, 'call', _610 => _610()]);
31266
31358
  if (item.onClick) {
31267
31359
  item.onClick();
31268
31360
  } else if (item.path) {
31269
- _optionalChain([config, 'access', _609 => _609.onNavigate, 'optionalCall', _610 => _610(item.path)]);
31361
+ _optionalChain([config, 'access', _611 => _611.onNavigate, 'optionalCall', _612 => _612(item.path)]);
31270
31362
  }
31271
31363
  if (isTablet) setTabletMinimized(true);
31272
31364
  }, [config, isTablet]);
@@ -31386,11 +31478,11 @@ function HeaderGlobalSearch({
31386
31478
  };
31387
31479
  const handleSubmit = (e) => {
31388
31480
  e.preventDefault();
31389
- _optionalChain([onSubmit, 'optionalCall', _611 => _611(currentValue)]);
31481
+ _optionalChain([onSubmit, 'optionalCall', _613 => _613(currentValue)]);
31390
31482
  };
31391
31483
  const handleKeyDown = (e) => {
31392
31484
  if (e.key === "Enter") {
31393
- _optionalChain([onSubmit, 'optionalCall', _612 => _612(currentValue)]);
31485
+ _optionalChain([onSubmit, 'optionalCall', _614 => _614(currentValue)]);
31394
31486
  }
31395
31487
  };
31396
31488
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -31484,8 +31576,8 @@ function HeaderOrganizationFilter({
31484
31576
  className
31485
31577
  }) {
31486
31578
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
31487
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _613 => _613.name]) || "All Organizations";
31488
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _614 => _614.deviceCount]), () => ( totalDeviceCount));
31579
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _615 => _615.name]) || "All Organizations";
31580
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _616 => _616.deviceCount]), () => ( totalDeviceCount));
31489
31581
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFQOTC3UUcjs.DropdownMenu, { children: [
31490
31582
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31491
31583
  "button",
@@ -31510,11 +31602,11 @@ function HeaderOrganizationFilter({
31510
31602
  }
31511
31603
  ) }),
31512
31604
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
31513
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _615 => _615("")]), children: "All Organizations" }),
31605
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _617 => _617("")]), children: "All Organizations" }),
31514
31606
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31515
31607
  _chunkFQOTC3UUcjs.DropdownMenuItem,
31516
31608
  {
31517
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _616 => _616(org.id)]),
31609
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _618 => _618(org.id)]),
31518
31610
  children: org.name
31519
31611
  },
31520
31612
  org.id
@@ -31701,9 +31793,9 @@ function NotificationsHeaderButton({
31701
31793
  dimmedClass
31702
31794
  }) {
31703
31795
  const ctx = useOptionalNotifications();
31704
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _617 => _617.unreadCount]), () => ( fallbackUnreadCount))) > 0;
31705
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _618 => _618.isOpen]), () => ( false));
31706
- const onClick = _optionalChain([ctx, 'optionalAccess', _619 => _619.toggle]);
31796
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _619 => _619.unreadCount]), () => ( fallbackUnreadCount))) > 0;
31797
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _620 => _620.isOpen]), () => ( false));
31798
+ const onClick = _optionalChain([ctx, 'optionalAccess', _621 => _621.toggle]);
31707
31799
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31708
31800
  HeaderButton,
31709
31801
  {
@@ -31767,7 +31859,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
31767
31859
  if (item.onClick) {
31768
31860
  item.onClick();
31769
31861
  } else if (item.path) {
31770
- _optionalChain([config, 'access', _620 => _620.onNavigate, 'optionalCall', _621 => _621(item.path)]);
31862
+ _optionalChain([config, 'access', _622 => _622.onNavigate, 'optionalCall', _623 => _623(item.path)]);
31771
31863
  }
31772
31864
  onClose();
31773
31865
  }, [config, onClose]);
@@ -32010,7 +32102,7 @@ var AppLayoutDrawerRoot = ({
32010
32102
  const handleOpenChange = React105.useCallback(
32011
32103
  (next) => {
32012
32104
  if (!isControlled) setInternalOpen(next);
32013
- _optionalChain([onOpenChange, 'optionalCall', _622 => _622(next)]);
32105
+ _optionalChain([onOpenChange, 'optionalCall', _624 => _624(next)]);
32014
32106
  },
32015
32107
  [isControlled, onOpenChange]
32016
32108
  );
@@ -32391,10 +32483,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
32391
32483
  ),
32392
32484
  style,
32393
32485
  onInteractOutside: (event) => {
32394
- _optionalChain([onInteractOutside, 'optionalCall', _623 => _623(event)]);
32486
+ _optionalChain([onInteractOutside, 'optionalCall', _625 => _625(event)]);
32395
32487
  if (event.defaultPrevented) return;
32396
32488
  const target = event.target;
32397
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _624 => _624.contains, 'call', _625 => _625(target)]);
32489
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _626 => _626.contains, 'call', _627 => _627(target)]);
32398
32490
  if (!isInsideContainer) {
32399
32491
  event.preventDefault();
32400
32492
  return;
@@ -32807,7 +32899,7 @@ var ShellTypeBadge = ({
32807
32899
  className,
32808
32900
  iconClassName
32809
32901
  }) => {
32810
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _626 => _626.toUpperCase, 'call', _627 => _627()]);
32902
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _628 => _628.toUpperCase, 'call', _629 => _629()]);
32811
32903
  const label = getShellLabel(normalizedType);
32812
32904
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
32813
32905
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -33194,12 +33286,12 @@ function OnboardingWalkthrough({
33194
33286
  }
33195
33287
  }, [state.completedSteps, markComplete]);
33196
33288
  const handleStepSkip = (step) => {
33197
- _optionalChain([step, 'access', _628 => _628.onSkip, 'optionalCall', _629 => _629()]);
33289
+ _optionalChain([step, 'access', _630 => _630.onSkip, 'optionalCall', _631 => _631()]);
33198
33290
  markSkipped(step.id);
33199
33291
  };
33200
33292
  const handleDismiss = () => {
33201
33293
  dismissOnboarding();
33202
- _optionalChain([onDismiss, 'optionalCall', _630 => _630()]);
33294
+ _optionalChain([onDismiss, 'optionalCall', _632 => _632()]);
33203
33295
  };
33204
33296
  if (state.dismissed) {
33205
33297
  return null;
@@ -33329,7 +33421,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
33329
33421
  onKeyDown: (e) => {
33330
33422
  if (e.key === "Enter" || e.key === " ") {
33331
33423
  e.preventDefault();
33332
- _optionalChain([onClick, 'optionalCall', _631 => _631()]);
33424
+ _optionalChain([onClick, 'optionalCall', _633 => _633()]);
33333
33425
  }
33334
33426
  },
33335
33427
  children: [
@@ -33430,7 +33522,7 @@ var LogsList = React109.forwardRef(({
33430
33522
  log,
33431
33523
  isLast: index === logs.length - 1,
33432
33524
  showConnector,
33433
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _632 => _632(log)])
33525
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _634 => _634(log)])
33434
33526
  },
33435
33527
  log.id
33436
33528
  ))
@@ -33531,7 +33623,7 @@ var Slider = React111.forwardRef(
33531
33623
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
33532
33624
  const handleChange = (e) => {
33533
33625
  const newValue = [Number(e.target.value)];
33534
- _optionalChain([onValueChange, 'optionalCall', _633 => _633(newValue)]);
33626
+ _optionalChain([onValueChange, 'optionalCall', _635 => _635(newValue)]);
33535
33627
  };
33536
33628
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33537
33629
  "input",
@@ -33962,7 +34054,7 @@ function CursorPaginationSimple({
33962
34054
  {
33963
34055
  variant: "transparent",
33964
34056
  size: "icon",
33965
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _634 => _634("")]),
34057
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _636 => _636("")]),
33966
34058
  disabled: !hasPreviousPage || loading,
33967
34059
  className: "h-8 w-8",
33968
34060
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -33974,7 +34066,7 @@ function CursorPaginationSimple({
33974
34066
  {
33975
34067
  variant: "transparent",
33976
34068
  size: "icon",
33977
- onClick: () => _optionalChain([onNext, 'optionalCall', _635 => _635("")]),
34069
+ onClick: () => _optionalChain([onNext, 'optionalCall', _637 => _637("")]),
33978
34070
  disabled: !hasNextPage || loading,
33979
34071
  className: "h-8 w-8",
33980
34072
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -33994,8 +34086,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
33994
34086
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
33995
34087
  title: _nullishCoalesce(message2, () => ( "No results found")),
33996
34088
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
33997
- buttonLabel: _optionalChain([action, 'optionalAccess', _636 => _636.label]),
33998
- onButtonClick: _optionalChain([action, 'optionalAccess', _637 => _637.onClick]),
34089
+ buttonLabel: _optionalChain([action, 'optionalAccess', _638 => _638.label]),
34090
+ onButtonClick: _optionalChain([action, 'optionalAccess', _639 => _639.onClick]),
33999
34091
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
34000
34092
  }
34001
34093
  );
@@ -34016,7 +34108,7 @@ function TableColumnFilterDropdown({
34016
34108
  placement = "bottom-start",
34017
34109
  dropdownClassName = "min-w-[240px]"
34018
34110
  }) {
34019
- const activeCount = _optionalChain([filters, 'optionalAccess', _638 => _638[columnKey], 'optionalAccess', _639 => _639.length]) || 0;
34111
+ const activeCount = _optionalChain([filters, 'optionalAccess', _640 => _640[columnKey], 'optionalAccess', _641 => _641.length]) || 0;
34020
34112
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34021
34113
  FiltersDropdown,
34022
34114
  {
@@ -34059,7 +34151,7 @@ function TableColumnFilterDropdown({
34059
34151
  delete newFilters[columnKey];
34060
34152
  onFilterChange(newFilters);
34061
34153
  },
34062
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _640 => _640[columnKey]]) || [] },
34154
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _642 => _642[columnKey]]) || [] },
34063
34155
  placement,
34064
34156
  dropdownClassName
34065
34157
  }
@@ -34356,7 +34448,7 @@ function TableRow({
34356
34448
  const keys = column.key.split(".");
34357
34449
  let value = item;
34358
34450
  for (const key of keys) {
34359
- value = _optionalChain([value, 'optionalAccess', _641 => _641[key]]);
34451
+ value = _optionalChain([value, 'optionalAccess', _643 => _643[key]]);
34360
34452
  }
34361
34453
  if (value === null || value === void 0) {
34362
34454
  return "-";
@@ -34426,7 +34518,7 @@ function TableRow({
34426
34518
  // src/components/ui/table/table.tsx
34427
34519
 
34428
34520
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
34429
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _642 => _642.length])) || Boolean(renderRowActions);
34521
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _644 => _644.length])) || Boolean(renderRowActions);
34430
34522
  const result = [...columns];
34431
34523
  if (hasActions) {
34432
34524
  const actionsColumn = {
@@ -34520,7 +34612,7 @@ function Table({
34520
34612
  return rowKey(item);
34521
34613
  }
34522
34614
  const key = item[rowKey];
34523
- return _optionalChain([key, 'optionalAccess', _643 => _643.toString, 'call', _644 => _644()]) || index.toString();
34615
+ return _optionalChain([key, 'optionalAccess', _645 => _645.toString, 'call', _646 => _646()]) || index.toString();
34524
34616
  };
34525
34617
  const getRowClassName = (item, index) => {
34526
34618
  if (typeof rowClassName === "function") {
@@ -34554,23 +34646,23 @@ function Table({
34554
34646
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
34555
34647
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
34556
34648
  const sentinelRef = _react.useRef.call(void 0, null);
34557
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _645 => _645.onLoadMore]));
34558
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _646 => _646.onLoadMore]);
34649
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _647 => _647.onLoadMore]));
34650
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _648 => _648.onLoadMore]);
34559
34651
  _react.useEffect.call(void 0, () => {
34560
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _647 => _647.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
34652
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _649 => _649.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
34561
34653
  const sentinel = sentinelRef.current;
34562
34654
  if (!sentinel) return;
34563
34655
  const observer = new IntersectionObserver(
34564
34656
  (entries) => {
34565
- if (_optionalChain([entries, 'access', _648 => _648[0], 'optionalAccess', _649 => _649.isIntersecting])) {
34566
- _optionalChain([onLoadMoreRef, 'access', _650 => _650.current, 'optionalCall', _651 => _651()]);
34657
+ if (_optionalChain([entries, 'access', _650 => _650[0], 'optionalAccess', _651 => _651.isIntersecting])) {
34658
+ _optionalChain([onLoadMoreRef, 'access', _652 => _652.current, 'optionalCall', _653 => _653()]);
34567
34659
  }
34568
34660
  },
34569
34661
  { rootMargin: "200px" }
34570
34662
  );
34571
34663
  observer.observe(sentinel);
34572
34664
  return () => observer.disconnect();
34573
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _652 => _652.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _653 => _653.isFetchingNextPage])]);
34665
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _654 => _654.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _655 => _655.isFetchingNextPage])]);
34574
34666
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
34575
34667
  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: [
34576
34668
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -34641,7 +34733,7 @@ function Table({
34641
34733
  },
34642
34734
  getRowKey(item, index)
34643
34735
  )),
34644
- _optionalChain([infiniteScroll, 'optionalAccess', _654 => _654.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34736
+ _optionalChain([infiniteScroll, 'optionalAccess', _656 => _656.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34645
34737
  TableCardSkeleton,
34646
34738
  {
34647
34739
  columns,
@@ -34650,7 +34742,7 @@ function Table({
34650
34742
  hasChevron: Boolean(rowHref)
34651
34743
  }
34652
34744
  ),
34653
- _optionalChain([infiniteScroll, 'optionalAccess', _655 => _655.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
34745
+ _optionalChain([infiniteScroll, 'optionalAccess', _657 => _657.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
34654
34746
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34655
34747
  "div",
34656
34748
  {
@@ -35008,7 +35100,7 @@ function QueryReportTable({
35008
35100
  );
35009
35101
  const handleExport = () => {
35010
35102
  exportToCSV(data, columns, exportFilename);
35011
- _optionalChain([onExport, 'optionalCall', _656 => _656()]);
35103
+ _optionalChain([onExport, 'optionalCall', _658 => _658()]);
35012
35104
  };
35013
35105
  const tableMinWidth = columns.length * (columnWidth + 16);
35014
35106
  const {
@@ -35181,7 +35273,7 @@ function DataTableColumnFilter({
35181
35273
  align = "left"
35182
35274
  }) {
35183
35275
  const currentValue = column.getFilterValue();
35184
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _657 => _657.length]), () => ( 0));
35276
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _659 => _659.length]), () => ( 0));
35185
35277
  const sections = _react.useMemo.call(void 0,
35186
35278
  () => [
35187
35279
  {
@@ -35261,7 +35353,7 @@ function DataTableHeader({
35261
35353
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
35262
35354
  if (header.isPlaceholder) return false;
35263
35355
  if (isLgUp) return true;
35264
- return Boolean(_optionalChain([header, 'access', _658 => _658.column, 'access', _659 => _659.columnDef, 'access', _660 => _660.meta, 'optionalAccess', _661 => _661.filter]));
35356
+ return Boolean(_optionalChain([header, 'access', _660 => _660.column, 'access', _661 => _661.columnDef, 'access', _662 => _662.meta, 'optionalAccess', _663 => _663.filter]));
35265
35357
  });
35266
35358
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35267
35359
  "div",
@@ -35291,20 +35383,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35291
35383
  if (header.isPlaceholder) return null;
35292
35384
  const column = header.column;
35293
35385
  const meta = column.columnDef.meta;
35294
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _662 => _662.filter]));
35295
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _663 => _663.align]), () => ( "left"));
35296
- const canSort = _optionalChain([meta, 'optionalAccess', _664 => _664.sortable]) === true;
35297
- const sortDir = _optionalChain([sort, 'optionalAccess', _665 => _665.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35386
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _664 => _664.filter]));
35387
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _665 => _665.align]), () => ( "left"));
35388
+ const canSort = _optionalChain([meta, 'optionalAccess', _666 => _666.sortable]) === true;
35389
+ const sortDir = _optionalChain([sort, 'optionalAccess', _667 => _667.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35298
35390
  if (!isLgUp && !hasFilter) return null;
35299
35391
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35300
35392
  "div",
35301
35393
  {
35302
35394
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35303
35395
  "flex items-stretch",
35304
- isLgUp && (_optionalChain([meta, 'optionalAccess', _666 => _666.width]) || "flex-1 min-w-0"),
35305
- _optionalChain([meta, 'optionalAccess', _667 => _667.headerClassName]),
35396
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _668 => _668.width]) || "flex-1 min-w-0"),
35397
+ _optionalChain([meta, 'optionalAccess', _669 => _669.headerClassName]),
35306
35398
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
35307
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _668 => _668.hideAt]))
35399
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _670 => _670.hideAt]))
35308
35400
  ),
35309
35401
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35310
35402
  DataTableColumnFilter,
@@ -35323,7 +35415,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35323
35415
  isLgUp && alignJustify(align),
35324
35416
  canSort && "group cursor-pointer"
35325
35417
  ),
35326
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _669 => _669(column.id)]) : void 0,
35418
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _671 => _671(column.id)]) : void 0,
35327
35419
  children: [
35328
35420
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
35329
35421
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -35388,7 +35480,7 @@ function DataTableSkeleton({
35388
35480
  }) {
35389
35481
  const table = useDataTableContext();
35390
35482
  const columns = table.getVisibleFlatColumns();
35391
- const firstColumnId = _optionalChain([columns, 'access', _670 => _670[0], 'optionalAccess', _671 => _671.id]);
35483
+ const firstColumnId = _optionalChain([columns, 'access', _672 => _672[0], 'optionalAccess', _673 => _673.id]);
35392
35484
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35393
35485
  "div",
35394
35486
  {
@@ -35412,7 +35504,7 @@ function DataTableSkeleton({
35412
35504
  {
35413
35505
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35414
35506
  "flex flex-col justify-center shrink-0",
35415
- _optionalChain([meta, 'optionalAccess', _672 => _672.width]) || "flex-1"
35507
+ _optionalChain([meta, 'optionalAccess', _674 => _674.width]) || "flex-1"
35416
35508
  ),
35417
35509
  children: [
35418
35510
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -35461,7 +35553,7 @@ function DataTableRowImpl({
35461
35553
  const handleClick = _react.useCallback.call(void 0,
35462
35554
  (e) => {
35463
35555
  const target = e.target;
35464
- if (!_optionalChain([containerRef, 'access', _673 => _673.current, 'optionalAccess', _674 => _674.contains, 'call', _675 => _675(target)])) {
35556
+ if (!_optionalChain([containerRef, 'access', _675 => _675.current, 'optionalAccess', _676 => _676.contains, 'call', _677 => _677(target)])) {
35465
35557
  if (isLinkMode) e.preventDefault();
35466
35558
  return;
35467
35559
  }
@@ -35469,7 +35561,7 @@ function DataTableRowImpl({
35469
35561
  if (isLinkMode) e.preventDefault();
35470
35562
  return;
35471
35563
  }
35472
- _optionalChain([onClick, 'optionalCall', _676 => _676(row.original)]);
35564
+ _optionalChain([onClick, 'optionalCall', _678 => _678(row.original)]);
35473
35565
  },
35474
35566
  [onClick, row.original, isLinkMode]
35475
35567
  );
@@ -35494,10 +35586,10 @@ function DataTableRowImpl({
35494
35586
  {
35495
35587
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35496
35588
  "flex flex-col overflow-hidden",
35497
- alignJustify(_optionalChain([meta, 'optionalAccess', _677 => _677.align])),
35498
- _optionalChain([meta, 'optionalAccess', _678 => _678.width]) || "flex-1 min-w-0",
35499
- _optionalChain([meta, 'optionalAccess', _679 => _679.cellClassName]),
35500
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _680 => _680.hideAt]))
35589
+ alignJustify(_optionalChain([meta, 'optionalAccess', _679 => _679.align])),
35590
+ _optionalChain([meta, 'optionalAccess', _680 => _680.width]) || "flex-1 min-w-0",
35591
+ _optionalChain([meta, 'optionalAccess', _681 => _681.cellClassName]),
35592
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _682 => _682.hideAt]))
35501
35593
  ),
35502
35594
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
35503
35595
  },
@@ -35576,7 +35668,7 @@ function DataTableBody({
35576
35668
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
35577
35669
  rows.map((row, index) => {
35578
35670
  const item = row.original;
35579
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _681 => _681(item)]), () => ( void 0));
35671
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _683 => _683(item)]), () => ( void 0));
35580
35672
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
35581
35673
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35582
35674
  DataTableRow,
@@ -35586,7 +35678,7 @@ function DataTableBody({
35586
35678
  href,
35587
35679
  compact,
35588
35680
  className: cls,
35589
- subRow: _optionalChain([renderSubRow, 'optionalCall', _682 => _682(item)])
35681
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _684 => _684(item)])
35590
35682
  },
35591
35683
  row.id
35592
35684
  );
@@ -35641,7 +35733,7 @@ function DataTableInfiniteFooter({
35641
35733
  if (!sentinel) return;
35642
35734
  const observer = new IntersectionObserver(
35643
35735
  (entries) => {
35644
- if (_optionalChain([entries, 'access', _683 => _683[0], 'optionalAccess', _684 => _684.isIntersecting])) onLoadMoreRef.current();
35736
+ if (_optionalChain([entries, 'access', _685 => _685[0], 'optionalAccess', _686 => _686.isIntersecting])) onLoadMoreRef.current();
35645
35737
  },
35646
35738
  { rootMargin }
35647
35739
  );
@@ -35689,7 +35781,7 @@ function DataTableRowCount({
35689
35781
  const table = useDataTableContext();
35690
35782
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
35691
35783
  if (hideWhenEmpty && count === 0) return null;
35692
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _685 => _685(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
35784
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _687 => _687(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
35693
35785
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35694
35786
  "span",
35695
35787
  {
@@ -35848,7 +35940,7 @@ function SearchInput({
35848
35940
  if (!showHiddenTags) return;
35849
35941
  const handleClick = (e) => {
35850
35942
  const target = e.target;
35851
- if (!_optionalChain([hiddenTagsRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.contains, 'call', _688 => _688(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _689 => _689.current, 'optionalAccess', _690 => _690.contains, 'call', _691 => _691(target)])) {
35943
+ if (!_optionalChain([hiddenTagsRef, 'access', _688 => _688.current, 'optionalAccess', _689 => _689.contains, 'call', _690 => _690(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.contains, 'call', _693 => _693(target)])) {
35852
35944
  setShowHiddenTags(false);
35853
35945
  }
35854
35946
  };
@@ -35896,10 +35988,10 @@ function SearchInput({
35896
35988
  } else {
35897
35989
  setInternalValue("");
35898
35990
  }
35899
- _optionalChain([inputRef, 'access', _692 => _692.current, 'optionalAccess', _693 => _693.focus, 'call', _694 => _694()]);
35991
+ _optionalChain([inputRef, 'access', _694 => _694.current, 'optionalAccess', _695 => _695.focus, 'call', _696 => _696()]);
35900
35992
  };
35901
35993
  const handleResultClick = (result, e) => {
35902
- _optionalChain([onResultSelect, 'optionalCall', _695 => _695(
35994
+ _optionalChain([onResultSelect, 'optionalCall', _697 => _697(
35903
35995
  result,
35904
35996
  e ? {
35905
35997
  metaKey: e.metaKey,
@@ -35931,7 +36023,7 @@ function SearchInput({
35931
36023
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
35932
36024
  handleResultClick(flatResults[highlightedIndex]);
35933
36025
  } else {
35934
- _optionalChain([onSubmit, 'optionalCall', _696 => _696(currentValue)]);
36026
+ _optionalChain([onSubmit, 'optionalCall', _698 => _698(currentValue)]);
35935
36027
  }
35936
36028
  break;
35937
36029
  case "Escape":
@@ -36009,7 +36101,7 @@ function SearchInput({
36009
36101
  dropdownVisible && "!border-ods-accent"
36010
36102
  ),
36011
36103
  onClick: () => {
36012
- _optionalChain([inputRef, 'access', _697 => _697.current, 'optionalAccess', _698 => _698.focus, 'call', _699 => _699()]);
36104
+ _optionalChain([inputRef, 'access', _699 => _699.current, 'optionalAccess', _700 => _700.focus, 'call', _701 => _701()]);
36013
36105
  setIsOpen(true);
36014
36106
  },
36015
36107
  children: [
@@ -36093,10 +36185,10 @@ function SearchInput({
36093
36185
  align: "start",
36094
36186
  onOpenAutoFocus: (e) => {
36095
36187
  e.preventDefault();
36096
- _optionalChain([inputRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.focus, 'call', _702 => _702()]);
36188
+ _optionalChain([inputRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.focus, 'call', _704 => _704()]);
36097
36189
  },
36098
36190
  onInteractOutside: (e) => {
36099
- if (_optionalChain([containerRef, 'access', _703 => _703.current, 'optionalAccess', _704 => _704.contains, 'call', _705 => _705(e.target)])) {
36191
+ if (_optionalChain([containerRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(e.target)])) {
36100
36192
  e.preventDefault();
36101
36193
  }
36102
36194
  },
@@ -36113,10 +36205,10 @@ function SearchInput({
36113
36205
  ref: hiddenTagsPopupRef,
36114
36206
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
36115
36207
  style: {
36116
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _706 => _706.current, 'optionalAccess', _707 => _707.getBoundingClientRect, 'call', _708 => _708(), 'access', _709 => _709.left]), () => ( 0))) : 0
36208
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.getBoundingClientRect, 'call', _710 => _710(), 'access', _711 => _711.left]), () => ( 0))) : 0
36117
36209
  },
36118
36210
  onRemove: (value2) => {
36119
- _optionalChain([onFilterRemove, 'optionalCall', _710 => _710(value2)]);
36211
+ _optionalChain([onFilterRemove, 'optionalCall', _712 => _712(value2)]);
36120
36212
  if (hiddenCount <= 1) setShowHiddenTags(false);
36121
36213
  }
36122
36214
  }
@@ -36167,7 +36259,7 @@ function FilterListItem({
36167
36259
  }) {
36168
36260
  const handleToggle = () => {
36169
36261
  if (disabled) return;
36170
- _optionalChain([onToggle, 'optionalCall', _711 => _711(!selected)]);
36262
+ _optionalChain([onToggle, 'optionalCall', _713 => _713(!selected)]);
36171
36263
  };
36172
36264
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36173
36265
  "div",
@@ -36214,7 +36306,7 @@ function FilterListItem({
36214
36306
  CheckboxPrimitive4.Root,
36215
36307
  {
36216
36308
  checked: selected,
36217
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _712 => _712(c === true)]),
36309
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _714 => _714(c === true)]),
36218
36310
  onClick: (e) => e.stopPropagation(),
36219
36311
  disabled,
36220
36312
  "aria-label": title,
@@ -36313,7 +36405,7 @@ function TagSearchInput({
36313
36405
  if (!showHiddenTags) return;
36314
36406
  const handleClick = (e) => {
36315
36407
  const target = e.target;
36316
- if (!_optionalChain([hiddenTagsRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.contains, 'call', _715 => _715(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.contains, 'call', _718 => _718(target)])) {
36408
+ if (!_optionalChain([hiddenTagsRef, 'access', _715 => _715.current, 'optionalAccess', _716 => _716.contains, 'call', _717 => _717(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _718 => _718.current, 'optionalAccess', _719 => _719.contains, 'call', _720 => _720(target)])) {
36317
36409
  setShowHiddenTags(false);
36318
36410
  }
36319
36411
  };
@@ -36329,13 +36421,13 @@ function TagSearchInput({
36329
36421
  e.preventDefault();
36330
36422
  onSubmit(searchValue);
36331
36423
  }
36332
- _optionalChain([onKeyDown, 'optionalCall', _719 => _719(e)]);
36424
+ _optionalChain([onKeyDown, 'optionalCall', _721 => _721(e)]);
36333
36425
  };
36334
36426
  const handleClearAll = (e) => {
36335
36427
  e.stopPropagation();
36336
36428
  e.preventDefault();
36337
- _optionalChain([onClearAll, 'optionalCall', _720 => _720()]);
36338
- _optionalChain([inputRef, 'access', _721 => _721.current, 'optionalAccess', _722 => _722.focus, 'call', _723 => _723()]);
36429
+ _optionalChain([onClearAll, 'optionalCall', _722 => _722()]);
36430
+ _optionalChain([inputRef, 'access', _723 => _723.current, 'optionalAccess', _724 => _724.focus, 'call', _725 => _725()]);
36339
36431
  };
36340
36432
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
36341
36433
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36352,7 +36444,7 @@ function TagSearchInput({
36352
36444
  className
36353
36445
  ),
36354
36446
  onClick: () => {
36355
- if (!disabled) _optionalChain([inputRef, 'access', _724 => _724.current, 'optionalAccess', _725 => _725.focus, 'call', _726 => _726()]);
36447
+ if (!disabled) _optionalChain([inputRef, 'access', _726 => _726.current, 'optionalAccess', _727 => _727.focus, 'call', _728 => _728()]);
36356
36448
  },
36357
36449
  children: [
36358
36450
  /* @__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" }) }),
@@ -36424,7 +36516,7 @@ function TagSearchInput({
36424
36516
  items: hiddenTags,
36425
36517
  disabled,
36426
36518
  style: {
36427
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _727 => _727.current, 'optionalAccess', _728 => _728.getBoundingClientRect, 'call', _729 => _729(), 'access', _730 => _730.left]), () => ( 0))) : 0
36519
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.getBoundingClientRect, 'call', _731 => _731(), 'access', _732 => _732.left]), () => ( 0))) : 0
36428
36520
  },
36429
36521
  onRemove: (value) => {
36430
36522
  onTagRemove(value);
@@ -36525,7 +36617,7 @@ function MarkdownEditor({
36525
36617
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
36526
36618
  _react.useEffect.call(void 0, () => {
36527
36619
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
36528
- if (_optionalChain([mod, 'access', _731 => _731.commands, 'optionalAccess', _732 => _732.getExtraCommands])) {
36620
+ if (_optionalChain([mod, 'access', _733 => _733.commands, 'optionalAccess', _734 => _734.getExtraCommands])) {
36529
36621
  setDefaultExtraCommands(mod.commands.getExtraCommands());
36530
36622
  }
36531
36623
  });
@@ -36559,7 +36651,7 @@ function MarkdownEditor({
36559
36651
  const isImage = file.type.startsWith("image/");
36560
36652
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
36561
36653
  insertTextAtCursor(markdown);
36562
- _optionalChain([onFileUploaded, 'optionalCall', _733 => _733(url, file.name)]);
36654
+ _optionalChain([onFileUploaded, 'optionalCall', _735 => _735(url, file.name)]);
36563
36655
  } catch (error) {
36564
36656
  console.error("File upload failed:", error);
36565
36657
  setUploadProgress("Upload failed. Please try again.");
@@ -36572,7 +36664,7 @@ function MarkdownEditor({
36572
36664
  );
36573
36665
  const handleFileInputChange = _react.useCallback.call(void 0,
36574
36666
  (e) => {
36575
- const file = _optionalChain([e, 'access', _734 => _734.target, 'access', _735 => _735.files, 'optionalAccess', _736 => _736[0]]);
36667
+ const file = _optionalChain([e, 'access', _736 => _736.target, 'access', _737 => _737.files, 'optionalAccess', _738 => _738[0]]);
36576
36668
  if (file) {
36577
36669
  handleFileUpload(file);
36578
36670
  e.target.value = "";
@@ -36583,7 +36675,7 @@ function MarkdownEditor({
36583
36675
  const handlePaste = _react.useCallback.call(void 0,
36584
36676
  (e) => {
36585
36677
  if (!onUploadFile) return;
36586
- const items = _optionalChain([e, 'access', _737 => _737.clipboardData, 'optionalAccess', _738 => _738.items]);
36678
+ const items = _optionalChain([e, 'access', _739 => _739.clipboardData, 'optionalAccess', _740 => _740.items]);
36587
36679
  if (!items) return;
36588
36680
  for (const item of items) {
36589
36681
  if (item.type.startsWith("image/")) {
@@ -36608,7 +36700,7 @@ function MarkdownEditor({
36608
36700
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
36609
36701
  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" }),
36610
36702
  execute: () => {
36611
- _optionalChain([fileInputRef, 'access', _739 => _739.current, 'optionalAccess', _740 => _740.click, 'call', _741 => _741()]);
36703
+ _optionalChain([fileInputRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.click, 'call', _743 => _743()]);
36612
36704
  }
36613
36705
  } : null;
36614
36706
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -36620,7 +36712,7 @@ function MarkdownEditor({
36620
36712
  const EDGE_ZONE = 60;
36621
36713
  const MAX_SCROLL_SPEED = 15;
36622
36714
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
36623
- let node = _optionalChain([el, 'optionalAccess', _742 => _742.parentElement]);
36715
+ let node = _optionalChain([el, 'optionalAccess', _744 => _744.parentElement]);
36624
36716
  while (node && node !== document.documentElement) {
36625
36717
  const { overflowY } = window.getComputedStyle(node);
36626
36718
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -36763,7 +36855,7 @@ function matchesAccept(file, accept) {
36763
36855
  });
36764
36856
  }
36765
36857
  function dragHasFiles(e) {
36766
- const types = _optionalChain([e, 'access', _743 => _743.dataTransfer, 'optionalAccess', _744 => _744.types]);
36858
+ const types = _optionalChain([e, 'access', _745 => _745.dataTransfer, 'optionalAccess', _746 => _746.types]);
36767
36859
  if (!types) return false;
36768
36860
  for (let i = 0; i < types.length; i++) {
36769
36861
  if (types[i] === "Files") return true;
@@ -36858,7 +36950,7 @@ function FileUpload({
36858
36950
  e.stopPropagation();
36859
36951
  setDragActive(false);
36860
36952
  if (disabled) return;
36861
- if (_optionalChain([e, 'access', _745 => _745.dataTransfer, 'access', _746 => _746.files, 'optionalAccess', _747 => _747.length])) {
36953
+ if (_optionalChain([e, 'access', _747 => _747.dataTransfer, 'access', _748 => _748.files, 'optionalAccess', _749 => _749.length])) {
36862
36954
  handleFiles(e.dataTransfer.files);
36863
36955
  }
36864
36956
  };
@@ -36886,7 +36978,7 @@ function FileUpload({
36886
36978
  e.preventDefault();
36887
36979
  dragCounter = 0;
36888
36980
  setDragActive(false);
36889
- if (_optionalChain([e, 'access', _748 => _748.dataTransfer, 'optionalAccess', _749 => _749.files, 'optionalAccess', _750 => _750.length])) {
36981
+ if (_optionalChain([e, 'access', _750 => _750.dataTransfer, 'optionalAccess', _751 => _751.files, 'optionalAccess', _752 => _752.length])) {
36890
36982
  handleFilesRef.current(e.dataTransfer.files);
36891
36983
  }
36892
36984
  };
@@ -36908,7 +37000,7 @@ function FileUpload({
36908
37000
  };
36909
37001
  }, [acceptWindowDrops, disabled]);
36910
37002
  const handleFileSelect = (e) => {
36911
- if (_optionalChain([e, 'access', _751 => _751.target, 'access', _752 => _752.files, 'optionalAccess', _753 => _753.length])) {
37003
+ if (_optionalChain([e, 'access', _753 => _753.target, 'access', _754 => _754.files, 'optionalAccess', _755 => _755.length])) {
36912
37004
  handleFiles(e.target.files);
36913
37005
  }
36914
37006
  };
@@ -36925,7 +37017,7 @@ function FileUpload({
36925
37017
  };
36926
37018
  const openDialog = async () => {
36927
37019
  if (disabled) return;
36928
- _optionalChain([fileInputRef, 'access', _754 => _754.current, 'optionalAccess', _755 => _755.click, 'call', _756 => _756()]);
37020
+ _optionalChain([fileInputRef, 'access', _756 => _756.current, 'optionalAccess', _757 => _757.click, 'call', _758 => _758()]);
36929
37021
  };
36930
37022
  const displayError = error || validationError || void 0;
36931
37023
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -37003,7 +37095,7 @@ function FileUpload({
37003
37095
  "button",
37004
37096
  {
37005
37097
  type: "button",
37006
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _757 => _757(entry.id)]),
37098
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _759 => _759(entry.id)]),
37007
37099
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
37008
37100
  "aria-label": `Remove ${entry.fileName}`,
37009
37101
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -37126,7 +37218,7 @@ function ImageUploader({
37126
37218
  onChange(file);
37127
37219
  };
37128
37220
  const handleFileSelect = (e) => {
37129
- validateAndEmit(_optionalChain([e, 'access', _758 => _758.target, 'access', _759 => _759.files, 'optionalAccess', _760 => _760[0]]));
37221
+ validateAndEmit(_optionalChain([e, 'access', _760 => _760.target, 'access', _761 => _761.files, 'optionalAccess', _762 => _762[0]]));
37130
37222
  if (inputRef.current) inputRef.current.value = "";
37131
37223
  };
37132
37224
  const handleDrag = (e) => {
@@ -37141,11 +37233,11 @@ function ImageUploader({
37141
37233
  e.stopPropagation();
37142
37234
  setDragActive(false);
37143
37235
  if (!interactive) return;
37144
- validateAndEmit(_optionalChain([e, 'access', _761 => _761.dataTransfer, 'access', _762 => _762.files, 'optionalAccess', _763 => _763[0]]));
37236
+ validateAndEmit(_optionalChain([e, 'access', _763 => _763.dataTransfer, 'access', _764 => _764.files, 'optionalAccess', _765 => _765[0]]));
37145
37237
  };
37146
37238
  const openDialog = () => {
37147
37239
  if (!interactive) return;
37148
- _optionalChain([inputRef, 'access', _764 => _764.current, 'optionalAccess', _765 => _765.click, 'call', _766 => _766()]);
37240
+ _optionalChain([inputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.click, 'call', _768 => _768()]);
37149
37241
  };
37150
37242
  const handleRootKeyDown = (e) => {
37151
37243
  if (hasImage || !interactive) return;
@@ -37335,8 +37427,8 @@ function ColorPresetSelect({
37335
37427
  }) {
37336
37428
  const selectedPreset = presets.find((p) => p.key === presetKey);
37337
37429
  const isCustom = !selectedPreset;
37338
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _767 => _767.label]), () => ( "Custom"));
37339
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _768 => _768.color]), () => ( value));
37430
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _769 => _769.label]), () => ( "Custom"));
37431
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _770 => _770.color]), () => ( value));
37340
37432
  const groups = [
37341
37433
  {
37342
37434
  items: [
@@ -37626,7 +37718,7 @@ function TicketStatusConfigRow({
37626
37718
  _chunkFQOTC3UUcjs.Input,
37627
37719
  {
37628
37720
  value: name,
37629
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _769 => _769(e.target.value)]),
37721
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _771 => _771(e.target.value)]),
37630
37722
  disabled: isSystem,
37631
37723
  readOnly: isSystem,
37632
37724
  "aria-label": "Status name",
@@ -37709,7 +37801,7 @@ function CompactAssigneeDropdown({
37709
37801
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
37710
37802
  }, [filtered, currentAssignee]);
37711
37803
  const handleSelect = (userId) => {
37712
- const next = _optionalChain([currentAssignee, 'optionalAccess', _770 => _770.id]) === userId ? null : userId;
37804
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _772 => _772.id]) === userId ? null : userId;
37713
37805
  onAssign(next);
37714
37806
  setIsOpen(false);
37715
37807
  };
@@ -37774,7 +37866,7 @@ function CompactAssigneeDropdown({
37774
37866
  }
37775
37867
  ) }),
37776
37868
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
37777
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _771 => _771.id]) === opt.value;
37869
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _773 => _773.id]) === opt.value;
37778
37870
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37779
37871
  "button",
37780
37872
  {
@@ -37843,7 +37935,7 @@ function DefaultAssigneeDropdown({
37843
37935
  Autocomplete,
37844
37936
  {
37845
37937
  options,
37846
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _772 => _772.id]), () => ( null)),
37938
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _774 => _774.id]), () => ( null)),
37847
37939
  onChange: (val) => {
37848
37940
  onAssign(val);
37849
37941
  setIsEditing(false);
@@ -38232,14 +38324,14 @@ function TicketInfoSection({
38232
38324
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38233
38325
  SquareAvatar,
38234
38326
  {
38235
- src: _optionalChain([organization, 'optionalAccess', _773 => _773.imageSrc]),
38236
- alt: _optionalChain([organization, 'optionalAccess', _774 => _774.name]),
38237
- fallback: _optionalChain([organization, 'optionalAccess', _775 => _775.name]) || "Org",
38327
+ src: _optionalChain([organization, 'optionalAccess', _775 => _775.imageSrc]),
38328
+ alt: _optionalChain([organization, 'optionalAccess', _776 => _776.name]),
38329
+ fallback: _optionalChain([organization, 'optionalAccess', _777 => _777.name]) || "Org",
38238
38330
  size: "md",
38239
38331
  className: "shrink-0"
38240
38332
  }
38241
38333
  ),
38242
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _776 => _776.name]) || "Unassigned", label: "Organization" })
38334
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _778 => _778.name]) || "Unassigned", label: "Organization" })
38243
38335
  ] }),
38244
38336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38245
38337
  AssigneeDropdown,
@@ -38260,10 +38352,10 @@ function TicketInfoSection({
38260
38352
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38261
38353
  InfoCell2,
38262
38354
  {
38263
- value: _optionalChain([device, 'optionalAccess', _777 => _777.name]) || "Unassigned",
38355
+ value: _optionalChain([device, 'optionalAccess', _779 => _779.name]) || "Unassigned",
38264
38356
  label: "Device",
38265
- icon: _optionalChain([device, 'optionalAccess', _778 => _778.icon]),
38266
- onClick: _optionalChain([device, 'optionalAccess', _779 => _779.onClick])
38357
+ icon: _optionalChain([device, 'optionalAccess', _780 => _780.icon]),
38358
+ onClick: _optionalChain([device, 'optionalAccess', _781 => _781.onClick])
38267
38359
  }
38268
38360
  ),
38269
38361
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -38593,7 +38685,7 @@ function RoadmapCard({
38593
38685
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
38594
38686
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
38595
38687
  const hasFigma = !!item.figmaUrl;
38596
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _780 => _780.screenshots, 'optionalAccess', _781 => _781.length]), () => ( 0))) > 0;
38688
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _782 => _782.screenshots, 'optionalAccess', _783 => _783.length]), () => ( 0))) > 0;
38597
38689
  const typeLabel = getTaskTypeLabel(item.customItemId);
38598
38690
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
38599
38691
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -38612,7 +38704,7 @@ function RoadmapCard({
38612
38704
  unoptimized: true,
38613
38705
  className: "h-8 w-8 object-contain"
38614
38706
  }
38615
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _782 => _782.title, 'optionalAccess', _783 => _783.substring, 'call', _784 => _784(0, 2)]) || "??" })
38707
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _784 => _784.title, 'optionalAccess', _785 => _785.substring, 'call', _786 => _786(0, 2)]) || "??" })
38616
38708
  }
38617
38709
  ),
38618
38710
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -38687,7 +38779,7 @@ function RoadmapCard({
38687
38779
  unoptimized: true,
38688
38780
  className: "object-contain p-1"
38689
38781
  }
38690
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _785 => _785.title, 'optionalAccess', _786 => _786.substring, 'call', _787 => _787(0, 2)]) || "??" }) }),
38782
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _787 => _787.title, 'optionalAccess', _788 => _788.substring, 'call', _789 => _789(0, 2)]) || "??" }) }),
38691
38783
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
38692
38784
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
38693
38785
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
@@ -39197,7 +39289,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
39197
39289
  ] }) : null,
39198
39290
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
39199
39291
  ] }),
39200
- _optionalChain([anchorProps, 'optionalAccess', _788 => _788.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
39292
+ _optionalChain([anchorProps, 'optionalAccess', _790 => _790.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
39201
39293
  ] });
39202
39294
  if (!anchorProps) {
39203
39295
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -39267,7 +39359,7 @@ function getDefaultOptions() {
39267
39359
  // node_modules/date-fns/startOfWeek.mjs
39268
39360
  function startOfWeek(date, options) {
39269
39361
  const defaultOptions2 = getDefaultOptions();
39270
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _789 => _789.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _790 => _790.locale, 'optionalAccess', _791 => _791.options, 'optionalAccess', _792 => _792.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _793 => _793.locale, 'optionalAccess', _794 => _794.options, 'optionalAccess', _795 => _795.weekStartsOn]))), () => ( 0));
39362
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _791 => _791.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _792 => _792.locale, 'optionalAccess', _793 => _793.options, 'optionalAccess', _794 => _794.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _795 => _795.locale, 'optionalAccess', _796 => _796.options, 'optionalAccess', _797 => _797.weekStartsOn]))), () => ( 0));
39271
39363
  const _date = toDate(date);
39272
39364
  const day = _date.getDay();
39273
39365
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -39442,7 +39534,7 @@ var formatDistance = (token, count, options) => {
39442
39534
  } else {
39443
39535
  result = tokenValue.other.replace("{{count}}", count.toString());
39444
39536
  }
39445
- if (_optionalChain([options, 'optionalAccess', _796 => _796.addSuffix])) {
39537
+ if (_optionalChain([options, 'optionalAccess', _798 => _798.addSuffix])) {
39446
39538
  if (options.comparison && options.comparison > 0) {
39447
39539
  return "in " + result;
39448
39540
  } else {
@@ -39509,15 +39601,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
39509
39601
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
39510
39602
  function buildLocalizeFn(args) {
39511
39603
  return (value, options) => {
39512
- const context = _optionalChain([options, 'optionalAccess', _797 => _797.context]) ? String(options.context) : "standalone";
39604
+ const context = _optionalChain([options, 'optionalAccess', _799 => _799.context]) ? String(options.context) : "standalone";
39513
39605
  let valuesArray;
39514
39606
  if (context === "formatting" && args.formattingValues) {
39515
39607
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
39516
- const width = _optionalChain([options, 'optionalAccess', _798 => _798.width]) ? String(options.width) : defaultWidth;
39608
+ const width = _optionalChain([options, 'optionalAccess', _800 => _800.width]) ? String(options.width) : defaultWidth;
39517
39609
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
39518
39610
  } else {
39519
39611
  const defaultWidth = args.defaultWidth;
39520
- const width = _optionalChain([options, 'optionalAccess', _799 => _799.width]) ? String(options.width) : args.defaultWidth;
39612
+ const width = _optionalChain([options, 'optionalAccess', _801 => _801.width]) ? String(options.width) : args.defaultWidth;
39521
39613
  valuesArray = args.values[width] || args.values[defaultWidth];
39522
39614
  }
39523
39615
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -39897,7 +39989,7 @@ function getWeekYear(date, options) {
39897
39989
  const _date = toDate(date);
39898
39990
  const year = _date.getFullYear();
39899
39991
  const defaultOptions2 = getDefaultOptions();
39900
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _800 => _800.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _801 => _801.locale, 'optionalAccess', _802 => _802.options, 'optionalAccess', _803 => _803.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _804 => _804.locale, 'optionalAccess', _805 => _805.options, 'optionalAccess', _806 => _806.firstWeekContainsDate]))), () => ( 1));
39992
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _802 => _802.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _803 => _803.locale, 'optionalAccess', _804 => _804.options, 'optionalAccess', _805 => _805.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _806 => _806.locale, 'optionalAccess', _807 => _807.options, 'optionalAccess', _808 => _808.firstWeekContainsDate]))), () => ( 1));
39901
39993
  const firstWeekOfNextYear = constructFrom(date, 0);
39902
39994
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
39903
39995
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -39918,7 +40010,7 @@ function getWeekYear(date, options) {
39918
40010
  // node_modules/date-fns/startOfWeekYear.mjs
39919
40011
  function startOfWeekYear(date, options) {
39920
40012
  const defaultOptions2 = getDefaultOptions();
39921
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _807 => _807.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _808 => _808.locale, 'optionalAccess', _809 => _809.options, 'optionalAccess', _810 => _810.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _811 => _811.locale, 'optionalAccess', _812 => _812.options, 'optionalAccess', _813 => _813.firstWeekContainsDate]))), () => ( 1));
40013
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _809 => _809.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _810 => _810.locale, 'optionalAccess', _811 => _811.options, 'optionalAccess', _812 => _812.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _813 => _813.locale, 'optionalAccess', _814 => _814.options, 'optionalAccess', _815 => _815.firstWeekContainsDate]))), () => ( 1));
39922
40014
  const year = getWeekYear(date, options);
39923
40015
  const firstWeek = constructFrom(date, 0);
39924
40016
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -40733,9 +40825,9 @@ var doubleQuoteRegExp = /''/g;
40733
40825
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
40734
40826
  function format(date, formatStr, options) {
40735
40827
  const defaultOptions2 = getDefaultOptions();
40736
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _814 => _814.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
40737
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _815 => _815.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _816 => _816.locale, 'optionalAccess', _817 => _817.options, 'optionalAccess', _818 => _818.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _819 => _819.locale, 'optionalAccess', _820 => _820.options, 'optionalAccess', _821 => _821.firstWeekContainsDate]))), () => ( 1));
40738
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _822 => _822.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _823 => _823.locale, 'optionalAccess', _824 => _824.options, 'optionalAccess', _825 => _825.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _826 => _826.locale, 'optionalAccess', _827 => _827.options, 'optionalAccess', _828 => _828.weekStartsOn]))), () => ( 0));
40828
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _816 => _816.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
40829
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _817 => _817.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _818 => _818.locale, 'optionalAccess', _819 => _819.options, 'optionalAccess', _820 => _820.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _821 => _821.locale, 'optionalAccess', _822 => _822.options, 'optionalAccess', _823 => _823.firstWeekContainsDate]))), () => ( 1));
40830
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _824 => _824.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _825 => _825.locale, 'optionalAccess', _826 => _826.options, 'optionalAccess', _827 => _827.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _828 => _828.locale, 'optionalAccess', _829 => _829.options, 'optionalAccess', _830 => _830.weekStartsOn]))), () => ( 0));
40739
40831
  const originalDate = toDate(date);
40740
40832
  if (!isValid(originalDate)) {
40741
40833
  throw new RangeError("Invalid time value");
@@ -40776,7 +40868,7 @@ function format(date, formatStr, options) {
40776
40868
  return parts.map((part) => {
40777
40869
  if (!part.isToken) return part.value;
40778
40870
  const token = part.value;
40779
- if (!_optionalChain([options, 'optionalAccess', _829 => _829.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _830 => _830.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
40871
+ if (!_optionalChain([options, 'optionalAccess', _831 => _831.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _832 => _832.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
40780
40872
  warnOrThrowProtectedError(token, formatStr, String(date));
40781
40873
  }
40782
40874
  const formatter = formatters[token[0]];
@@ -40954,7 +41046,7 @@ function ProgramCard({
40954
41046
  const dur = formatDurationFromRange(w.start_at, w.end_at);
40955
41047
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
40956
41048
  }
40957
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _831 => _831.labels, 'optionalAccess', _832 => _832.singular])].filter(
41049
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _833 => _833.labels, 'optionalAccess', _834 => _834.singular])].filter(
40958
41050
  (s) => typeof s === "string" && s.length > 0
40959
41051
  );
40960
41052
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -41111,7 +41203,7 @@ function ProgramCard({
41111
41203
 
41112
41204
 
41113
41205
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
41114
- const goalsCount = _optionalChain([campaign, 'access', _833 => _833.goals, 'optionalAccess', _834 => _834.length]) || 0;
41206
+ const goalsCount = _optionalChain([campaign, 'access', _835 => _835.goals, 'optionalAccess', _836 => _836.length]) || 0;
41115
41207
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
41116
41208
  /* @__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" }) }),
41117
41209
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41273,7 +41365,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
41273
41365
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
41274
41366
  const safePath = sanitizePath(row.path);
41275
41367
  if (safePath) {
41276
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _835 => _835.docPlatformTargets, 'optionalAccess', _836 => _836[row.documentType]]) : void 0;
41368
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _837 => _837.docPlatformTargets, 'optionalAccess', _838 => _838[row.documentType]]) : void 0;
41277
41369
  if (docTarget) {
41278
41370
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
41279
41371
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -41488,8 +41580,8 @@ function cardMenuGroups(href, discuss, openDetails) {
41488
41580
  if (href) {
41489
41581
  items.push({
41490
41582
  id: "open-details",
41491
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _837 => _837.label]), () => ( "Open Details")),
41492
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _838 => _838.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.EyeIcon, { size: 20 }))),
41583
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _839 => _839.label]), () => ( "Open Details")),
41584
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _840 => _840.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.EyeIcon, { size: 20 }))),
41493
41585
  // Main row → open the entity (same tab, soft Link nav).
41494
41586
  href,
41495
41587
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -41519,8 +41611,8 @@ function HubspotTicketChatCard({
41519
41611
  isNewTab,
41520
41612
  discuss
41521
41613
  }) {
41522
- const status = typeof _optionalChain([chatRef, 'access', _839 => _839.metadata, 'optionalAccess', _840 => _840.status]) === "string" ? chatRef.metadata.status : void 0;
41523
- const statusLabel = typeof _optionalChain([chatRef, 'access', _841 => _841.metadata, 'optionalAccess', _842 => _842.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
41614
+ const status = typeof _optionalChain([chatRef, 'access', _841 => _841.metadata, 'optionalAccess', _842 => _842.status]) === "string" ? chatRef.metadata.status : void 0;
41615
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _843 => _843.metadata, 'optionalAccess', _844 => _844.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
41524
41616
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
41525
41617
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41526
41618
  MingoInfoCard,
@@ -41543,7 +41635,7 @@ function FaqChatCard({
41543
41635
  isNewTab,
41544
41636
  discuss
41545
41637
  }) {
41546
- const section = typeof _optionalChain([chatRef, 'access', _843 => _843.metadata, 'optionalAccess', _844 => _844.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
41638
+ const section = typeof _optionalChain([chatRef, 'access', _845 => _845.metadata, 'optionalAccess', _846 => _846.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
41547
41639
  const statusLabel = section && section.length > 0 ? section : "FAQ";
41548
41640
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41549
41641
  MingoInfoCard,
@@ -41563,7 +41655,7 @@ function SlackChatCard({
41563
41655
  isNewTab,
41564
41656
  discuss
41565
41657
  }) {
41566
- const channelName = typeof _optionalChain([chatRef, 'access', _845 => _845.metadata, 'optionalAccess', _846 => _846.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
41658
+ const channelName = typeof _optionalChain([chatRef, 'access', _847 => _847.metadata, 'optionalAccess', _848 => _848.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
41567
41659
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
41568
41660
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
41569
41661
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -41603,7 +41695,7 @@ function GenericFinancialChatCard({
41603
41695
  isNewTab,
41604
41696
  discuss
41605
41697
  }) {
41606
- const subtitle = typeof _optionalChain([chatRef, 'access', _847 => _847.metadata, 'optionalAccess', _848 => _848.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
41698
+ const subtitle = typeof _optionalChain([chatRef, 'access', _849 => _849.metadata, 'optionalAccess', _850 => _850.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
41607
41699
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41608
41700
  MingoInfoCard,
41609
41701
  {
@@ -41672,12 +41764,12 @@ function ProductReleaseChatCard({
41672
41764
  discuss
41673
41765
  }) {
41674
41766
  const releaseProps = buildProps(item);
41675
- const status = _optionalChain([item, 'optionalAccess', _849 => _849.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
41767
+ const status = _optionalChain([item, 'optionalAccess', _851 => _851.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
41676
41768
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41677
41769
  EntityMingoCard,
41678
41770
  {
41679
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _850 => _850.title]), () => ( "")),
41680
- description: _optionalChain([item, 'optionalAccess', _851 => _851.summary]) || releaseProps.formattedDate || void 0,
41771
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _852 => _852.title]), () => ( "")),
41772
+ description: _optionalChain([item, 'optionalAccess', _853 => _853.summary]) || releaseProps.formattedDate || void 0,
41681
41773
  cover: releaseProps.coverImage || void 0,
41682
41774
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Rocket02Icon, { size: 24 }),
41683
41775
  status,
@@ -41694,17 +41786,17 @@ function CampaignChatCard({
41694
41786
  isNewTab,
41695
41787
  discuss
41696
41788
  }) {
41697
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _852 => _852.goals])) ? item.goals.length : 0;
41789
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _854 => _854.goals])) ? item.goals.length : 0;
41698
41790
  const meta = [
41699
- _optionalChain([item, 'optionalAccess', _853 => _853.start_date]) ? formatDateShort(item.start_date) : null,
41791
+ _optionalChain([item, 'optionalAccess', _855 => _855.start_date]) ? formatDateShort(item.start_date) : null,
41700
41792
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
41701
41793
  "Marketing campaign"
41702
41794
  ].filter(Boolean).join(" \xB7 ");
41703
41795
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41704
41796
  EntityMingoCard,
41705
41797
  {
41706
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _854 => _854.name]), () => ( "")),
41707
- description: meta || _optionalChain([item, 'optionalAccess', _855 => _855.description]) || void 0,
41798
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _856 => _856.name]), () => ( "")),
41799
+ description: meta || _optionalChain([item, 'optionalAccess', _857 => _857.description]) || void 0,
41708
41800
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Megaphone01Icon, { size: 24 }),
41709
41801
  chatRef,
41710
41802
  isNewTab,
@@ -41757,14 +41849,14 @@ function BlogChatCard({
41757
41849
  hasEmbeddedVideo,
41758
41850
  discuss
41759
41851
  }) {
41760
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _856 => _856.categories])) ? _optionalChain([item, 'access', _857 => _857.categories, 'access', _858 => _858.find, 'call', _859 => _859((c) => c && c.name), 'optionalAccess', _860 => _860.name]) : void 0;
41852
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _858 => _858.categories])) ? _optionalChain([item, 'access', _859 => _859.categories, 'access', _860 => _860.find, 'call', _861 => _861((c) => c && c.name), 'optionalAccess', _862 => _862.name]) : void 0;
41761
41853
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
41762
41854
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41763
41855
  EntityMingoCard,
41764
41856
  {
41765
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _861 => _861.title]), () => ( "")),
41766
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _862 => _862.summary]), () => ( void 0)),
41767
- cover: entityCover(_optionalChain([item, 'optionalAccess', _863 => _863.featured_image]), ogPlaceholder),
41857
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _863 => _863.title]), () => ( "")),
41858
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _864 => _864.summary]), () => ( void 0)),
41859
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _865 => _865.featured_image]), ogPlaceholder),
41768
41860
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.NewspaperIcon, { size: 24 }),
41769
41861
  status,
41770
41862
  chatRef,
@@ -41781,13 +41873,13 @@ function CaseStudyChatCard({
41781
41873
  ogPlaceholder,
41782
41874
  discuss
41783
41875
  }) {
41784
- const meta = [_optionalChain([item, 'optionalAccess', _864 => _864.msp, 'optionalAccess', _865 => _865.name]), _optionalChain([item, 'optionalAccess', _866 => _866.user, 'optionalAccess', _867 => _867.full_name])].filter(Boolean).join(" \xB7 ");
41876
+ const meta = [_optionalChain([item, 'optionalAccess', _866 => _866.msp, 'optionalAccess', _867 => _867.name]), _optionalChain([item, 'optionalAccess', _868 => _868.user, 'optionalAccess', _869 => _869.full_name])].filter(Boolean).join(" \xB7 ");
41785
41877
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41786
41878
  EntityMingoCard,
41787
41879
  {
41788
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _868 => _868.title]), () => ( "")),
41789
- description: _optionalChain([item, 'optionalAccess', _869 => _869.summary]) || meta || void 0,
41790
- cover: entityCover(_optionalChain([item, 'optionalAccess', _870 => _870.featured_image]), ogPlaceholder),
41880
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.title]), () => ( "")),
41881
+ description: _optionalChain([item, 'optionalAccess', _871 => _871.summary]) || meta || void 0,
41882
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _872 => _872.featured_image]), ogPlaceholder),
41791
41883
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.TrophyIcon, { size: 24 }),
41792
41884
  status: { label: "Case study", variant: "grey" },
41793
41885
  chatRef,
@@ -41804,13 +41896,13 @@ function CustomerInterviewChatCard({
41804
41896
  ogPlaceholder,
41805
41897
  discuss
41806
41898
  }) {
41807
- const meta = [_optionalChain([item, 'optionalAccess', _871 => _871.user, 'optionalAccess', _872 => _872.full_name]), _optionalChain([item, 'optionalAccess', _873 => _873.msp, 'optionalAccess', _874 => _874.name])].filter(Boolean).join(" \xB7 ");
41899
+ const meta = [_optionalChain([item, 'optionalAccess', _873 => _873.user, 'optionalAccess', _874 => _874.full_name]), _optionalChain([item, 'optionalAccess', _875 => _875.msp, 'optionalAccess', _876 => _876.name])].filter(Boolean).join(" \xB7 ");
41808
41900
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41809
41901
  EntityMingoCard,
41810
41902
  {
41811
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _875 => _875.title]), () => ( "")),
41812
- description: _optionalChain([item, 'optionalAccess', _876 => _876.video_summary]) || meta || void 0,
41813
- cover: entityCover(_optionalChain([item, 'optionalAccess', _877 => _877.featured_image]), ogPlaceholder),
41903
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _877 => _877.title]), () => ( "")),
41904
+ description: _optionalChain([item, 'optionalAccess', _878 => _878.video_summary]) || meta || void 0,
41905
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _879 => _879.featured_image]), ogPlaceholder),
41814
41906
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MicrophoneIcon, { size: 24 }),
41815
41907
  status: { label: "Interview", variant: "grey" },
41816
41908
  chatRef,
@@ -41827,13 +41919,13 @@ function InvestorUpdateChatCard({
41827
41919
  ogPlaceholder,
41828
41920
  discuss
41829
41921
  }) {
41830
- const title = _optionalChain([item, 'optionalAccess', _878 => _878.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _879 => _879.update_number]), () => ( "?"))}`;
41922
+ const title = _optionalChain([item, 'optionalAccess', _880 => _880.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _881 => _881.update_number]), () => ( "?"))}`;
41831
41923
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41832
41924
  EntityMingoCard,
41833
41925
  {
41834
41926
  title,
41835
- description: _optionalChain([item, 'optionalAccess', _880 => _880.strategic_update]) || _optionalChain([item, 'optionalAccess', _881 => _881.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _882 => _882.period_start]), _optionalChain([item, 'optionalAccess', _883 => _883.period_end])) || void 0,
41836
- cover: entityCover(_optionalChain([item, 'optionalAccess', _884 => _884.featured_image]), ogPlaceholder),
41927
+ description: _optionalChain([item, 'optionalAccess', _882 => _882.strategic_update]) || _optionalChain([item, 'optionalAccess', _883 => _883.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _884 => _884.period_start]), _optionalChain([item, 'optionalAccess', _885 => _885.period_end])) || void 0,
41928
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _886 => _886.featured_image]), ogPlaceholder),
41837
41929
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.PresentationLineIcon, { size: 24 }),
41838
41930
  status: { label: "Investor update", variant: "grey" },
41839
41931
  chatRef,
@@ -41850,12 +41942,12 @@ function OnboardingGuideChatCard({
41850
41942
  ogPlaceholder,
41851
41943
  discuss
41852
41944
  }) {
41853
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _885 => _885.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _886 => _886.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _887 => _887.og_image_url]), ogPlaceholder)));
41945
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _887 => _887.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _888 => _888.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _889 => _889.og_image_url]), ogPlaceholder)));
41854
41946
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41855
41947
  EntityMingoCard,
41856
41948
  {
41857
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _888 => _888.title]), () => ( "")),
41858
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _889 => _889.summary]), () => ( _optionalChain([item, 'optionalAccess', _890 => _890.description]))), () => ( void 0)),
41949
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _890 => _890.title]), () => ( "")),
41950
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.summary]), () => ( _optionalChain([item, 'optionalAccess', _892 => _892.description]))), () => ( void 0)),
41859
41951
  cover,
41860
41952
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CompassIcon, { size: 24 }),
41861
41953
  status: { label: "Guide", variant: "grey" },
@@ -41876,25 +41968,25 @@ function ProgramChatCard({
41876
41968
  discuss
41877
41969
  }) {
41878
41970
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MicrophoneIcon, { size: 24 });
41879
- const isScheduled = _optionalChain([item, 'optionalAccess', _891 => _891.status]) === "scheduled";
41971
+ const isScheduled = _optionalChain([item, 'optionalAccess', _893 => _893.status]) === "scheduled";
41880
41972
  let typeMeta;
41881
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _892 => _892.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
41973
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _894 => _894.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
41882
41974
  typeMeta = formatDurationCompact(item.duration_seconds);
41883
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _893 => _893.location_name]) === "string" && item.location_name.trim().length > 0) {
41975
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _895 => _895.location_name]) === "string" && item.location_name.trim().length > 0) {
41884
41976
  typeMeta = item.location_name;
41885
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _894 => _894.start_at])) {
41977
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _896 => _896.start_at])) {
41886
41978
  const time = formatTimeWithTimezone(item.start_at, null);
41887
41979
  const dur = formatDurationFromRange(item.start_at, item.end_at);
41888
41980
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
41889
41981
  }
41890
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _895 => _895.date]), () => ( null)), { fallback: "", timezone: "local" });
41982
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _897 => _897.date]), () => ( null)), { fallback: "", timezone: "local" });
41891
41983
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
41892
41984
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41893
41985
  EntityMingoCard,
41894
41986
  {
41895
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _896 => _896.title]), () => ( "")),
41896
- description: meta || _optionalChain([item, 'optionalAccess', _897 => _897.description]) || void 0,
41897
- cover: entityCover(_optionalChain([item, 'optionalAccess', _898 => _898.cover_url]), ogPlaceholder),
41987
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _898 => _898.title]), () => ( "")),
41988
+ description: meta || _optionalChain([item, 'optionalAccess', _899 => _899.description]) || void 0,
41989
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.cover_url]), ogPlaceholder),
41898
41990
  fallbackIcon: icon,
41899
41991
  status: { label, variant: "grey" },
41900
41992
  chatRef,
@@ -41911,10 +42003,10 @@ function RoadmapChatCard({
41911
42003
  cardType,
41912
42004
  discuss
41913
42005
  }) {
41914
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _899 => _899.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
41915
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _900 => _900.customItemId]) != null;
42006
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _901 => _901.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42007
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _902 => _902.customItemId]) != null;
41916
42008
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MapIcon, { size: 24 });
41917
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _901 => _901.customItemId]), className: "size-6" }) : logoUrl ? (
42009
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _903 => _903.customItemId]), className: "size-6" }) : logoUrl ? (
41918
42010
  // Contained (not full-bleed) so the integration logo keeps its aspect
41919
42011
  // ratio inside the bordered icon box — matches RoadmapCard.
41920
42012
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -41922,10 +42014,10 @@ function RoadmapChatCard({
41922
42014
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41923
42015
  EntityMingoCard,
41924
42016
  {
41925
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _902 => _902.title]), () => ( "")),
41926
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _903 => _903.description]), () => ( void 0)),
42017
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
42018
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.description]), () => ( void 0)),
41927
42019
  fallbackIcon: icon,
41928
- status: statusPill(_optionalChain([item, 'optionalAccess', _904 => _904.status])),
42020
+ status: statusPill(_optionalChain([item, 'optionalAccess', _906 => _906.status])),
41929
42021
  chatRef,
41930
42022
  isNewTab,
41931
42023
  discuss,
@@ -42011,7 +42103,7 @@ function programRegistryEntries() {
42011
42103
  discuss: opts.discuss,
42012
42104
  configKey: cfg.configKey,
42013
42105
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
42014
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _905 => _905.extras, 'optionalAccess', _906 => _906.buildOgPlaceholderUrl, 'optionalCall', _907 => _907(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _908 => _908.title]), () => ( "")))]), () => ( null))
42106
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _907 => _907.extras, 'optionalAccess', _908 => _908.buildOgPlaceholderUrl, 'optionalCall', _909 => _909(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _910 => _910.title]), () => ( "")))]), () => ( null))
42015
42107
  }
42016
42108
  )
42017
42109
  };
@@ -42163,8 +42255,8 @@ var CHAT_CARD_REGISTRY = {
42163
42255
  chatRef,
42164
42256
  isNewTab: opts.isNewTab,
42165
42257
  discuss: opts.discuss,
42166
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _909 => _909.extras, 'optionalAccess', _910 => _910.buildOgPlaceholderUrl, 'optionalCall', _911 => _911(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")))]), () => ( null)),
42167
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _913 => _913.metadata, 'optionalAccess', _914 => _914.hasEmbeddedVideo]) === true
42258
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _911 => _911.extras, 'optionalAccess', _912 => _912.buildOgPlaceholderUrl, 'optionalCall', _913 => _913(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _914 => _914.title]), () => ( "")))]), () => ( null)),
42259
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _915 => _915.metadata, 'optionalAccess', _916 => _916.hasEmbeddedVideo]) === true
42168
42260
  }
42169
42261
  )
42170
42262
  },
@@ -42181,7 +42273,7 @@ var CHAT_CARD_REGISTRY = {
42181
42273
  chatRef,
42182
42274
  isNewTab: opts.isNewTab,
42183
42275
  discuss: opts.discuss,
42184
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _915 => _915.extras, 'optionalAccess', _916 => _916.buildOgPlaceholderUrl, 'optionalCall', _917 => _917(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")))]), () => ( null))
42276
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _917 => _917.extras, 'optionalAccess', _918 => _918.buildOgPlaceholderUrl, 'optionalCall', _919 => _919(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _920 => _920.title]), () => ( "")))]), () => ( null))
42185
42277
  }
42186
42278
  )
42187
42279
  },
@@ -42198,7 +42290,7 @@ var CHAT_CARD_REGISTRY = {
42198
42290
  chatRef,
42199
42291
  isNewTab: opts.isNewTab,
42200
42292
  discuss: opts.discuss,
42201
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _919 => _919.extras, 'optionalAccess', _920 => _920.buildOgPlaceholderUrl, 'optionalCall', _921 => _921(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.title]), () => ( "")))]), () => ( null))
42293
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _921 => _921.extras, 'optionalAccess', _922 => _922.buildOgPlaceholderUrl, 'optionalCall', _923 => _923(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")))]), () => ( null))
42202
42294
  }
42203
42295
  )
42204
42296
  },
@@ -42209,7 +42301,7 @@ var CHAT_CARD_REGISTRY = {
42209
42301
  bareInline: true,
42210
42302
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
42211
42303
  render: (item, chatRef, opts) => {
42212
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _923 => _923.extras, 'optionalAccess', _924 => _924.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42304
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42213
42305
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42214
42306
  ProductReleaseChatCard,
42215
42307
  {
@@ -42236,7 +42328,7 @@ var CHAT_CARD_REGISTRY = {
42236
42328
  chatRef,
42237
42329
  isNewTab: opts.isNewTab,
42238
42330
  discuss: opts.discuss,
42239
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildOgPlaceholderUrl, 'optionalCall', _927 => _927(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")))]), () => ( null))
42331
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _927 => _927.extras, 'optionalAccess', _928 => _928.buildOgPlaceholderUrl, 'optionalCall', _929 => _929(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _930 => _930.title]), () => ( "")))]), () => ( null))
42240
42332
  }
42241
42333
  )
42242
42334
  },
@@ -42255,7 +42347,7 @@ var CHAT_CARD_REGISTRY = {
42255
42347
  chatRef,
42256
42348
  isNewTab: opts.isNewTab,
42257
42349
  discuss: opts.discuss,
42258
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _929 => _929.extras, 'optionalAccess', _930 => _930.buildOgPlaceholderUrl, 'optionalCall', _931 => _931(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")))]), () => ( null))
42350
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _931 => _931.extras, 'optionalAccess', _932 => _932.buildOgPlaceholderUrl, 'optionalCall', _933 => _933(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _934 => _934.title]), () => ( "")))]), () => ( null))
42259
42351
  }
42260
42352
  )
42261
42353
  },
@@ -42267,7 +42359,7 @@ var CHAT_CARD_REGISTRY = {
42267
42359
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
42268
42360
  // No public viewer — synthesize the hub-internal admin URL post-fetch
42269
42361
  // so the wrapper + isNewTab computation see the actual destination.
42270
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _933 => _933.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42362
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _935 => _935.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42271
42363
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42272
42364
  CampaignChatCard,
42273
42365
  {
@@ -42293,12 +42385,12 @@ function ChatCardNavWrap({
42293
42385
  const onClickCapture = (e) => {
42294
42386
  if (!href) return;
42295
42387
  const targetEl = e.target;
42296
- if (_optionalChain([targetEl, 'optionalAccess', _934 => _934.closest, 'optionalCall', _935 => _935("button")])) return;
42297
- if (!_optionalChain([targetEl, 'optionalAccess', _936 => _936.closest, 'optionalCall', _937 => _937("a")])) return;
42388
+ if (_optionalChain([targetEl, 'optionalAccess', _936 => _936.closest, 'optionalCall', _937 => _937("button")])) return;
42389
+ if (!_optionalChain([targetEl, 'optionalAccess', _938 => _938.closest, 'optionalCall', _939 => _939("a")])) return;
42298
42390
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
42299
42391
  if (!handled) return;
42300
42392
  e.stopPropagation();
42301
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _938 => _938.closeChat])) panel.closeChat();
42393
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _940 => _940.closeChat])) panel.closeChat();
42302
42394
  };
42303
42395
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
42304
42396
  }
@@ -42320,7 +42412,7 @@ function ChatCardLoader({
42320
42412
  title: chatRef.title,
42321
42413
  externalUrl: chatRef.url,
42322
42414
  targetPlatform: chatRef.targetPlatform,
42323
- path: typeof _optionalChain([chatRef, 'access', _939 => _939.metadata, 'optionalAccess', _940 => _940.path]) === "string" ? chatRef.metadata.path : null
42415
+ path: typeof _optionalChain([chatRef, 'access', _941 => _941.metadata, 'optionalAccess', _942 => _942.path]) === "string" ? chatRef.metadata.path : null
42324
42416
  },
42325
42417
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
42326
42418
  );
@@ -42334,7 +42426,7 @@ function ChatCardLoader({
42334
42426
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
42335
42427
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
42336
42428
  const { item, isLoading } = useChatCardItem(
42337
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _941 => _941.contentRefType]), () => ( "")),
42429
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _943 => _943.contentRefType]), () => ( "")),
42338
42430
  fetchEntry ? resolvedChatRef.id : ""
42339
42431
  );
42340
42432
  if (!entry) return null;
@@ -42365,7 +42457,7 @@ function ChatCardLoader({
42365
42457
  isNewTab,
42366
42458
  discuss
42367
42459
  };
42368
- const path = typeof _optionalChain([finalChatRef, 'access', _942 => _942.metadata, 'optionalAccess', _943 => _943.path]) === "string" ? finalChatRef.metadata.path : null;
42460
+ const path = typeof _optionalChain([finalChatRef, 'access', _944 => _944.metadata, 'optionalAccess', _945 => _945.path]) === "string" ? finalChatRef.metadata.path : null;
42369
42461
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42370
42462
  ChatCardNavWrap,
42371
42463
  {
@@ -42751,7 +42843,7 @@ function useJetStreamDialogSubscription({
42751
42843
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
42752
42844
  conn: sharedConn,
42753
42845
  wsUrl,
42754
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _944 => _944.current, 'optionalCall', _945 => _945()]),
42846
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _946 => _946.current, 'optionalCall', _947 => _947()]),
42755
42847
  backoff: reconnectionBackoffRef.current,
42756
42848
  getFreshUrl: () => getNatsWsUrlRef.current(),
42757
42849
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -42766,7 +42858,7 @@ function useJetStreamDialogSubscription({
42766
42858
  setReconnectionCount((c) => c + 1);
42767
42859
  }
42768
42860
  hadConnectionBeforeRef.current = true;
42769
- _optionalChain([onConnectRef, 'access', _946 => _946.current, 'optionalCall', _947 => _947()]);
42861
+ _optionalChain([onConnectRef, 'access', _948 => _948.current, 'optionalCall', _949 => _949()]);
42770
42862
  }
42771
42863
  if (status === "error") {
42772
42864
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -42776,7 +42868,7 @@ function useJetStreamDialogSubscription({
42776
42868
  setIsConnected(false);
42777
42869
  setIsSubscribed(false);
42778
42870
  tearDownSubscription();
42779
- _optionalChain([onDisconnectRef, 'access', _948 => _948.current, 'optionalCall', _949 => _949()]);
42871
+ _optionalChain([onDisconnectRef, 'access', _950 => _950.current, 'optionalCall', _951 => _951()]);
42780
42872
  }
42781
42873
  }
42782
42874
  });
@@ -42855,7 +42947,7 @@ function useJetStreamDialogSubscription({
42855
42947
  }
42856
42948
  subscriptionRef.current = handle;
42857
42949
  setIsSubscribed(true);
42858
- _optionalChain([onSubscribedRef, 'access', _950 => _950.current, 'optionalCall', _951 => _951()]);
42950
+ _optionalChain([onSubscribedRef, 'access', _952 => _952.current, 'optionalCall', _953 => _953()]);
42859
42951
  } catch (e43) {
42860
42952
  if (!cancelled) {
42861
42953
  setIsSubscribed(false);
@@ -42968,20 +43060,20 @@ function useNatsDialogSubscription({
42968
43060
  const tearDownSubscriptions = () => {
42969
43061
  subscriptionRefs.current.forEach((sub) => {
42970
43062
  try {
42971
- _optionalChain([sub, 'optionalAccess', _952 => _952.unsubscribe, 'call', _953 => _953()]);
43063
+ _optionalChain([sub, 'optionalAccess', _954 => _954.unsubscribe, 'call', _955 => _955()]);
42972
43064
  } catch (e45) {
42973
43065
  }
42974
43066
  });
42975
43067
  subscriptionRefs.current.clear();
42976
43068
  lastSubscribedDialogIdRef.current = null;
42977
- _optionalChain([abortControllerRef, 'access', _954 => _954.current, 'optionalAccess', _955 => _955.abort, 'call', _956 => _956()]);
43069
+ _optionalChain([abortControllerRef, 'access', _956 => _956.current, 'optionalAccess', _957 => _957.abort, 'call', _958 => _958()]);
42978
43070
  abortControllerRef.current = null;
42979
43071
  };
42980
43072
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
42981
43073
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
42982
43074
  conn: sharedConn,
42983
43075
  wsUrl,
42984
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _957 => _957.current, 'optionalCall', _958 => _958()]),
43076
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _959 => _959.current, 'optionalCall', _960 => _960()]),
42985
43077
  backoff: reconnectionBackoffRef.current,
42986
43078
  getFreshUrl: () => getNatsWsUrlRef.current(),
42987
43079
  shouldRetryOn: isDisconnectStatus,
@@ -42992,7 +43084,7 @@ function useNatsDialogSubscription({
42992
43084
  setReconnectionCount((c) => c + 1);
42993
43085
  }
42994
43086
  hadConnectionBeforeRef.current = true;
42995
- _optionalChain([onConnectRef, 'access', _959 => _959.current, 'optionalCall', _960 => _960()]);
43087
+ _optionalChain([onConnectRef, 'access', _961 => _961.current, 'optionalCall', _962 => _962()]);
42996
43088
  }
42997
43089
  if (status === "error") {
42998
43090
  console.warn("[NATS] protocol error:", evt.data);
@@ -43002,7 +43094,7 @@ function useNatsDialogSubscription({
43002
43094
  setIsConnected(false);
43003
43095
  setIsSubscribed(false);
43004
43096
  tearDownSubscriptions();
43005
- _optionalChain([onDisconnectRef, 'access', _961 => _961.current, 'optionalCall', _962 => _962()]);
43097
+ _optionalChain([onDisconnectRef, 'access', _963 => _963.current, 'optionalCall', _964 => _964()]);
43006
43098
  }
43007
43099
  }
43008
43100
  });
@@ -43033,13 +43125,13 @@ function useNatsDialogSubscription({
43033
43125
  setIsSubscribed(false);
43034
43126
  subscriptionRefs.current.forEach((sub) => {
43035
43127
  try {
43036
- _optionalChain([sub, 'optionalAccess', _963 => _963.unsubscribe, 'call', _964 => _964()]);
43128
+ _optionalChain([sub, 'optionalAccess', _965 => _965.unsubscribe, 'call', _966 => _966()]);
43037
43129
  } catch (e46) {
43038
43130
  }
43039
43131
  });
43040
43132
  subscriptionRefs.current.clear();
43041
43133
  lastSubscribedDialogIdRef.current = null;
43042
- _optionalChain([abortControllerRef, 'access', _965 => _965.current, 'optionalAccess', _966 => _966.abort, 'call', _967 => _967()]);
43134
+ _optionalChain([abortControllerRef, 'access', _967 => _967.current, 'optionalAccess', _968 => _968.abort, 'call', _969 => _969()]);
43043
43135
  abortControllerRef.current = null;
43044
43136
  }
43045
43137
  return;
@@ -43051,12 +43143,12 @@ function useNatsDialogSubscription({
43051
43143
  if (subscriptionRefs.current.size > 0) {
43052
43144
  subscriptionRefs.current.forEach((sub) => {
43053
43145
  try {
43054
- _optionalChain([sub, 'optionalAccess', _968 => _968.unsubscribe, 'call', _969 => _969()]);
43146
+ _optionalChain([sub, 'optionalAccess', _970 => _970.unsubscribe, 'call', _971 => _971()]);
43055
43147
  } catch (e47) {
43056
43148
  }
43057
43149
  });
43058
43150
  subscriptionRefs.current.clear();
43059
- _optionalChain([abortControllerRef, 'access', _970 => _970.current, 'optionalAccess', _971 => _971.abort, 'call', _972 => _972()]);
43151
+ _optionalChain([abortControllerRef, 'access', _972 => _972.current, 'optionalAccess', _973 => _973.abort, 'call', _974 => _974()]);
43060
43152
  }
43061
43153
  abortControllerRef.current = new AbortController();
43062
43154
  const abort = abortControllerRef.current;
@@ -43088,7 +43180,7 @@ function useNatsDialogSubscription({
43088
43180
  });
43089
43181
  lastSubscribedDialogIdRef.current = dialogId;
43090
43182
  setIsSubscribed(true);
43091
- _optionalChain([onSubscribedRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]);
43183
+ _optionalChain([onSubscribedRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
43092
43184
  };
43093
43185
  if (isConnectedRef.current) {
43094
43186
  createSubscriptions();
@@ -43098,7 +43190,7 @@ function useNatsDialogSubscription({
43098
43190
  abort.abort();
43099
43191
  subscriptionRefs.current.forEach((sub) => {
43100
43192
  try {
43101
- _optionalChain([sub, 'optionalAccess', _975 => _975.unsubscribe, 'call', _976 => _976()]);
43193
+ _optionalChain([sub, 'optionalAccess', _977 => _977.unsubscribe, 'call', _978 => _978()]);
43102
43194
  } catch (e49) {
43103
43195
  }
43104
43196
  });
@@ -43139,7 +43231,7 @@ function useNatsDialogSubscription({
43139
43231
  });
43140
43232
  lastSubscribedDialogIdRef.current = dialogId2;
43141
43233
  setIsSubscribed(true);
43142
- _optionalChain([onSubscribedRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
43234
+ _optionalChain([onSubscribedRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]);
43143
43235
  } else if (subscriptionRefs.current.size > 0) {
43144
43236
  setIsSubscribed(true);
43145
43237
  }
@@ -43147,10 +43239,10 @@ function useNatsDialogSubscription({
43147
43239
  return { isConnected, isSubscribed, reconnectionCount };
43148
43240
  }
43149
43241
  function buildNatsWsUrl(apiBaseUrl, options) {
43150
- const path = _optionalChain([options, 'optionalAccess', _979 => _979.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43242
+ const path = _optionalChain([options, 'optionalAccess', _981 => _981.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43151
43243
  const u = new URL(path, apiBaseUrl);
43152
43244
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
43153
- if (_optionalChain([options, 'optionalAccess', _980 => _980.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _981 => _981.token])) {
43245
+ if (_optionalChain([options, 'optionalAccess', _982 => _982.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _983 => _983.token])) {
43154
43246
  u.searchParams.set("authorization", options.token);
43155
43247
  }
43156
43248
  return u.toString();
@@ -43286,7 +43378,7 @@ function parseChunkToAction(chunk) {
43286
43378
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
43287
43379
  // historical path in `process-historical-messages.ts`) — keeps both
43288
43380
  // message sources producing an identical shape.
43289
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _982 => _982.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _983 => _983.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43381
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _984 => _984.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _985 => _985.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43290
43382
  };
43291
43383
  case MESSAGE_TYPE.TOKEN_USAGE:
43292
43384
  return {
@@ -43478,8 +43570,8 @@ var MessageSegmentAccumulator = class {
43478
43570
  type: "tool_execution",
43479
43571
  data: {
43480
43572
  ...toolData,
43481
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _984 => _984.data, 'access', _985 => _985.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _986 => _986.toolTitle]))),
43482
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _987 => _987.parameters])
43573
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _986 => _986.data, 'access', _987 => _987.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _988 => _988.toolTitle]))),
43574
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _989 => _989.parameters])
43483
43575
  }
43484
43576
  };
43485
43577
  if (existingIndex !== -1) {
@@ -43503,8 +43595,8 @@ var MessageSegmentAccumulator = class {
43503
43595
  if (seg.type !== "approval_batch") return seg;
43504
43596
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
43505
43597
  if (!hasCall) return seg;
43506
- const prev = _optionalChain([seg, 'access', _988 => _988.data, 'access', _989 => _989.executions, 'optionalAccess', _990 => _990[execId]]);
43507
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _991 => _991.result]), success: _optionalChain([prev, 'optionalAccess', _992 => _992.success]) };
43598
+ const prev = _optionalChain([seg, 'access', _990 => _990.data, 'access', _991 => _991.executions, 'optionalAccess', _992 => _992[execId]]);
43599
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _993 => _993.result]), success: _optionalChain([prev, 'optionalAccess', _994 => _994.success]) };
43508
43600
  matched = true;
43509
43601
  return {
43510
43602
  ...seg,
@@ -43626,10 +43718,10 @@ var MessageSegmentAccumulator = class {
43626
43718
  const segment = {
43627
43719
  type: "approval_request",
43628
43720
  data: {
43629
- command: _optionalChain([pendingApproval, 'optionalAccess', _993 => _993.command]) || "",
43630
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _994 => _994.explanation]),
43721
+ command: _optionalChain([pendingApproval, 'optionalAccess', _995 => _995.command]) || "",
43722
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _996 => _996.explanation]),
43631
43723
  requestId,
43632
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _995 => _995.approvalType]) || approvalType
43724
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _997 => _997.approvalType]) || approvalType
43633
43725
  },
43634
43726
  status,
43635
43727
  onApprove: this.callbacks.onApprove,
@@ -43821,7 +43913,7 @@ function useRealtimeChunkProcessor(options) {
43821
43913
  if (initialState.escalatedApprovals) {
43822
43914
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
43823
43915
  initialState.escalatedApprovals.forEach((data, requestId) => {
43824
- _optionalChain([callbacks, 'access', _996 => _996.onEscalatedApproval, 'optionalCall', _997 => _997(requestId, data)]);
43916
+ _optionalChain([callbacks, 'access', _998 => _998.onEscalatedApproval, 'optionalCall', _999 => _999(requestId, data)]);
43825
43917
  });
43826
43918
  }
43827
43919
  hasEverStreamedRef.current = true;
@@ -43842,12 +43934,12 @@ function useRealtimeChunkProcessor(options) {
43842
43934
  if (!action) return;
43843
43935
  const accumulator = accumulatorRef.current;
43844
43936
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
43845
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _998 => _998.onSegmentsUpdate, 'optionalCall', _999 => _999(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
43937
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1000 => _1000.onSegmentsUpdate, 'optionalCall', _1001 => _1001(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
43846
43938
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
43847
43939
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
43848
43940
  if (isInStreamRef.current) {
43849
43941
  isInStreamRef.current = false;
43850
- _optionalChain([callbacks, 'access', _1000 => _1000.onStreamEnd, 'optionalCall', _1001 => _1001()]);
43942
+ _optionalChain([callbacks, 'access', _1002 => _1002.onStreamEnd, 'optionalCall', _1003 => _1003()]);
43851
43943
  accumulator.resetSegments();
43852
43944
  }
43853
43945
  return;
@@ -43856,16 +43948,16 @@ function useRealtimeChunkProcessor(options) {
43856
43948
  case "message_start":
43857
43949
  isInStreamRef.current = true;
43858
43950
  hasEverStreamedRef.current = true;
43859
- _optionalChain([callbacks, 'access', _1002 => _1002.onStreamStart, 'optionalCall', _1003 => _1003()]);
43951
+ _optionalChain([callbacks, 'access', _1004 => _1004.onStreamStart, 'optionalCall', _1005 => _1005()]);
43860
43952
  accumulator.resetSegments();
43861
43953
  break;
43862
43954
  case "message_end":
43863
43955
  isInStreamRef.current = false;
43864
- _optionalChain([callbacks, 'access', _1004 => _1004.onStreamEnd, 'optionalCall', _1005 => _1005()]);
43956
+ _optionalChain([callbacks, 'access', _1006 => _1006.onStreamEnd, 'optionalCall', _1007 => _1007()]);
43865
43957
  accumulator.resetSegments();
43866
43958
  break;
43867
43959
  case "metadata":
43868
- _optionalChain([callbacks, 'access', _1006 => _1006.onMetadata, 'optionalCall', _1007 => _1007(action)]);
43960
+ _optionalChain([callbacks, 'access', _1008 => _1008.onMetadata, 'optionalCall', _1009 => _1009(action)]);
43869
43961
  break;
43870
43962
  case "text": {
43871
43963
  const segments = accumulator.appendText(action.text);
@@ -43908,7 +44000,7 @@ function useRealtimeChunkProcessor(options) {
43908
44000
  emitSegments(segments);
43909
44001
  } else {
43910
44002
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
43911
- _optionalChain([callbacks, 'access', _1008 => _1008.onEscalatedApproval, 'optionalCall', _1009 => _1009(requestId, { command, explanation, approvalType })]);
44003
+ _optionalChain([callbacks, 'access', _1010 => _1010.onEscalatedApproval, 'optionalCall', _1011 => _1011(requestId, { command, explanation, approvalType })]);
43912
44004
  }
43913
44005
  break;
43914
44006
  }
@@ -43920,13 +44012,13 @@ function useRealtimeChunkProcessor(options) {
43920
44012
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
43921
44013
  pendingEscalatedRef.current.set(requestId, {
43922
44014
  command: summary,
43923
- explanation: _optionalChain([required, 'optionalAccess', _1010 => _1010.toolExplanation]),
44015
+ explanation: _optionalChain([required, 'optionalAccess', _1012 => _1012.toolExplanation]),
43924
44016
  approvalType,
43925
44017
  toolCalls
43926
44018
  });
43927
- _optionalChain([callbacks, 'access', _1011 => _1011.onEscalatedApproval, 'optionalCall', _1012 => _1012(requestId, {
44019
+ _optionalChain([callbacks, 'access', _1013 => _1013.onEscalatedApproval, 'optionalCall', _1014 => _1014(requestId, {
43928
44020
  command: summary,
43929
- explanation: _optionalChain([required, 'optionalAccess', _1013 => _1013.toolExplanation]),
44021
+ explanation: _optionalChain([required, 'optionalAccess', _1015 => _1015.toolExplanation]),
43930
44022
  approvalType
43931
44023
  })]);
43932
44024
  break;
@@ -43956,7 +44048,7 @@ function useRealtimeChunkProcessor(options) {
43956
44048
  const status = approved ? "approved" : "rejected";
43957
44049
  if (escalatedData) {
43958
44050
  pendingEscalatedRef.current.delete(requestId);
43959
- _optionalChain([callbacks, 'access', _1014 => _1014.onEscalatedApprovalResult, 'optionalCall', _1015 => _1015(requestId, approved, {
44051
+ _optionalChain([callbacks, 'access', _1016 => _1016.onEscalatedApprovalResult, 'optionalCall', _1017 => _1017(requestId, approved, {
43960
44052
  command: escalatedData.command,
43961
44053
  explanation: escalatedData.explanation,
43962
44054
  approvalType: escalatedData.approvalType
@@ -44002,29 +44094,29 @@ function useRealtimeChunkProcessor(options) {
44002
44094
  emitSegments(accumulator.getSegments());
44003
44095
  }
44004
44096
  }
44005
- _optionalChain([callbacks, 'access', _1016 => _1016.onApprovalResolved, 'optionalCall', _1017 => _1017(requestId, status, approvalType, resolvedByName)]);
44097
+ _optionalChain([callbacks, 'access', _1018 => _1018.onApprovalResolved, 'optionalCall', _1019 => _1019(requestId, status, approvalType, resolvedByName)]);
44006
44098
  break;
44007
44099
  }
44008
44100
  case "error": {
44009
44101
  let message2;
44010
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1018 => _1018.details])) {
44102
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1020 => _1020.details])) {
44011
44103
  try {
44012
- message2 = _optionalChain([JSON, 'access', _1019 => _1019.parse, 'call', _1020 => _1020(action.details), 'optionalAccess', _1021 => _1021.error, 'optionalAccess', _1022 => _1022.message]);
44104
+ message2 = _optionalChain([JSON, 'access', _1021 => _1021.parse, 'call', _1022 => _1022(action.details), 'optionalAccess', _1023 => _1023.error, 'optionalAccess', _1024 => _1024.message]);
44013
44105
  } catch (e51) {
44014
44106
  message2 = action.details;
44015
44107
  }
44016
44108
  }
44017
44109
  const segments = accumulator.addError(action.error, message2);
44018
44110
  emitSegments(segments);
44019
- _optionalChain([callbacks, 'access', _1023 => _1023.onError, 'optionalCall', _1024 => _1024(action.error, message2)]);
44111
+ _optionalChain([callbacks, 'access', _1025 => _1025.onError, 'optionalCall', _1026 => _1026(action.error, message2)]);
44020
44112
  break;
44021
44113
  }
44022
44114
  case "system": {
44023
- _optionalChain([callbacks, 'access', _1025 => _1025.onSystemMessage, 'optionalCall', _1026 => _1026(action.text, { streamSeq })]);
44115
+ _optionalChain([callbacks, 'access', _1027 => _1027.onSystemMessage, 'optionalCall', _1028 => _1028(action.text, { streamSeq })]);
44024
44116
  break;
44025
44117
  }
44026
44118
  case "direct_message": {
44027
- _optionalChain([callbacks, 'access', _1027 => _1027.onDirectMessage, 'optionalCall', _1028 => _1028(action.text, {
44119
+ _optionalChain([callbacks, 'access', _1029 => _1029.onDirectMessage, 'optionalCall', _1030 => _1030(action.text, {
44028
44120
  ownerType: action.ownerType,
44029
44121
  displayName: action.displayName,
44030
44122
  userId: action.userId,
@@ -44033,7 +44125,7 @@ function useRealtimeChunkProcessor(options) {
44033
44125
  break;
44034
44126
  }
44035
44127
  case "message_request":
44036
- _optionalChain([callbacks, 'access', _1029 => _1029.onUserMessage, 'optionalCall', _1030 => _1030(action.text, {
44128
+ _optionalChain([callbacks, 'access', _1031 => _1031.onUserMessage, 'optionalCall', _1032 => _1032(action.text, {
44037
44129
  ownerType: action.ownerType,
44038
44130
  displayName: action.displayName,
44039
44131
  userId: action.userId,
@@ -44042,7 +44134,7 @@ function useRealtimeChunkProcessor(options) {
44042
44134
  })]);
44043
44135
  break;
44044
44136
  case "token_usage":
44045
- _optionalChain([callbacks, 'access', _1031 => _1031.onTokenUsage, 'optionalCall', _1032 => _1032(action.data)]);
44137
+ _optionalChain([callbacks, 'access', _1033 => _1033.onTokenUsage, 'optionalCall', _1034 => _1034(action.data)]);
44046
44138
  break;
44047
44139
  case "context_compaction_start": {
44048
44140
  const standalone = !isInStreamRef.current;
@@ -44057,7 +44149,7 @@ function useRealtimeChunkProcessor(options) {
44057
44149
  break;
44058
44150
  }
44059
44151
  case "dialog_closed":
44060
- _optionalChain([callbacks, 'access', _1033 => _1033.onDialogClosed, 'optionalCall', _1034 => _1034()]);
44152
+ _optionalChain([callbacks, 'access', _1035 => _1035.onDialogClosed, 'optionalCall', _1036 => _1036()]);
44061
44153
  break;
44062
44154
  default:
44063
44155
  break;
@@ -44096,18 +44188,12 @@ function useRealtimeChunkProcessor(options) {
44096
44188
 
44097
44189
 
44098
44190
  async function fetchSlashCommands(prefix, signal, commandsUrl) {
44099
- try {
44100
- const url = new URL(commandsUrl, window.location.origin);
44101
- if (prefix) url.searchParams.set("q", prefix);
44102
- const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44103
- if (!res.ok) return [];
44104
- const data = await res.json();
44105
- return _nullishCoalesce(data.commands, () => ( []));
44106
- } catch (err) {
44107
- if (_optionalChain([err, 'optionalAccess', _1035 => _1035.name]) === "AbortError") throw err;
44108
- console.warn("[chat] slash-commands fetch failed, showing none:", err);
44109
- return [];
44110
- }
44191
+ const url = new URL(commandsUrl, window.location.origin);
44192
+ if (prefix) url.searchParams.set("q", prefix);
44193
+ const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44194
+ if (!res.ok) return [];
44195
+ const data = await res.json();
44196
+ return _nullishCoalesce(data.commands, () => ( []));
44111
44197
  }
44112
44198
  function useSlashCommands(prefix, commandsUrl) {
44113
44199
  const [commands, setCommands] = _react.useState.call(void 0, []);
@@ -44125,7 +44211,7 @@ function useSlashCommands(prefix, commandsUrl) {
44125
44211
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
44126
44212
  if (!cancelled) setCommands(next);
44127
44213
  } catch (err) {
44128
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1036 => _1036.name]) !== "AbortError") {
44214
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1037 => _1037.name]) !== "AbortError") {
44129
44215
  console.warn("[use-slash-commands] fetch failed:", err);
44130
44216
  }
44131
44217
  } finally {
@@ -44144,14 +44230,9 @@ function useSlashCommandRegistry(commandsUrl, options) {
44144
44230
  const query = _reactquery.useQuery.call(void 0, {
44145
44231
  queryKey: ["chat-slash-commands", commandsUrl],
44146
44232
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
44147
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1037 => _1037.enabled]), () => ( true)),
44233
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1038 => _1038.enabled]), () => ( true)),
44148
44234
  staleTime: Infinity,
44149
- gcTime: Infinity,
44150
- // The commands registry is non-critical chrome — a failure degrades to an
44151
- // empty registry (handled in `fetchSlashCommands`). Don't retry: settle to
44152
- // the neutral empty state immediately so a flaky endpoint never holds the
44153
- // welcome UI in a loading spinner.
44154
- retry: false
44235
+ gcTime: Infinity
44155
44236
  });
44156
44237
  return {
44157
44238
  commands: _nullishCoalesce(query.data, () => ( [])),
@@ -44169,26 +44250,20 @@ var EMPTY_STATE_FALLBACK = {
44169
44250
  suggestedQueries: []
44170
44251
  };
44171
44252
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
44172
- try {
44173
- const url = new URL(emptyStateUrl, window.location.origin);
44174
- const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44175
- if (!res.ok) {
44176
- if (res.status >= 500) {
44177
- console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
44178
- }
44179
- return EMPTY_STATE_FALLBACK;
44253
+ const url = new URL(emptyStateUrl, window.location.origin);
44254
+ const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44255
+ if (!res.ok) {
44256
+ if (res.status >= 500) {
44257
+ console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
44180
44258
  }
44181
- const data = await res.json();
44182
- return {
44183
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1038 => _1038.greeting]), () => ( null)),
44184
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1039 => _1039.enabledRagTableIds]), () => ( [])),
44185
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1040 => _1040.suggestedQueries]), () => ( []))
44186
- };
44187
- } catch (err) {
44188
- if (_optionalChain([err, 'optionalAccess', _1041 => _1041.name]) === "AbortError") throw err;
44189
- console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
44190
44259
  return EMPTY_STATE_FALLBACK;
44191
44260
  }
44261
+ const data = await res.json();
44262
+ return {
44263
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1039 => _1039.greeting]), () => ( null)),
44264
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1040 => _1040.enabledRagTableIds]), () => ( [])),
44265
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1041 => _1041.suggestedQueries]), () => ( []))
44266
+ };
44192
44267
  }
44193
44268
  function useEmptyStateConfig(emptyStateUrl, options) {
44194
44269
  const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1042 => _1042.enabled]), () => ( true))) && !!emptyStateUrl;
@@ -44197,11 +44272,7 @@ function useEmptyStateConfig(emptyStateUrl, options) {
44197
44272
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
44198
44273
  enabled,
44199
44274
  staleTime: Infinity,
44200
- gcTime: Infinity,
44201
- // The empty-state config is non-critical chrome — a failure degrades to the
44202
- // neutral fallback (handled in `fetchEmptyStateConfig`). Don't retry: settle
44203
- // immediately so a flaky endpoint never holds the welcome in a spinner.
44204
- retry: false
44275
+ gcTime: Infinity
44205
44276
  });
44206
44277
  return {
44207
44278
  config: _nullishCoalesce(query.data, () => ( EMPTY_STATE_FALLBACK)),
@@ -44551,11 +44622,8 @@ function useResolveChatIdentity(enabled) {
44551
44622
  return { ...data, isLoading };
44552
44623
  }
44553
44624
  var ChatIdentityContext = _react.createContext.call(void 0, null);
44554
- function ChatIdentityProvider({
44555
- children,
44556
- enabled = true
44557
- }) {
44558
- const identity = useResolveChatIdentity(enabled);
44625
+ function ChatIdentityProvider({ children }) {
44626
+ const identity = useResolveChatIdentity(true);
44559
44627
  return _react.createElement.call(void 0, ChatIdentityContext.Provider, { value: identity }, children);
44560
44628
  }
44561
44629
  function useChatIdentity() {
@@ -47638,8 +47706,6 @@ function EmbeddableChatInner({
47638
47706
  []
47639
47707
  );
47640
47708
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
47641
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1208 => _1208.firstName]), _optionalChain([identityUser, 'optionalAccess', _1209 => _1209.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1210 => _1210.name, 'optionalAccess', _1211 => _1211.trim, 'call', _1212 => _1212()]) || void 0 : void 0;
47642
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1213 => _1213.avatarUrl, 'optionalAccess', _1214 => _1214.trim, 'call', _1215 => _1215()]) || void 0 : void 0;
47643
47709
  const messages = _react.useMemo.call(void 0, () => {
47644
47710
  const cache = timestampCacheRef.current;
47645
47711
  const seenIds = /* @__PURE__ */ new Set();
@@ -47659,8 +47725,8 @@ function EmbeddableChatInner({
47659
47725
  // Host-supplied per-message name/avatar win (e.g. the signed-in user's
47660
47726
  // full name + photo on a `user` bubble); fall back to the role default
47661
47727
  // when the host doesn't provide them.
47662
- name: _nullishCoalesce(m.name, () => ( (m.role === "assistant" ? "Mingo" : _nullishCoalesce(guideUserName, () => ( "You"))))),
47663
- avatar: _nullishCoalesce(m.avatar, () => ( (m.role === "user" ? _nullishCoalesce(guideUserAvatar, () => ( null)) : null))),
47728
+ name: _nullishCoalesce(m.name, () => ( (m.role === "assistant" ? "Mingo" : "You"))),
47729
+ avatar: _nullishCoalesce(m.avatar, () => ( null)),
47664
47730
  // Forward the host's authorType so user bubbles get the same accent
47665
47731
  // name color as the standalone /mingo page (user → 'admin').
47666
47732
  ...m.authorType ? { authorType: m.authorType } : {},
@@ -47679,7 +47745,7 @@ function EmbeddableChatInner({
47679
47745
  }
47680
47746
  }
47681
47747
  return mapped;
47682
- }, [rawMessages, guideUserName, guideUserAvatar]);
47748
+ }, [rawMessages]);
47683
47749
  const handleSend = _react.useCallback.call(void 0,
47684
47750
  (text) => {
47685
47751
  let augmentedText = text;
@@ -47787,9 +47853,9 @@ function EmbeddableChatInner({
47787
47853
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
47788
47854
  const lastSources = _react.useMemo.call(void 0, () => {
47789
47855
  if (chatLoading) return void 0;
47790
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1216 => _1216.sources]);
47856
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1208 => _1208.sources]);
47791
47857
  if (!sources || sources.length === 0) return void 0;
47792
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1217 => _1217.content]) || "";
47858
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1209 => _1209.content]) || "";
47793
47859
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
47794
47860
  (m) => parseInt(m[1], 10)
47795
47861
  );
@@ -47836,7 +47902,7 @@ function EmbeddableChatInner({
47836
47902
  ChatPanelHeader,
47837
47903
  {
47838
47904
  showBack: hasConversation || guideCanReturnToMingo,
47839
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1218 => _1218.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
47905
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1210 => _1210.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
47840
47906
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
47841
47907
  isArchivedView: isViewingArchived,
47842
47908
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -47943,7 +48009,7 @@ function EmbeddableChatInner({
47943
48009
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
47944
48010
  subtitleLoading: emptyStateLoading,
47945
48011
  ...guideWelcome,
47946
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1219 => _1219.quickActions]), () => ( guideSuggestedActions)),
48012
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1211 => _1211.quickActions]), () => ( guideSuggestedActions)),
47947
48013
  onQuickAction: (action) => {
47948
48014
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
47949
48015
  },
@@ -49004,5 +49070,7 @@ function EmbeddableChatInner({
49004
49070
 
49005
49071
 
49006
49072
 
49007
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; 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.Switch = Switch; 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.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.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; 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.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.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.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; 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.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; 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.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.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; 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.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.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.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; 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.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.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.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; 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.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;
49008
- //# sourceMappingURL=chunk-7KTSRZI4.cjs.map
49073
+
49074
+
49075
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; 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.Switch = Switch; 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.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.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; 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.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.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.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; 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.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; 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.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.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; 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.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.PageHeader = PageHeader; exports.TitleBlock = TitleBlock; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.PageWithHeader = PageWithHeader; exports.PageLayout = PageLayout; 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.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; 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.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.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.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; 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.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; 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.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;
49076
+ //# sourceMappingURL=chunk-KZGSVTRP.cjs.map