@flamingo-stack/openframe-frontend-core 0.0.299 → 0.0.300

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 (157) hide show
  1. package/dist/chunk-2FI3USTC.js +43 -0
  2. package/dist/chunk-2FI3USTC.js.map +1 -0
  3. package/dist/{chunk-54KNMC2R.cjs → chunk-2ZHDP22R.cjs} +3 -3
  4. package/dist/{chunk-54KNMC2R.cjs.map → chunk-2ZHDP22R.cjs.map} +1 -1
  5. package/dist/{chunk-X26HXH3L.cjs → chunk-5VVNE6I5.cjs} +7 -7
  6. package/dist/{chunk-X26HXH3L.cjs.map → chunk-5VVNE6I5.cjs.map} +1 -1
  7. package/dist/{chunk-57HYFVTZ.cjs → chunk-735DLFS4.cjs} +29 -29
  8. package/dist/{chunk-57HYFVTZ.cjs.map → chunk-735DLFS4.cjs.map} +1 -1
  9. package/dist/{chunk-RY62M66O.js → chunk-7EMOBUB2.js} +2 -2
  10. package/dist/{chunk-WDWGFUT2.js → chunk-APWW3GPU.js} +6 -6
  11. package/dist/{chunk-5MLYCLOI.js → chunk-CZ2EJKPA.js} +5 -9
  12. package/dist/chunk-CZ2EJKPA.js.map +1 -0
  13. package/dist/{chunk-Q77BDAR7.cjs → chunk-E2XQ5AX7.cjs} +36 -36
  14. package/dist/{chunk-Q77BDAR7.cjs.map → chunk-E2XQ5AX7.cjs.map} +1 -1
  15. package/dist/{chunk-56X3EFTG.cjs → chunk-FM7OPH5J.cjs} +19 -19
  16. package/dist/{chunk-56X3EFTG.cjs.map → chunk-FM7OPH5J.cjs.map} +1 -1
  17. package/dist/{chunk-WMSTJAZT.cjs → chunk-G56GYN7Z.cjs} +47 -15
  18. package/dist/chunk-G56GYN7Z.cjs.map +1 -0
  19. package/dist/{chunk-PQEQUMSS.cjs → chunk-JCU4YVFY.cjs} +16 -16
  20. package/dist/{chunk-PQEQUMSS.cjs.map → chunk-JCU4YVFY.cjs.map} +1 -1
  21. package/dist/{chunk-2QG57XOJ.js → chunk-JQ2EYXWR.js} +42 -10
  22. package/dist/chunk-JQ2EYXWR.js.map +1 -0
  23. package/dist/{chunk-PI4WSYQV.js → chunk-JQLC2FVM.js} +2 -2
  24. package/dist/{chunk-XG2KGQ76.cjs → chunk-K2LINTWC.cjs} +40 -40
  25. package/dist/{chunk-XG2KGQ76.cjs.map → chunk-K2LINTWC.cjs.map} +1 -1
  26. package/dist/{chunk-DVHQGII5.js → chunk-K3F3AXCC.js} +4 -4
  27. package/dist/{chunk-N4DEX22O.js → chunk-KNX4OEU5.js} +2 -2
  28. package/dist/{chunk-BL6XZ2XD.cjs → chunk-LXXZDZGG.cjs} +616 -620
  29. package/dist/chunk-LXXZDZGG.cjs.map +1 -0
  30. package/dist/{chunk-PLNR6BHN.cjs → chunk-MFZP6ZJ5.cjs} +7 -7
  31. package/dist/{chunk-PLNR6BHN.cjs.map → chunk-MFZP6ZJ5.cjs.map} +1 -1
  32. package/dist/chunk-N2DVKXN4.cjs +43 -0
  33. package/dist/chunk-N2DVKXN4.cjs.map +1 -0
  34. package/dist/{chunk-B2IN2IND.js → chunk-OZW6GJKN.js} +4 -4
  35. package/dist/{chunk-NEVMYN4G.js → chunk-QSPEFQSN.js} +3 -3
  36. package/dist/{chunk-QE5CNWPF.js → chunk-SYNOZPQC.js} +3 -3
  37. package/dist/{chunk-67WXHSCX.cjs → chunk-XTQFETF6.cjs} +13 -13
  38. package/dist/{chunk-67WXHSCX.cjs.map → chunk-XTQFETF6.cjs.map} +1 -1
  39. package/dist/{chunk-XKIO5K5N.js → chunk-ZLLGC2RZ.js} +3 -3
  40. package/dist/components/case-studies/index.cjs +10 -11
  41. package/dist/components/case-studies/index.cjs.map +1 -1
  42. package/dist/components/case-studies/index.js +4 -5
  43. package/dist/components/case-studies/index.js.map +1 -1
  44. package/dist/components/chat/entity-cards/admin-content-card.d.ts +1 -1
  45. package/dist/components/chat/entity-cards/blog-card.d.ts +2 -2
  46. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  47. package/dist/components/chat/entity-cards/blog-image-placeholder.d.ts +1 -1
  48. package/dist/components/chat/entity-cards/case-study-card.d.ts +1 -1
  49. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +4 -3
  50. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  51. package/dist/components/chat/entity-cards/use-entity-card-placeholder.d.ts +4 -3
  52. package/dist/components/chat/entity-cards/use-entity-card-placeholder.d.ts.map +1 -1
  53. package/dist/components/chat/entity-cards/what-i-shipped-card.d.ts +1 -1
  54. package/dist/components/chat/index.cjs +4 -5
  55. package/dist/components/chat/index.cjs.map +1 -1
  56. package/dist/components/chat/index.js +3 -4
  57. package/dist/components/contact/index.cjs +5 -6
  58. package/dist/components/contact/index.cjs.map +1 -1
  59. package/dist/components/contact/index.js +4 -5
  60. package/dist/components/docs/index.cjs +7 -8
  61. package/dist/components/docs/index.cjs.map +1 -1
  62. package/dist/components/docs/index.js +6 -7
  63. package/dist/components/embeds/index.cjs +5 -6
  64. package/dist/components/embeds/index.cjs.map +1 -1
  65. package/dist/components/embeds/index.js +4 -5
  66. package/dist/components/embeds/og-link-preview.d.ts +2 -2
  67. package/dist/components/faq/index.cjs +6 -7
  68. package/dist/components/faq/index.cjs.map +1 -1
  69. package/dist/components/faq/index.js +5 -6
  70. package/dist/components/features/index.cjs +4 -5
  71. package/dist/components/features/index.cjs.map +1 -1
  72. package/dist/components/features/index.js +3 -4
  73. package/dist/components/index.cjs +193 -195
  74. package/dist/components/index.cjs.map +1 -1
  75. package/dist/components/index.js +12 -14
  76. package/dist/components/index.js.map +1 -1
  77. package/dist/components/navigation/index.cjs +4 -5
  78. package/dist/components/navigation/index.cjs.map +1 -1
  79. package/dist/components/navigation/index.js +3 -4
  80. package/dist/components/onboarding-guides/index.cjs +44 -41
  81. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  82. package/dist/components/onboarding-guides/index.js +11 -8
  83. package/dist/components/onboarding-guides/index.js.map +1 -1
  84. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  85. package/dist/components/related-content/index.cjs +6 -7
  86. package/dist/components/related-content/index.cjs.map +1 -1
  87. package/dist/components/related-content/index.js +5 -6
  88. package/dist/components/tickets/index.cjs +75 -76
  89. package/dist/components/tickets/index.cjs.map +1 -1
  90. package/dist/components/tickets/index.js +5 -6
  91. package/dist/components/tickets/index.js.map +1 -1
  92. package/dist/components/ui/index.cjs +4 -5
  93. package/dist/components/ui/index.cjs.map +1 -1
  94. package/dist/components/ui/index.js +3 -4
  95. package/dist/contexts/chat-runtime-context.d.ts +17 -13
  96. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  97. package/dist/contexts/index.cjs +2 -4
  98. package/dist/contexts/index.cjs.map +1 -1
  99. package/dist/contexts/index.js +3 -5
  100. package/dist/contexts/index.js.map +1 -1
  101. package/dist/hooks/index.cjs +3 -3
  102. package/dist/hooks/index.cjs.map +1 -1
  103. package/dist/hooks/index.d.ts +1 -1
  104. package/dist/hooks/index.d.ts.map +1 -1
  105. package/dist/hooks/index.js +4 -4
  106. package/dist/hooks/use-og-placeholder-url.d.ts +27 -0
  107. package/dist/hooks/use-og-placeholder-url.d.ts.map +1 -0
  108. package/dist/index.cjs +6 -5
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.js +7 -6
  111. package/dist/utils/index.cjs +26 -0
  112. package/dist/utils/index.cjs.map +1 -1
  113. package/dist/utils/index.d.ts +1 -0
  114. package/dist/utils/index.d.ts.map +1 -1
  115. package/dist/utils/index.js +26 -1
  116. package/dist/utils/index.js.map +1 -1
  117. package/dist/utils/og-placeholder.d.ts +59 -0
  118. package/dist/utils/og-placeholder.d.ts.map +1 -0
  119. package/package.json +1 -1
  120. package/src/components/chat/entity-cards/admin-content-card.tsx +1 -1
  121. package/src/components/chat/entity-cards/blog-card.tsx +2 -2
  122. package/src/components/chat/entity-cards/blog-image-placeholder.tsx +1 -1
  123. package/src/components/chat/entity-cards/case-study-card.tsx +1 -1
  124. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +4 -3
  125. package/src/components/chat/entity-cards/use-entity-card-placeholder.ts +13 -26
  126. package/src/components/chat/entity-cards/what-i-shipped-card.tsx +1 -1
  127. package/src/components/embeds/og-link-preview.tsx +2 -2
  128. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +4 -2
  129. package/src/contexts/chat-runtime-context.tsx +17 -13
  130. package/src/hooks/index.ts +2 -2
  131. package/src/hooks/use-og-placeholder-url.ts +46 -0
  132. package/src/utils/index.ts +4 -0
  133. package/src/utils/og-placeholder.ts +105 -0
  134. package/dist/chunk-27APPAJN.cjs +0 -24
  135. package/dist/chunk-27APPAJN.cjs.map +0 -1
  136. package/dist/chunk-2QG57XOJ.js.map +0 -1
  137. package/dist/chunk-5MLYCLOI.js.map +0 -1
  138. package/dist/chunk-BL6XZ2XD.cjs.map +0 -1
  139. package/dist/chunk-IZ7JSBFP.js +0 -24
  140. package/dist/chunk-IZ7JSBFP.js.map +0 -1
  141. package/dist/chunk-L6PSSIUQ.cjs +0 -24
  142. package/dist/chunk-L6PSSIUQ.cjs.map +0 -1
  143. package/dist/chunk-MJNXIEV2.js +0 -24
  144. package/dist/chunk-MJNXIEV2.js.map +0 -1
  145. package/dist/chunk-WMSTJAZT.cjs.map +0 -1
  146. package/dist/hooks/use-og-placeholder.d.ts +0 -31
  147. package/dist/hooks/use-og-placeholder.d.ts.map +0 -1
  148. package/src/hooks/use-og-placeholder.ts +0 -45
  149. /package/dist/{chunk-RY62M66O.js.map → chunk-7EMOBUB2.js.map} +0 -0
  150. /package/dist/{chunk-WDWGFUT2.js.map → chunk-APWW3GPU.js.map} +0 -0
  151. /package/dist/{chunk-PI4WSYQV.js.map → chunk-JQLC2FVM.js.map} +0 -0
  152. /package/dist/{chunk-DVHQGII5.js.map → chunk-K3F3AXCC.js.map} +0 -0
  153. /package/dist/{chunk-N4DEX22O.js.map → chunk-KNX4OEU5.js.map} +0 -0
  154. /package/dist/{chunk-B2IN2IND.js.map → chunk-OZW6GJKN.js.map} +0 -0
  155. /package/dist/{chunk-NEVMYN4G.js.map → chunk-QSPEFQSN.js.map} +0 -0
  156. /package/dist/{chunk-QE5CNWPF.js.map → chunk-SYNOZPQC.js.map} +0 -0
  157. /package/dist/{chunk-XKIO5K5N.js.map → chunk-ZLLGC2RZ.js.map} +0 -0
@@ -23,11 +23,11 @@
23
23
 
24
24
 
25
25
 
26
- var _chunkWMSTJAZTcjs = require('./chunk-WMSTJAZT.cjs');
26
+ var _chunkG56GYN7Zcjs = require('./chunk-G56GYN7Z.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunkL6PSSIUQcjs = require('./chunk-L6PSSIUQ.cjs');
30
+ var _chunkN2DVKXN4cjs = require('./chunk-N2DVKXN4.cjs');
31
31
 
32
32
 
33
33
  var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
@@ -842,7 +842,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
842
842
  onClick: onToggle,
843
843
  className: "flex gap-2 items-start w-full p-3 cursor-pointer text-left",
844
844
  children: [
845
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMSTJAZTcjs.ToolIcon, { toolType, size: 16 }) }),
845
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG56GYN7Zcjs.ToolIcon, { toolType, size: 16 }) }),
846
846
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
847
847
  "div",
848
848
  {
@@ -4161,7 +4161,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
4161
4161
  className: "flex gap-[var(--spacing-system-xs)] items-start p-[var(--spacing-system-s)] cursor-pointer text-left w-full",
4162
4162
  onClick: () => setExpanded((prev) => !prev),
4163
4163
  children: [
4164
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMSTJAZTcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4164
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center shrink-0 w-5 h-5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG56GYN7Zcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
4165
4165
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4166
4166
  "div",
4167
4167
  {
@@ -5513,7 +5513,7 @@ function generateImageSizes(_url) {
5513
5513
 
5514
5514
  // src/components/chat/hooks/use-proxied-image-url.ts
5515
5515
  function useProxiedImageUrl(url) {
5516
- const r = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
5516
+ const r = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
5517
5517
  return _nullishCoalesce(getProxiedImageUrl(_nullishCoalesce(url, () => ( "")), {
5518
5518
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
5519
5519
  skipDomains: r.endpoints.imageProxySkipDomains,
@@ -5639,7 +5639,7 @@ function ChatQuickActionRow({
5639
5639
  chips,
5640
5640
  className
5641
5641
  }) {
5642
- const auto = _chunkWMSTJAZTcjs.useAutoLimitTags.call(void 0, {
5642
+ const auto = _chunkG56GYN7Zcjs.useAutoLimitTags.call(void 0, {
5643
5643
  count: chips.length,
5644
5644
  reserveInputWidth: false
5645
5645
  });
@@ -8074,7 +8074,7 @@ function NavLinkAnchorViaRuntime({
8074
8074
  className,
8075
8075
  children
8076
8076
  }) {
8077
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
8077
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
8078
8078
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
8079
8079
  const panel = useChatPanel();
8080
8080
  const resolvedHref = resolveHrefForRuntime(href, runtime);
@@ -8501,7 +8501,7 @@ function AdminContentCard({
8501
8501
  const [imageError, setImageError] = _react.useState.call(void 0, false);
8502
8502
  const [imageLoaded, setImageLoaded] = _react.useState.call(void 0, false);
8503
8503
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
8504
- const imageBgColor = _chunkWMSTJAZTcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
8504
+ const imageBgColor = _chunkG56GYN7Zcjs.useImageEdgeColor.call(void 0, displayUrl || null, "transparent");
8505
8505
  _react.useEffect.call(void 0, () => {
8506
8506
  setImageLoaded(false);
8507
8507
  }, [displayUrl]);
@@ -9147,7 +9147,7 @@ var RATIO_TO_CSS_ASPECT = {
9147
9147
  landscape: "16 / 9"
9148
9148
  };
9149
9149
  function LazyBite({ ratio, children }) {
9150
- const { ref, isNear } = _chunkWMSTJAZTcjs.useNearViewport.call(void 0, "500px");
9150
+ const { ref, isNear } = _chunkG56GYN7Zcjs.useNearViewport.call(void 0, "500px");
9151
9151
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, style: { aspectRatio: RATIO_TO_CSS_ASPECT[ratio] }, children: isNear ? children : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full h-full bg-ods-card rounded-md" }) });
9152
9152
  }
9153
9153
  function VideoBitesDisplay({
@@ -9962,7 +9962,7 @@ function useEntityCardLink({
9962
9962
  target,
9963
9963
  rel
9964
9964
  }) {
9965
- const runtime = _chunkL6PSSIUQcjs.useChatRuntime.call(void 0, );
9965
+ const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
9966
9966
  return _react.useMemo.call(void 0, () => {
9967
9967
  if (target !== void 0 || rel !== void 0) {
9968
9968
  const safeRel = _nullishCoalesce(rel, () => ( (target === "_blank" ? "noopener noreferrer" : void 0)));
@@ -9974,17 +9974,13 @@ function useEntityCardLink({
9974
9974
  }
9975
9975
 
9976
9976
  // src/components/chat/entity-cards/use-entity-card-placeholder.ts
9977
- var NO_OP_BUILDER = () => "";
9978
9977
  function useEntityCardPlaceholder({
9979
9978
  title,
9980
9979
  placeholderUrl,
9981
9980
  siteName = "",
9982
9981
  aspect = "wide"
9983
9982
  }) {
9984
- const runtime = _chunkL6PSSIUQcjs.useChatRuntime.call(void 0, );
9985
- const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _146 => _146.resolvePlaceholderUrl]), () => ( NO_OP_BUILDER));
9986
- const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess', _147 => _147.resolvePlaceholderUrl]);
9987
- const derived = _chunkWMSTJAZTcjs.useOgPlaceholder.call(void 0, builder, title, siteName, enabled, aspect);
9983
+ const derived = _chunkG56GYN7Zcjs.useOgPlaceholderUrl.call(void 0, { title, siteName, aspect });
9988
9984
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
9989
9985
  }
9990
9986
 
@@ -10076,7 +10072,7 @@ function BlogCard({
10076
10072
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
10077
10073
  if (size === "sm") {
10078
10074
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" }) : "";
10079
- const firstCategory = _optionalChain([post, 'access', _148 => _148.categories, 'optionalAccess', _149 => _149.find, 'call', _150 => _150((c) => c && c.name), 'optionalAccess', _151 => _151.name]);
10075
+ const firstCategory = _optionalChain([post, 'access', _146 => _146.categories, 'optionalAccess', _147 => _147.find, 'call', _148 => _148((c) => c && c.name), 'optionalAccess', _149 => _149.name]);
10080
10076
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10081
10077
  "a",
10082
10078
  {
@@ -10282,14 +10278,14 @@ function CaseStudyCard({
10282
10278
  "img",
10283
10279
  {
10284
10280
  src: coverImage,
10285
- alt: `${_optionalChain([study, 'access', _152 => _152.msp, 'optionalAccess', _153 => _153.name]) || study.title} cover`,
10281
+ alt: `${_optionalChain([study, 'access', _150 => _150.msp, 'optionalAccess', _151 => _151.name]) || study.title} cover`,
10286
10282
  className: "absolute inset-0 block w-full h-full object-contain",
10287
10283
  onError: hideOnError
10288
10284
  }
10289
10285
  ) : null }),
10290
10286
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
10291
10287
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: study.title }) }),
10292
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _154 => _154.msp, 'optionalAccess', _155 => _155.name]), _optionalChain([study, 'access', _156 => _156.user, 'optionalAccess', _157 => _157.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
10288
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _152 => _152.msp, 'optionalAccess', _153 => _153.name]), _optionalChain([study, 'access', _154 => _154.user, 'optionalAccess', _155 => _155.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
10293
10289
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: study.summary || COMPACT_CARD_ROW_FILLER }) })
10294
10290
  ] })
10295
10291
  ] });
@@ -10299,7 +10295,7 @@ function CaseStudyCard({
10299
10295
  _chunkXL4V2PYGcjs.next_image_default,
10300
10296
  {
10301
10297
  src: coverImage,
10302
- alt: _optionalChain([study, 'access', _158 => _158.msp, 'optionalAccess', _159 => _159.name]) || study.title,
10298
+ alt: _optionalChain([study, 'access', _156 => _156.msp, 'optionalAccess', _157 => _157.name]) || study.title,
10303
10299
  className: "w-full h-full object-cover",
10304
10300
  sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
10305
10301
  fill: true,
@@ -10310,18 +10306,18 @@ function CaseStudyCard({
10310
10306
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[72px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary line-clamp-3 break-words", children: study.title }) }),
10311
10307
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
10312
10308
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
10313
- _optionalChain([study, 'access', _160 => _160.user, 'optionalAccess', _161 => _161.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10309
+ _optionalChain([study, 'access', _158 => _158.user, 'optionalAccess', _159 => _159.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10314
10310
  _chunkXL4V2PYGcjs.next_image_default,
10315
10311
  {
10316
10312
  src: study.user.avatar_url,
10317
- alt: _optionalChain([study, 'access', _162 => _162.user, 'optionalAccess', _163 => _163.full_name]) || "User",
10313
+ alt: _optionalChain([study, 'access', _160 => _160.user, 'optionalAccess', _161 => _161.full_name]) || "User",
10318
10314
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
10319
10315
  width: 48,
10320
10316
  height: 48,
10321
10317
  unoptimized: true
10322
10318
  }
10323
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access', _164 => _164.user, 'optionalAccess', _165 => _165.full_name]) || "A").charAt(0).toUpperCase() }) }),
10324
- _optionalChain([study, 'access', _166 => _166.msp, 'optionalAccess', _167 => _167.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10319
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access', _162 => _162.user, 'optionalAccess', _163 => _163.full_name]) || "A").charAt(0).toUpperCase() }) }),
10320
+ _optionalChain([study, 'access', _164 => _164.msp, 'optionalAccess', _165 => _165.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10325
10321
  _chunkXL4V2PYGcjs.next_image_default,
10326
10322
  {
10327
10323
  src: study.msp.icon_url,
@@ -10335,13 +10331,13 @@ function CaseStudyCard({
10335
10331
  ] }),
10336
10332
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
10337
10333
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
10338
- _optionalChain([study, 'access', _168 => _168.user, 'optionalAccess', _169 => _169.full_name]) || "Anonymous",
10339
- _optionalChain([study, 'access', _170 => _170.msp, 'optionalAccess', _171 => _171.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10334
+ _optionalChain([study, 'access', _166 => _166.user, 'optionalAccess', _167 => _167.full_name]) || "Anonymous",
10335
+ _optionalChain([study, 'access', _168 => _168.msp, 'optionalAccess', _169 => _169.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10340
10336
  " \u2022 ",
10341
10337
  study.msp.name
10342
10338
  ] })
10343
10339
  ] }),
10344
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _172 => _172.user, 'optionalAccess', _173 => _173.job_title]) || "\xA0" })
10340
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _170 => _170.user, 'optionalAccess', _171 => _171.job_title]) || "\xA0" })
10345
10341
  ] })
10346
10342
  ] }) })
10347
10343
  ] }) });
@@ -10424,7 +10420,7 @@ function CustomerInterviewCard({
10424
10420
  ] }),
10425
10421
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
10426
10422
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: interview.title }) }),
10427
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _174 => _174.user, 'optionalAccess', _175 => _175.full_name]), _optionalChain([interview, 'access', _176 => _176.msp, 'optionalAccess', _177 => _177.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
10423
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _172 => _172.user, 'optionalAccess', _173 => _173.full_name]), _optionalChain([interview, 'access', _174 => _174.msp, 'optionalAccess', _175 => _175.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
10428
10424
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: interview.video_summary || COMPACT_CARD_ROW_FILLER }) })
10429
10425
  ] })
10430
10426
  ] });
@@ -10446,15 +10442,15 @@ function CustomerInterviewCard({
10446
10442
  interview.video_summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-[20px] text-ods-text-secondary line-clamp-3", children: interview.video_summary }) }),
10447
10443
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0 mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
10448
10444
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
10449
- _optionalChain([interview, 'access', _178 => _178.user, 'optionalAccess', _179 => _179.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10445
+ _optionalChain([interview, 'access', _176 => _176.user, 'optionalAccess', _177 => _177.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10450
10446
  "img",
10451
10447
  {
10452
10448
  src: interview.user.avatar_url,
10453
- alt: _optionalChain([interview, 'access', _180 => _180.user, 'optionalAccess', _181 => _181.full_name]) || "Customer",
10449
+ alt: _optionalChain([interview, 'access', _178 => _178.user, 'optionalAccess', _179 => _179.full_name]) || "Customer",
10454
10450
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
10455
10451
  }
10456
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access', _182 => _182.user, 'optionalAccess', _183 => _183.full_name]) || "A").charAt(0).toUpperCase() }) }),
10457
- _optionalChain([interview, 'access', _184 => _184.msp, 'optionalAccess', _185 => _185.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10452
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access', _180 => _180.user, 'optionalAccess', _181 => _181.full_name]) || "A").charAt(0).toUpperCase() }) }),
10453
+ _optionalChain([interview, 'access', _182 => _182.msp, 'optionalAccess', _183 => _183.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10458
10454
  "img",
10459
10455
  {
10460
10456
  src: interview.msp.icon_url,
@@ -10465,13 +10461,13 @@ function CustomerInterviewCard({
10465
10461
  ] }),
10466
10462
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
10467
10463
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
10468
- _optionalChain([interview, 'access', _186 => _186.user, 'optionalAccess', _187 => _187.full_name]) || "Anonymous",
10469
- _optionalChain([interview, 'access', _188 => _188.msp, 'optionalAccess', _189 => _189.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10464
+ _optionalChain([interview, 'access', _184 => _184.user, 'optionalAccess', _185 => _185.full_name]) || "Anonymous",
10465
+ _optionalChain([interview, 'access', _186 => _186.msp, 'optionalAccess', _187 => _187.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10470
10466
  " \u2022 ",
10471
10467
  interview.msp.name
10472
10468
  ] })
10473
10469
  ] }),
10474
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _190 => _190.user, 'optionalAccess', _191 => _191.job_title]) || " " })
10470
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _188 => _188.user, 'optionalAccess', _189 => _189.job_title]) || " " })
10475
10471
  ] })
10476
10472
  ] }) })
10477
10473
  ] }) });
@@ -10484,7 +10480,7 @@ function CustomerInterviewCard({
10484
10480
  function formatInvestorUpdatePeriod(start, end, options) {
10485
10481
  if (!start && !end) return "";
10486
10482
  const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
10487
- month: _optionalChain([options, 'optionalAccess', _192 => _192.monthFormat]) || "short",
10483
+ month: _optionalChain([options, 'optionalAccess', _190 => _190.monthFormat]) || "short",
10488
10484
  year: "numeric"
10489
10485
  });
10490
10486
  const s = start ? fmt(start) : "?";
@@ -10574,7 +10570,7 @@ function InvestorUpdateCard({
10574
10570
  imageUrl: update.featured_image,
10575
10571
  placeholderUrl,
10576
10572
  title: update.title || `Update #${update.update_number || "?"}`,
10577
- summary: _optionalChain([update, 'access', _193 => _193.strategic_update, 'optionalAccess', _194 => _194.slice, 'call', _195 => _195(0, 120)]) || _optionalChain([update, 'access', _196 => _196.content, 'optionalAccess', _197 => _197.slice, 'call', _198 => _198(0, 120)]) || "No description",
10573
+ summary: _optionalChain([update, 'access', _191 => _191.strategic_update, 'optionalAccess', _192 => _192.slice, 'call', _193 => _193(0, 120)]) || _optionalChain([update, 'access', _194 => _194.content, 'optionalAccess', _195 => _195.slice, 'call', _196 => _196(0, 120)]) || "No description",
10578
10574
  badges: update.update_number ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "px-2 py-0.5 rounded text-xs font-medium bg-ods-accent/10 text-ods-accent", children: [
10579
10575
  "#",
10580
10576
  update.update_number
@@ -10766,7 +10762,7 @@ function OnboardingGuideCard({
10766
10762
  const compactCover = coverImage || placeholderUrl || null;
10767
10763
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
10768
10764
  const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
10769
- const author = _optionalChain([guide, 'access', _199 => _199.author, 'optionalAccess', _200 => _200.full_name, 'optionalAccess', _201 => _201.trim, 'call', _202 => _202()]) || "";
10765
+ const author = _optionalChain([guide, 'access', _197 => _197.author, 'optionalAccess', _198 => _198.full_name, 'optionalAccess', _199 => _199.trim, 'call', _200 => _200()]) || "";
10770
10766
  const subtitleParts = [
10771
10767
  `Step ${guide.step_order}`,
10772
10768
  guide.section,
@@ -11139,7 +11135,7 @@ function AutocompleteInner(props, ref) {
11139
11135
  if (!isInputControlled) {
11140
11136
  setInternalInputValue(value);
11141
11137
  }
11142
- _optionalChain([onInputChange, 'optionalCall', _203 => _203(value, reason)]);
11138
+ _optionalChain([onInputChange, 'optionalCall', _201 => _201(value, reason)]);
11143
11139
  };
11144
11140
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
11145
11141
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
@@ -11152,7 +11148,7 @@ function AutocompleteInner(props, ref) {
11152
11148
  }, [valueArray, options]);
11153
11149
  const selectedOption = !multiple && selectedOptions.length > 0 ? selectedOptions[0] : null;
11154
11150
  const inputPlaceholder = multiple ? valueArray.length === 0 ? placeholder : "Add More..." : placeholder;
11155
- const autoLimitTags = _chunkWMSTJAZTcjs.useAutoLimitTags.call(void 0, {
11151
+ const autoLimitTags = _chunkG56GYN7Zcjs.useAutoLimitTags.call(void 0, {
11156
11152
  count: multiple ? selectedOptions.length : 0,
11157
11153
  limitTags: multiple ? limitTagsProp : 0,
11158
11154
  placeholder: inputPlaceholder
@@ -11167,8 +11163,8 @@ function AutocompleteInner(props, ref) {
11167
11163
  if (!showHiddenTags) return;
11168
11164
  const handleClick = (e) => {
11169
11165
  const target = e.target;
11170
- const inButton = _optionalChain([hiddenTagsRef, 'access', _204 => _204.current, 'optionalAccess', _205 => _205.contains, 'call', _206 => _206(target)]);
11171
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _207 => _207.current, 'optionalAccess', _208 => _208.contains, 'call', _209 => _209(target)]);
11166
+ const inButton = _optionalChain([hiddenTagsRef, 'access', _202 => _202.current, 'optionalAccess', _203 => _203.contains, 'call', _204 => _204(target)]);
11167
+ const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _205 => _205.current, 'optionalAccess', _206 => _206.contains, 'call', _207 => _207(target)]);
11172
11168
  if (!inButton && !inPopup) {
11173
11169
  setShowHiddenTags(false);
11174
11170
  }
@@ -11212,7 +11208,7 @@ function AutocompleteInner(props, ref) {
11212
11208
  }
11213
11209
  updateInputValue("", "reset");
11214
11210
  setIsOpen(false);
11215
- _optionalChain([onCreateOption, 'optionalCall', _210 => _210(trimmed)]);
11211
+ _optionalChain([onCreateOption, 'optionalCall', _208 => _208(trimmed)]);
11216
11212
  };
11217
11213
  _react.useEffect.call(void 0, () => {
11218
11214
  setHighlightedIndex(-1);
@@ -11236,7 +11232,7 @@ function AutocompleteInner(props, ref) {
11236
11232
  props.onChange([...valueArray, option.value]);
11237
11233
  }
11238
11234
  updateInputValue("", "reset");
11239
- _optionalChain([autoLimitTags, 'access', _211 => _211.inputRef, 'access', _212 => _212.current, 'optionalAccess', _213 => _213.focus, 'call', _214 => _214()]);
11235
+ _optionalChain([autoLimitTags, 'access', _209 => _209.inputRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.focus, 'call', _212 => _212()]);
11240
11236
  } else {
11241
11237
  ;
11242
11238
  props.onChange(option.value);
@@ -11257,7 +11253,7 @@ function AutocompleteInner(props, ref) {
11257
11253
  if (!isInputControlled) {
11258
11254
  setInternalInputValue("");
11259
11255
  }
11260
- _optionalChain([onInputChange, 'optionalCall', _215 => _215("", "clear")]);
11256
+ _optionalChain([onInputChange, 'optionalCall', _213 => _213("", "clear")]);
11261
11257
  setIsOpen(false);
11262
11258
  };
11263
11259
  const handleKeyDown = (e) => {
@@ -11331,7 +11327,7 @@ function AutocompleteInner(props, ref) {
11331
11327
  ),
11332
11328
  onClick: () => {
11333
11329
  if (!disabled) {
11334
- _optionalChain([autoLimitTags, 'access', _216 => _216.inputRef, 'access', _217 => _217.current, 'optionalAccess', _218 => _218.focus, 'call', _219 => _219()]);
11330
+ _optionalChain([autoLimitTags, 'access', _214 => _214.inputRef, 'access', _215 => _215.current, 'optionalAccess', _216 => _216.focus, 'call', _217 => _217()]);
11335
11331
  openDropdown();
11336
11332
  }
11337
11333
  },
@@ -11447,10 +11443,10 @@ function AutocompleteInner(props, ref) {
11447
11443
  align: "start",
11448
11444
  onOpenAutoFocus: (e) => {
11449
11445
  e.preventDefault();
11450
- _optionalChain([autoLimitTags, 'access', _220 => _220.inputRef, 'access', _221 => _221.current, 'optionalAccess', _222 => _222.focus, 'call', _223 => _223()]);
11446
+ _optionalChain([autoLimitTags, 'access', _218 => _218.inputRef, 'access', _219 => _219.current, 'optionalAccess', _220 => _220.focus, 'call', _221 => _221()]);
11451
11447
  },
11452
11448
  onInteractOutside: (e) => {
11453
- if (_optionalChain([containerRef, 'access', _224 => _224.current, 'optionalAccess', _225 => _225.contains, 'call', _226 => _226(e.target)])) {
11449
+ if (_optionalChain([containerRef, 'access', _222 => _222.current, 'optionalAccess', _223 => _223.contains, 'call', _224 => _224(e.target)])) {
11454
11450
  e.preventDefault();
11455
11451
  }
11456
11452
  },
@@ -11843,7 +11839,7 @@ var defaultFormatDate = (date) => {
11843
11839
  });
11844
11840
  };
11845
11841
  var formatDateRange2 = (range, formatFn) => {
11846
- if (!_optionalChain([range, 'optionalAccess', _227 => _227.from])) return "";
11842
+ if (!_optionalChain([range, 'optionalAccess', _225 => _225.from])) return "";
11847
11843
  if (!range.to) return formatFn(range.from);
11848
11844
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
11849
11845
  };
@@ -11871,7 +11867,7 @@ function DatePickerCalendar({
11871
11867
  }) {
11872
11868
  const today = /* @__PURE__ */ new Date();
11873
11869
  const rangeSelected = selected;
11874
- const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _228 => _228.from]) && _optionalChain([rangeSelected, 'optionalAccess', _229 => _229.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
11870
+ const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _226 => _226.from]) && _optionalChain([rangeSelected, 'optionalAccess', _227 => _227.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
11875
11871
  const classNames = {
11876
11872
  root: "p-4 date-picker-calendar",
11877
11873
  months: "flex gap-8",
@@ -11922,7 +11918,7 @@ function DatePickerCalendar({
11922
11918
  range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
11923
11919
  };
11924
11920
  const [month, setMonth] = React39.useState(
11925
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _230 => _230.from]) || today
11921
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _228 => _228.from]) || today
11926
11922
  );
11927
11923
  const handlePreviousMonth = () => {
11928
11924
  setMonth((prev) => {
@@ -12141,14 +12137,14 @@ function DatePicker(props) {
12141
12137
  }, [props.mode, props.value, formatDate2]);
12142
12138
  const handleSelect = (value) => {
12143
12139
  if (props.mode === "single") {
12144
- _optionalChain([props, 'access', _231 => _231.onChange, 'optionalCall', _232 => _232(value)]);
12140
+ _optionalChain([props, 'access', _229 => _229.onChange, 'optionalCall', _230 => _230(value)]);
12145
12141
  if (value) {
12146
12142
  setOpen(false);
12147
12143
  }
12148
12144
  } else {
12149
12145
  const range = value;
12150
- _optionalChain([props, 'access', _233 => _233.onChange, 'optionalCall', _234 => _234(range)]);
12151
- if (_optionalChain([range, 'optionalAccess', _235 => _235.from]) && _optionalChain([range, 'optionalAccess', _236 => _236.to]) && range.from.getTime() !== range.to.getTime()) {
12146
+ _optionalChain([props, 'access', _231 => _231.onChange, 'optionalCall', _232 => _232(range)]);
12147
+ if (_optionalChain([range, 'optionalAccess', _233 => _233.from]) && _optionalChain([range, 'optionalAccess', _234 => _234.to]) && range.from.getTime() !== range.to.getTime()) {
12152
12148
  setOpen(false);
12153
12149
  }
12154
12150
  }
@@ -12255,7 +12251,7 @@ function DatePickerInput({
12255
12251
  if (newDate && value) {
12256
12252
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
12257
12253
  }
12258
- _optionalChain([onChange, 'optionalCall', _237 => _237(newDate)]);
12254
+ _optionalChain([onChange, 'optionalCall', _235 => _235(newDate)]);
12259
12255
  if (newDate) {
12260
12256
  setOpen(false);
12261
12257
  }
@@ -12272,12 +12268,12 @@ function DatePickerInput({
12272
12268
  }
12273
12269
  }
12274
12270
  date.setHours(hours);
12275
- _optionalChain([onChange, 'optionalCall', _238 => _238(date)]);
12271
+ _optionalChain([onChange, 'optionalCall', _236 => _236(date)]);
12276
12272
  };
12277
12273
  const handleMinuteChange = (newMinute) => {
12278
12274
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
12279
12275
  date.setMinutes(parseInt(newMinute, 10));
12280
- _optionalChain([onChange, 'optionalCall', _239 => _239(date)]);
12276
+ _optionalChain([onChange, 'optionalCall', _237 => _237(date)]);
12281
12277
  };
12282
12278
  const handlePeriodChange = (newPeriod) => {
12283
12279
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -12288,7 +12284,7 @@ function DatePickerInput({
12288
12284
  hours += 12;
12289
12285
  }
12290
12286
  date.setHours(hours);
12291
- _optionalChain([onChange, 'optionalCall', _240 => _240(date)]);
12287
+ _optionalChain([onChange, 'optionalCall', _238 => _238(date)]);
12292
12288
  };
12293
12289
  const hourOptions = React39.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
12294
12290
  const minuteOptions = React39.useMemo(() => generateMinuteOptions(), []);
@@ -12449,7 +12445,7 @@ function DatePickerInputSimple({
12449
12445
  if (newDate && value) {
12450
12446
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
12451
12447
  }
12452
- _optionalChain([onChange, 'optionalCall', _241 => _241(newDate)]);
12448
+ _optionalChain([onChange, 'optionalCall', _239 => _239(newDate)]);
12453
12449
  if (newDate) {
12454
12450
  setOpen(false);
12455
12451
  }
@@ -12458,7 +12454,7 @@ function DatePickerInputSimple({
12458
12454
  const [hours, minutes] = newTime.split(":").map(Number);
12459
12455
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
12460
12456
  date.setHours(hours, minutes, 0, 0);
12461
- _optionalChain([onChange, 'optionalCall', _242 => _242(date)]);
12457
+ _optionalChain([onChange, 'optionalCall', _240 => _240(date)]);
12462
12458
  };
12463
12459
  const timeOptions = React39.useMemo(
12464
12460
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -12564,7 +12560,7 @@ var ProgressBar = ({
12564
12560
  mobileHeight = 8,
12565
12561
  inverted = false
12566
12562
  }) => {
12567
- const isMdUp = _nullishCoalesce(_chunkWMSTJAZTcjs.useMdUp.call(void 0, ), () => ( true));
12563
+ const isMdUp = _nullishCoalesce(_chunkG56GYN7Zcjs.useMdUp.call(void 0, ), () => ( true));
12568
12564
  const effectiveSegmentWidth = isMdUp ? segmentWidth : mobileSegmentWidth;
12569
12565
  const effectiveHeight = isMdUp ? height : mobileHeight;
12570
12566
  const containerRef = _react.useRef.call(void 0, null);
@@ -12683,7 +12679,7 @@ function InfoCardFooter({ footer }) {
12683
12679
  ] });
12684
12680
  }
12685
12681
  function InfoCardValueRow({ label, value, showLabel, copyable, copyAriaLabel }) {
12686
- const { copy, copied } = _chunkWMSTJAZTcjs.useCopyToClipboard.call(void 0, );
12682
+ const { copy, copied } = _chunkG56GYN7Zcjs.useCopyToClipboard.call(void 0, );
12687
12683
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-6 items-center gap-[var(--spacing-system-xs)] self-stretch w-full", children: [
12688
12684
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h4 text-ods-text-primary whitespace-nowrap", children: showLabel ? label : "" }),
12689
12685
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 h-px bg-ods-divider" }),
@@ -12928,7 +12924,7 @@ var NoData = React112.default.forwardRef(function NoData2({
12928
12924
  ...props
12929
12925
  }, ref) {
12930
12926
  const hasMessage = !!(icon || title || description);
12931
- const hasActions = !!_optionalChain([actions, 'optionalAccess', _243 => _243.length]);
12927
+ const hasActions = !!_optionalChain([actions, 'optionalAccess', _241 => _241.length]);
12932
12928
  const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12933
12929
  _chunkFQOTC3UUcjs.Button,
12934
12930
  {
@@ -12936,7 +12932,7 @@ var NoData = React112.default.forwardRef(function NoData2({
12936
12932
  leftIcon: buttonIcon,
12937
12933
  onClick: onButtonClick,
12938
12934
  ...buttonProps,
12939
- className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _244 => _244.className])),
12935
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _242 => _242.className])),
12940
12936
  children: buttonLabel
12941
12937
  }
12942
12938
  ) : null)));
@@ -13171,7 +13167,7 @@ var Switch = React48.forwardRef(({ className, checked, onCheckedChange, ...props
13171
13167
  }, [checked]);
13172
13168
  const handleCheckedChange = (newChecked) => {
13173
13169
  setIsChecked(newChecked);
13174
- _optionalChain([onCheckedChange, 'optionalCall', _245 => _245(newChecked)]);
13170
+ _optionalChain([onCheckedChange, 'optionalCall', _243 => _243(newChecked)]);
13175
13171
  };
13176
13172
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13177
13173
  SwitchPrimitives.Root,
@@ -13380,7 +13376,7 @@ function TagsManager({
13380
13376
  const name = search.trim();
13381
13377
  if (!name) return;
13382
13378
  const result = await onCreateTag(name);
13383
- if (_optionalChain([result, 'optionalAccess', _246 => _246.id])) {
13379
+ if (_optionalChain([result, 'optionalAccess', _244 => _244.id])) {
13384
13380
  onChange([...selectedIds, result.id]);
13385
13381
  setSearch("");
13386
13382
  }
@@ -13388,7 +13384,7 @@ function TagsManager({
13388
13384
  const startEdit = React50.useCallback((id, name) => {
13389
13385
  setEditingId(id);
13390
13386
  setEditingName(name);
13391
- setTimeout(() => _optionalChain([editInputRef, 'access', _247 => _247.current, 'optionalAccess', _248 => _248.focus, 'call', _249 => _249()]), 0);
13387
+ setTimeout(() => _optionalChain([editInputRef, 'access', _245 => _245.current, 'optionalAccess', _246 => _246.focus, 'call', _247 => _247()]), 0);
13392
13388
  }, []);
13393
13389
  const confirmEdit = React50.useCallback(async () => {
13394
13390
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -13415,7 +13411,7 @@ function TagsManager({
13415
13411
  e.stopPropagation();
13416
13412
  onChange([]);
13417
13413
  setSearch("");
13418
- _optionalChain([inputRef, 'access', _250 => _250.current, 'optionalAccess', _251 => _251.focus, 'call', _252 => _252()]);
13414
+ _optionalChain([inputRef, 'access', _248 => _248.current, 'optionalAccess', _249 => _249.focus, 'call', _250 => _250()]);
13419
13415
  },
13420
13416
  [onChange]
13421
13417
  );
@@ -13514,10 +13510,10 @@ function TagsManager({
13514
13510
  align: "start",
13515
13511
  onOpenAutoFocus: (e) => {
13516
13512
  e.preventDefault();
13517
- _optionalChain([inputRef, 'access', _253 => _253.current, 'optionalAccess', _254 => _254.focus, 'call', _255 => _255()]);
13513
+ _optionalChain([inputRef, 'access', _251 => _251.current, 'optionalAccess', _252 => _252.focus, 'call', _253 => _253()]);
13518
13514
  },
13519
13515
  onInteractOutside: (e) => {
13520
- if (_optionalChain([containerRef, 'access', _256 => _256.current, 'optionalAccess', _257 => _257.contains, 'call', _258 => _258(e.target)])) {
13516
+ if (_optionalChain([containerRef, 'access', _254 => _254.current, 'optionalAccess', _255 => _255.contains, 'call', _256 => _256(e.target)])) {
13521
13517
  e.preventDefault();
13522
13518
  }
13523
13519
  },
@@ -14353,7 +14349,7 @@ var DrawerContent = React56.forwardRef(
14353
14349
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
14354
14350
  const isHorizontal = HORIZONTAL_SIDES.has(resolvedSide);
14355
14351
  const initialSize = _nullishCoalesce(defaultSize, () => ( (isHorizontal ? 560 : 480)));
14356
- const headerHeight = _chunkWMSTJAZTcjs.useHeaderHeight.call(void 0, );
14352
+ const headerHeight = _chunkG56GYN7Zcjs.useHeaderHeight.call(void 0, );
14357
14353
  const [isMobile, setIsMobile] = React56.useState(false);
14358
14354
  React56.useEffect(() => {
14359
14355
  if (typeof window === "undefined") return;
@@ -14915,19 +14911,19 @@ function TabNavigation({
14915
14911
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
14916
14912
  const getInitialTab = () => {
14917
14913
  if (isUrlSyncEnabled) {
14918
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _259 => _259.get, 'call', _260 => _260(paramName)]) || "";
14914
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _257 => _257.get, 'call', _258 => _258(paramName)]) || "";
14919
14915
  if (validTabIds.has(fromUrl)) {
14920
14916
  return fromUrl;
14921
14917
  }
14922
14918
  }
14923
- return defaultTab || _optionalChain([tabs, 'access', _261 => _261[0], 'optionalAccess', _262 => _262.id]) || "";
14919
+ return defaultTab || _optionalChain([tabs, 'access', _259 => _259[0], 'optionalAccess', _260 => _260.id]) || "";
14924
14920
  };
14925
14921
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
14926
14922
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
14927
14923
  _react.useEffect.call(void 0, () => {
14928
14924
  if (!isUrlSyncEnabled) return;
14929
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _263 => _263.get, 'call', _264 => _264(paramName)]) || "";
14930
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _265 => _265[0], 'optionalAccess', _266 => _266.id]) || "";
14925
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _261 => _261.get, 'call', _262 => _262(paramName)]) || "";
14926
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _263 => _263[0], 'optionalAccess', _264 => _264.id]) || "";
14931
14927
  if (nextTab !== internalActiveTab) {
14932
14928
  setInternalActiveTab(nextTab);
14933
14929
  }
@@ -14935,13 +14931,13 @@ function TabNavigation({
14935
14931
  const handleTabChange = (tabId) => {
14936
14932
  if (isUrlSyncEnabled) {
14937
14933
  setInternalActiveTab(tabId);
14938
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _267 => _267.toString, 'call', _268 => _268()]));
14934
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _265 => _265.toString, 'call', _266 => _266()]));
14939
14935
  params.set(paramName, tabId);
14940
14936
  const method = replaceState ? "replace" : "push";
14941
14937
  router[method](`${pathname}?${params.toString()}`);
14942
- _optionalChain([controlledOnTabChange, 'optionalCall', _269 => _269(tabId)]);
14938
+ _optionalChain([controlledOnTabChange, 'optionalCall', _267 => _267(tabId)]);
14943
14939
  } else {
14944
- _optionalChain([controlledOnTabChange, 'optionalCall', _270 => _270(tabId)]);
14940
+ _optionalChain([controlledOnTabChange, 'optionalCall', _268 => _268(tabId)]);
14945
14941
  }
14946
14942
  };
14947
14943
  const scrollRef = _react.useRef.call(void 0, null);
@@ -15029,7 +15025,7 @@ function TabNavigation({
15029
15025
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
15030
15026
  var getTabComponent = (tabs, tabId) => {
15031
15027
  const tab = getTabById(tabs, tabId);
15032
- return _optionalChain([tab, 'optionalAccess', _271 => _271.component]) || null;
15028
+ return _optionalChain([tab, 'optionalAccess', _269 => _269.component]) || null;
15033
15029
  };
15034
15030
 
15035
15031
  // src/components/ui/alert.tsx
@@ -15280,13 +15276,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
15280
15276
  errorData = await response.json();
15281
15277
  } catch (e18) {
15282
15278
  }
15283
- if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _272 => _272.error]) && _optionalChain([errorData, 'optionalAccess', _273 => _273.message])) {
15279
+ if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _270 => _270.error]) && _optionalChain([errorData, 'optionalAccess', _271 => _271.message])) {
15284
15280
  console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
15285
15281
  onError(errorData.message);
15286
15282
  onLoading(false);
15287
15283
  return;
15288
15284
  }
15289
- if (_optionalChain([errorData, 'optionalAccess', _274 => _274.error])) {
15285
+ if (_optionalChain([errorData, 'optionalAccess', _272 => _272.error])) {
15290
15286
  throw new Error(`Server error: ${errorData.error}`);
15291
15287
  }
15292
15288
  throw new Error(`Server proxy failed: ${response.status}`);
@@ -15738,7 +15734,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
15738
15734
  apiEndpoint: redditProxyUrl,
15739
15735
  dataValidator: validateRedditData,
15740
15736
  onDataUpdate: (data) => {
15741
- if (_optionalChain([data, 'access', _275 => _275[0], 'optionalAccess', _276 => _276.data, 'optionalAccess', _277 => _277.children, 'optionalAccess', _278 => _278[0], 'optionalAccess', _279 => _279.data])) {
15737
+ if (_optionalChain([data, 'access', _273 => _273[0], 'optionalAccess', _274 => _274.data, 'optionalAccess', _275 => _275.children, 'optionalAccess', _276 => _276[0], 'optionalAccess', _277 => _277.data])) {
15742
15738
  setRedditData(data[0].data.children[0].data);
15743
15739
  }
15744
15740
  },
@@ -15809,11 +15805,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
15809
15805
  gallery_data: redditData.gallery_data,
15810
15806
  media_metadata: redditData.media_metadata
15811
15807
  });
15812
- const video = _optionalChain([redditData, 'access', _280 => _280.media, 'optionalAccess', _281 => _281.reddit_video]) || _optionalChain([redditData, 'access', _282 => _282.secure_media, 'optionalAccess', _283 => _283.reddit_video]);
15808
+ const video = _optionalChain([redditData, 'access', _278 => _278.media, 'optionalAccess', _279 => _279.reddit_video]) || _optionalChain([redditData, 'access', _280 => _280.secure_media, 'optionalAccess', _281 => _281.reddit_video]);
15813
15809
  if (video && video.fallback_url) {
15814
15810
  console.log("\u{1F4F9} Found Reddit video:", video);
15815
15811
  let posterUrl = "";
15816
- if (_optionalChain([redditData, 'access', _284 => _284.preview, 'optionalAccess', _285 => _285.images, 'optionalAccess', _286 => _286[0], 'optionalAccess', _287 => _287.source, 'optionalAccess', _288 => _288.url])) {
15812
+ if (_optionalChain([redditData, 'access', _282 => _282.preview, 'optionalAccess', _283 => _283.images, 'optionalAccess', _284 => _284[0], 'optionalAccess', _285 => _285.source, 'optionalAccess', _286 => _286.url])) {
15817
15813
  posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
15818
15814
  console.log("\u2705 Using preview image as video poster:", posterUrl);
15819
15815
  } else {
@@ -15866,7 +15862,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
15866
15862
  return media;
15867
15863
  }
15868
15864
  }
15869
- if (_optionalChain([redditData, 'access', _289 => _289.preview, 'optionalAccess', _290 => _290.images, 'optionalAccess', _291 => _291[0]]) && !redditData.is_video) {
15865
+ if (_optionalChain([redditData, 'access', _287 => _287.preview, 'optionalAccess', _288 => _288.images, 'optionalAccess', _289 => _289[0]]) && !redditData.is_video) {
15870
15866
  const imageData = redditData.preview.images[0];
15871
15867
  console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
15872
15868
  let source = imageData.source;
@@ -15901,7 +15897,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
15901
15897
  } else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
15902
15898
  console.log("\u{1F3AC} Found direct video URL");
15903
15899
  let posterUrl = "";
15904
- if (_optionalChain([redditData, 'access', _292 => _292.preview, 'optionalAccess', _293 => _293.images, 'optionalAccess', _294 => _294[0], 'optionalAccess', _295 => _295.source, 'optionalAccess', _296 => _296.url])) {
15900
+ if (_optionalChain([redditData, 'access', _290 => _290.preview, 'optionalAccess', _291 => _291.images, 'optionalAccess', _292 => _292[0], 'optionalAccess', _293 => _293.source, 'optionalAccess', _294 => _294.url])) {
15905
15901
  posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
15906
15902
  }
15907
15903
  media.push({
@@ -15914,7 +15910,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
15914
15910
  });
15915
15911
  } else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
15916
15912
  console.log("\u{1F310} Found Imgur link");
15917
- const imgurId = _optionalChain([directUrl, 'access', _297 => _297.match, 'call', _298 => _298(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _299 => _299[1]]);
15913
+ const imgurId = _optionalChain([directUrl, 'access', _295 => _295.match, 'call', _296 => _296(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _297 => _297[1]]);
15918
15914
  if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
15919
15915
  media.push({
15920
15916
  type: "image",
@@ -16063,7 +16059,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16063
16059
  const [loading, setLoading] = _react.useState.call(void 0, true);
16064
16060
  const [error, setError] = _react.useState.call(void 0, null);
16065
16061
  const initializationDone = _react.useRef.call(void 0, false);
16066
- const extractedTweetId = tweetId || _optionalChain([url, 'access', _300 => _300.match, 'call', _301 => _301(/status\/(\d+)/), 'optionalAccess', _302 => _302[1]]);
16062
+ const extractedTweetId = tweetId || _optionalChain([url, 'access', _298 => _298.match, 'call', _299 => _299(/status\/(\d+)/), 'optionalAccess', _300 => _300[1]]);
16067
16063
  const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
16068
16064
  _react.useEffect.call(void 0, () => {
16069
16065
  if (initializationDone.current) return;
@@ -16130,10 +16126,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16130
16126
  const parser = new DOMParser();
16131
16127
  const doc = parser.parseFromString(tweetData.html, "text/html");
16132
16128
  const blockquote = doc.querySelector("blockquote");
16133
- const fullText = _optionalChain([blockquote, 'optionalAccess', _303 => _303.textContent]) || "";
16129
+ const fullText = _optionalChain([blockquote, 'optionalAccess', _301 => _301.textContent]) || "";
16134
16130
  const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
16135
16131
  const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
16136
- const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _304 => _304.querySelectorAll, 'call', _305 => _305("a")]) || []).map((link) => ({
16132
+ const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _302 => _302.querySelectorAll, 'call', _303 => _303("a")]) || []).map((link) => ({
16137
16133
  url: link.href,
16138
16134
  text: link.textContent || link.href
16139
16135
  })).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
@@ -16388,7 +16384,7 @@ var OGLinkPreview = ({
16388
16384
  const response = await fetch(endpoint);
16389
16385
  if (response.ok) {
16390
16386
  const data = await response.json();
16391
- if (_optionalChain([data, 'optionalAccess', _306 => _306.title]) && data.title !== "Link Preview Unavailable") {
16387
+ if (_optionalChain([data, 'optionalAccess', _304 => _304.title]) && data.title !== "Link Preview Unavailable") {
16392
16388
  setOgData(data);
16393
16389
  } else {
16394
16390
  setError(true);
@@ -16415,12 +16411,12 @@ var OGLinkPreview = ({
16415
16411
  type: "website",
16416
16412
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
16417
16413
  } : null)));
16418
- const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _307 => _307.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16419
- const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _308 => _308.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _309 => _309.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
16414
+ const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _305 => _305.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16415
+ const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _306 => _306.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _307 => _307.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
16420
16416
  const hasImage = !!resolvedImageUrl;
16421
16417
  const isFallbackImage = resolvedImageUrl === fallbackImage;
16422
16418
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
16423
- const bgColor = _chunkWMSTJAZTcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
16419
+ const bgColor = _chunkG56GYN7Zcjs.useImageEdgeColor.call(void 0, _nullishCoalesce(resolvedImageUrl, () => ( null)), "var(--ods-bg-secondary)");
16424
16420
  const renderSkeleton = () => isCompact ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "my-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-row border border-ods-border rounded-lg overflow-hidden bg-ods-card h-[120px]", children: [
16425
16421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[200px] h-full flex-shrink-0 bg-ods-border animate-pulse" }),
16426
16422
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 p-3 flex flex-col justify-center", children: [
@@ -16662,9 +16658,9 @@ function toFigmaEmbedUrl(url, opts) {
16662
16658
  if (match2) {
16663
16659
  const [, urlType, fileKey, titleSlug, queryString] = match2;
16664
16660
  const isSlides = urlType === "slides" || urlType === "deck";
16665
- const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _310 => _310.slidesView]) === "browse" ? "slides" : "deck" : "design";
16661
+ const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _308 => _308.slidesView]) === "browse" ? "slides" : "deck" : "design";
16666
16662
  const pathSuffix = titleSlug ? `/${titleSlug}` : "";
16667
- const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _311 => _311.replace, 'call', _312 => _312(/^\?/, "")]) || "");
16663
+ const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _309 => _309.replace, 'call', _310 => _310(/^\?/, "")]) || "");
16668
16664
  if (!params.has("embed-host")) {
16669
16665
  params.set("embed-host", "flamingo");
16670
16666
  }
@@ -16745,7 +16741,7 @@ function EmbedIframe({
16745
16741
  allow,
16746
16742
  referrerPolicy,
16747
16743
  loading,
16748
- allowFullScreen: _optionalChain([allow, 'optionalAccess', _313 => _313.includes, 'call', _314 => _314("fullscreen")]) ? void 0 : allowFullScreen
16744
+ allowFullScreen: _optionalChain([allow, 'optionalAccess', _311 => _311.includes, 'call', _312 => _312("fullscreen")]) ? void 0 : allowFullScreen
16749
16745
  },
16750
16746
  src
16751
16747
  )
@@ -17496,7 +17492,7 @@ var RichMarkdownInner = ({
17496
17492
  const extractText2 = (node) => {
17497
17493
  if (typeof node === "string") return node;
17498
17494
  if (Array.isArray(node)) return node.map(extractText2).join("");
17499
- if (_optionalChain([node, 'optionalAccess', _315 => _315.props, 'optionalAccess', _316 => _316.children])) return extractText2(node.props.children);
17495
+ if (_optionalChain([node, 'optionalAccess', _313 => _313.props, 'optionalAccess', _314 => _314.children])) return extractText2(node.props.children);
17500
17496
  return "";
17501
17497
  };
17502
17498
  const text = extractText2(children);
@@ -17512,7 +17508,7 @@ var RichMarkdownInner = ({
17512
17508
  const extractText2 = (node) => {
17513
17509
  if (typeof node === "string") return node;
17514
17510
  if (Array.isArray(node)) return node.map(extractText2).join("");
17515
- if (_optionalChain([node, 'optionalAccess', _317 => _317.props, 'optionalAccess', _318 => _318.children])) return extractText2(node.props.children);
17511
+ if (_optionalChain([node, 'optionalAccess', _315 => _315.props, 'optionalAccess', _316 => _316.children])) return extractText2(node.props.children);
17516
17512
  return "";
17517
17513
  };
17518
17514
  const text = extractText2(children);
@@ -17530,7 +17526,7 @@ var RichMarkdownInner = ({
17530
17526
  const extractText2 = (node) => {
17531
17527
  if (typeof node === "string") return node;
17532
17528
  if (Array.isArray(node)) return node.map(extractText2).join("");
17533
- if (_optionalChain([node, 'optionalAccess', _319 => _319.props, 'optionalAccess', _320 => _320.children])) return extractText2(node.props.children);
17529
+ if (_optionalChain([node, 'optionalAccess', _317 => _317.props, 'optionalAccess', _318 => _318.children])) return extractText2(node.props.children);
17534
17530
  return "";
17535
17531
  };
17536
17532
  const text = extractText2(children);
@@ -17548,7 +17544,7 @@ var RichMarkdownInner = ({
17548
17544
  const extractText2 = (node) => {
17549
17545
  if (typeof node === "string") return node;
17550
17546
  if (Array.isArray(node)) return node.map(extractText2).join("");
17551
- if (_optionalChain([node, 'optionalAccess', _321 => _321.props, 'optionalAccess', _322 => _322.children])) return extractText2(node.props.children);
17547
+ if (_optionalChain([node, 'optionalAccess', _319 => _319.props, 'optionalAccess', _320 => _320.children])) return extractText2(node.props.children);
17552
17548
  return "";
17553
17549
  };
17554
17550
  const text = extractText2(children);
@@ -17566,7 +17562,7 @@ var RichMarkdownInner = ({
17566
17562
  const extractText2 = (node) => {
17567
17563
  if (typeof node === "string") return node;
17568
17564
  if (Array.isArray(node)) return node.map(extractText2).join("");
17569
- if (_optionalChain([node, 'optionalAccess', _323 => _323.props, 'optionalAccess', _324 => _324.children])) return extractText2(node.props.children);
17565
+ if (_optionalChain([node, 'optionalAccess', _321 => _321.props, 'optionalAccess', _322 => _322.children])) return extractText2(node.props.children);
17570
17566
  return "";
17571
17567
  };
17572
17568
  const text = extractText2(children);
@@ -17584,7 +17580,7 @@ var RichMarkdownInner = ({
17584
17580
  const extractText2 = (node) => {
17585
17581
  if (typeof node === "string") return node;
17586
17582
  if (Array.isArray(node)) return node.map(extractText2).join("");
17587
- if (_optionalChain([node, 'optionalAccess', _325 => _325.props, 'optionalAccess', _326 => _326.children])) return extractText2(node.props.children);
17583
+ if (_optionalChain([node, 'optionalAccess', _323 => _323.props, 'optionalAccess', _324 => _324.children])) return extractText2(node.props.children);
17588
17584
  return "";
17589
17585
  };
17590
17586
  const text = extractText2(children);
@@ -17660,8 +17656,8 @@ var RichMarkdownInner = ({
17660
17656
  {
17661
17657
  href,
17662
17658
  className: `text-ods-accent no-underline relative transition-colors duration-200 hover:after:w-full after:content-[''] after:absolute after:w-0 after:h-0.5 after:-bottom-0.5 after:left-0 after:bg-ods-accent after:transition-all after:duration-300 ${className2 || ""}`,
17663
- target: _optionalChain([href, 'optionalAccess', _327 => _327.startsWith, 'call', _328 => _328("http")]) ? "_blank" : void 0,
17664
- rel: _optionalChain([href, 'optionalAccess', _329 => _329.startsWith, 'call', _330 => _330("http")]) ? "noopener noreferrer" : void 0,
17659
+ target: _optionalChain([href, 'optionalAccess', _325 => _325.startsWith, 'call', _326 => _326("http")]) ? "_blank" : void 0,
17660
+ rel: _optionalChain([href, 'optionalAccess', _327 => _327.startsWith, 'call', _328 => _328("http")]) ? "noopener noreferrer" : void 0,
17665
17661
  children
17666
17662
  }
17667
17663
  );
@@ -17785,7 +17781,7 @@ function ReleaseChangelogSection({
17785
17781
  className: "overflow-hidden transition-[max-height] duration-500",
17786
17782
  style: {
17787
17783
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
17788
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _331 => _331.current, 'optionalAccess', _332 => _332.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
17784
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _329 => _329.current, 'optionalAccess', _330 => _330.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
17789
17785
  ...previewNeedsFade && !previewExpanded ? {
17790
17786
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
17791
17787
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -18222,16 +18218,16 @@ function FilterModal({
18222
18218
  };
18223
18219
  const handleReset = () => {
18224
18220
  onFilterChange({});
18225
- _optionalChain([onTagsChange, 'optionalCall', _333 => _333([])]);
18221
+ _optionalChain([onTagsChange, 'optionalCall', _331 => _331([])]);
18226
18222
  onClose();
18227
18223
  };
18228
18224
  const handleApply = () => {
18229
18225
  onFilterChange(selectedFilters);
18230
- _optionalChain([onTagsChange, 'optionalCall', _334 => _334(pendingTags)]);
18226
+ _optionalChain([onTagsChange, 'optionalCall', _332 => _332(pendingTags)]);
18231
18227
  onClose();
18232
18228
  };
18233
18229
  const getColumnDirection = (columnKey) => {
18234
- return _optionalChain([sortConfig, 'optionalAccess', _335 => _335.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
18230
+ return _optionalChain([sortConfig, 'optionalAccess', _333 => _333.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
18235
18231
  };
18236
18232
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
18237
18233
  const hasFilterGroups = filterGroups.length > 0;
@@ -18280,7 +18276,7 @@ function FilterModal({
18280
18276
  {
18281
18277
  column,
18282
18278
  currentDirection: getColumnDirection(column.key),
18283
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _336 => _336(column.key, direction)]),
18279
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _334 => _334(column.key, direction)]),
18284
18280
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
18285
18281
  },
18286
18282
  column.key
@@ -18458,7 +18454,7 @@ function IconButtonsVariant({
18458
18454
  }) {
18459
18455
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
18460
18456
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18461
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _337 => _337[0], 'access', _338 => _338.submenu, 'optionalAccess', _339 => _339.length]);
18457
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _335 => _335[0], 'access', _336 => _336.submenu, 'optionalAccess', _337 => _337.length]);
18462
18458
  const singleAction = isSingleAction ? actions[0] : null;
18463
18459
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
18464
18460
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -18773,7 +18769,7 @@ function ListPageLayout({
18773
18769
  }) {
18774
18770
  const [mobileFilterOpen, setMobileFilterOpen] = _react.useState.call(void 0, false);
18775
18771
  const [localSearchValue, setLocalSearchValue] = _react.useState.call(void 0, searchValue);
18776
- const debouncedSearchValue = _chunkWMSTJAZTcjs.useDebounce.call(void 0, localSearchValue, 500);
18772
+ const debouncedSearchValue = _chunkG56GYN7Zcjs.useDebounce.call(void 0, localSearchValue, 500);
18777
18773
  _react.useEffect.call(void 0, () => {
18778
18774
  setLocalSearchValue(searchValue);
18779
18775
  }, [searchValue]);
@@ -19041,8 +19037,8 @@ function PageWithHeader({
19041
19037
  }) {
19042
19038
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
19043
19039
  const backCfg = backButton === false ? void 0 : {
19044
- label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _340 => _340.label]), () => ( "Back to home")),
19045
- onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _341 => _341.href]), () => ( "/")))
19040
+ label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _338 => _338.label]), () => ( "Back to home")),
19041
+ onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _339 => _339.href]), () => ( "/")))
19046
19042
  };
19047
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: [
19048
19044
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -19635,7 +19631,7 @@ function toToolLabel(input) {
19635
19631
  if (!input) return "";
19636
19632
  const toolType = normalizeToolType(input);
19637
19633
  if (toolType) {
19638
- return _chunkWMSTJAZTcjs.toolLabels[toolType];
19634
+ return _chunkG56GYN7Zcjs.toolLabels[toolType];
19639
19635
  }
19640
19636
  return input;
19641
19637
  }
@@ -19646,7 +19642,7 @@ function getToolTypeAliases(toolType) {
19646
19642
  return Object.entries(toolAliasMap).filter(([_, value]) => value === toolType).map(([key]) => key);
19647
19643
  }
19648
19644
  function getToolLabel(toolType) {
19649
- return _chunkWMSTJAZTcjs.toolLabels[toolType] || toolType;
19645
+ return _chunkG56GYN7Zcjs.toolLabels[toolType] || toolType;
19650
19646
  }
19651
19647
 
19652
19648
  // src/types/shell.types.ts
@@ -19688,7 +19684,7 @@ function getShellIcon(shellType) {
19688
19684
  if (!shellType) return void 0;
19689
19685
  const normalized = shellType.toUpperCase();
19690
19686
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
19691
- return _optionalChain([shellDef, 'optionalAccess', _342 => _342.icon]);
19687
+ return _optionalChain([shellDef, 'optionalAccess', _340 => _340.icon]);
19692
19688
  }
19693
19689
 
19694
19690
  // src/types/os.types.ts
@@ -19761,7 +19757,7 @@ function getOSIcon(osType) {
19761
19757
  const normalized = normalizeOSType(osType);
19762
19758
  if (!normalized) return void 0;
19763
19759
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
19764
- return _optionalChain([osTypeDef, 'optionalAccess', _343 => _343.icon]);
19760
+ return _optionalChain([osTypeDef, 'optionalAccess', _341 => _341.icon]);
19765
19761
  }
19766
19762
  function getOSTypeDefinition(osType) {
19767
19763
  if (!osType) return void 0;
@@ -19771,7 +19767,7 @@ function getOSTypeDefinition(osType) {
19771
19767
  }
19772
19768
  function getOSPlatformId(osType) {
19773
19769
  const osTypeDef = getOSTypeDefinition(osType);
19774
- return _optionalChain([osTypeDef, 'optionalAccess', _344 => _344.platformId]);
19770
+ return _optionalChain([osTypeDef, 'optionalAccess', _342 => _342.platformId]);
19775
19771
  }
19776
19772
  function isOSPlatform(deviceOS, targetPlatform) {
19777
19773
  if (!deviceOS || !targetPlatform) return false;
@@ -19864,10 +19860,10 @@ var GENERIC_EMAIL_DOMAINS = [
19864
19860
  ];
19865
19861
  function extractDomainFromEmail(email) {
19866
19862
  if (!email || !email.includes("@")) return null;
19867
- return _optionalChain([email, 'access', _345 => _345.split, 'call', _346 => _346("@"), 'access', _347 => _347[1], 'optionalAccess', _348 => _348.toLowerCase, 'call', _349 => _349()]) || null;
19863
+ return _optionalChain([email, 'access', _343 => _343.split, 'call', _344 => _344("@"), 'access', _345 => _345[1], 'optionalAccess', _346 => _346.toLowerCase, 'call', _347 => _347()]) || null;
19868
19864
  }
19869
19865
  function normalizeDomain(domain) {
19870
- return _optionalChain([domain, 'optionalAccess', _350 => _350.toLowerCase, 'call', _351 => _351(), 'access', _352 => _352.replace, 'call', _353 => _353(/^https?:\/\//, ""), 'access', _354 => _354.replace, 'call', _355 => _355(/^www\./, ""), 'access', _356 => _356.split, 'call', _357 => _357("/"), 'access', _358 => _358[0], 'access', _359 => _359.trim, 'call', _360 => _360()]) || "";
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()]) || "";
19871
19867
  }
19872
19868
  function isGenericDomain(domain) {
19873
19869
  const normalized = normalizeDomain(domain);
@@ -20294,7 +20290,7 @@ function defaultTableIdForDocumentType(documentType) {
20294
20290
 
20295
20291
  // src/utils/sse-decision-frame.ts
20296
20292
  async function readLeadingDecisionFrame(response) {
20297
- const reader = _optionalChain([response, 'access', _361 => _361.body, 'optionalAccess', _362 => _362.getReader, 'call', _363 => _363()]);
20293
+ const reader = _optionalChain([response, 'access', _359 => _359.body, 'optionalAccess', _360 => _360.getReader, 'call', _361 => _361()]);
20298
20294
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
20299
20295
  const decoder = new TextDecoder();
20300
20296
  let buffer = "";
@@ -20323,9 +20319,9 @@ async function readLeadingDecisionFrame(response) {
20323
20319
  );
20324
20320
  }
20325
20321
  const obj = parsed;
20326
- if (_optionalChain([obj, 'optionalAccess', _364 => _364.kind]) !== "decision_resolved") {
20322
+ if (_optionalChain([obj, 'optionalAccess', _362 => _362.kind]) !== "decision_resolved") {
20327
20323
  throw new Error(
20328
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _365 => _365.kind]))}`
20324
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _363 => _363.kind]))}`
20329
20325
  );
20330
20326
  }
20331
20327
  frame = normalizeDecisionFrame(obj);
@@ -20366,7 +20362,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20366
20362
  function buildAutoContinuationDirective(toolName, opts = {}) {
20367
20363
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20368
20364
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20369
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _366 => _366.status, 'optionalAccess', _367 => _367.toUpperCase, 'call', _368 => _368()]) === "CLOSED";
20365
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _364 => _364.status, 'optionalAccess', _365 => _365.toUpperCase, 'call', _366 => _366()]) === "CLOSED";
20370
20366
  if (toolName === "create_ticket") {
20371
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.`;
20372
20368
  }
@@ -20428,7 +20424,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20428
20424
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20429
20425
  }
20430
20426
  function extractEntityIdFilter(override, expectedTableId) {
20431
- const f = _optionalChain([override, 'optionalAccess', _369 => _369.entityIdFilter]);
20427
+ const f = _optionalChain([override, 'optionalAccess', _367 => _367.entityIdFilter]);
20432
20428
  if (!f) return null;
20433
20429
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20434
20430
  const id = typeof f.id === "string" ? f.id : "";
@@ -20503,7 +20499,7 @@ function getTaskTypeLabel(customItemId) {
20503
20499
 
20504
20500
  // src/components/chat/utils/agent-status-message.ts
20505
20501
  function getStatusColorScheme(status) {
20506
- const s = _optionalChain([status, 'optionalAccess', _370 => _370.toLowerCase, 'call', _371 => _371()]) || "";
20502
+ const s = _optionalChain([status, 'optionalAccess', _368 => _368.toLowerCase, 'call', _369 => _369()]) || "";
20507
20503
  switch (status) {
20508
20504
  case "completed":
20509
20505
  case "success":
@@ -20785,10 +20781,10 @@ var CONTENT_REF_GROUPS = {
20785
20781
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
20786
20782
  };
20787
20783
  function getContentRefLabel(type) {
20788
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _372 => _372[type], 'optionalAccess', _373 => _373.label]), () => ( null));
20784
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _370 => _370[type], 'optionalAccess', _371 => _371.label]), () => ( null));
20789
20785
  }
20790
20786
  function getContentRefLabelOrTitleCase(type) {
20791
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _374 => _374[type], 'optionalAccess', _375 => _375.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())));
20792
20788
  }
20793
20789
  function orderContentRefTypes(present) {
20794
20790
  const presentSet = new Set(present);
@@ -20947,7 +20943,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
20947
20943
  const firstFolderWithReadme = structure.find(
20948
20944
  (node) => node.type === "folder" && node.hasReadme && !!node.path
20949
20945
  );
20950
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _376 => _376.path]), () => ( null));
20946
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _374 => _374.path]), () => ( null));
20951
20947
  }
20952
20948
 
20953
20949
  // src/utils/doc-path-utils.ts
@@ -20958,7 +20954,7 @@ function pathToNodeId(path) {
20958
20954
  return path.replace(/[\/\s]/g, "-").toLowerCase();
20959
20955
  }
20960
20956
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
20961
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _377 => _377.join, 'call', _378 => _378("/")]) || "").toLowerCase();
20957
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _375 => _375.join, 'call', _376 => _376("/")]) || "").toLowerCase();
20962
20958
  const lowerIndex = folderIndexFile.toLowerCase();
20963
20959
  const suffix = `/${lowerIndex}`;
20964
20960
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -21778,26 +21774,26 @@ function DeviceCard({
21778
21774
  ] }),
21779
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 })
21780
21776
  ] }),
21781
- _optionalChain([actions, 'access', _379 => _379.moreButton, 'optionalAccess', _380 => _380.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,
21782
21778
  "div",
21783
21779
  {
21784
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",
21785
21781
  onClick: (e) => {
21786
21782
  e.stopPropagation();
21787
- _optionalChain([actions, 'access', _381 => _381.moreButton, 'optionalAccess', _382 => _382.onClick, 'optionalCall', _383 => _383()]);
21783
+ _optionalChain([actions, 'access', _379 => _379.moreButton, 'optionalAccess', _380 => _380.onClick, 'optionalCall', _381 => _381()]);
21788
21784
  },
21789
21785
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
21790
21786
  }
21791
21787
  ),
21792
- _optionalChain([actions, 'access', _384 => _384.detailsButton, 'optionalAccess', _385 => _385.visible]) !== false && _optionalChain([actions, 'access', _386 => _386.detailsButton, 'optionalAccess', _387 => _387.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
21793
- _optionalChain([actions, 'access', _388 => _388.customActions, 'optionalAccess', _389 => _389.map, 'call', _390 => _390(
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(
21794
21790
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21795
21791
  "div",
21796
21792
  {
21797
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",
21798
21794
  onClick: (e) => {
21799
21795
  e.stopPropagation();
21800
- _optionalChain([action, 'access', _391 => _391.onClick, 'optionalCall', _392 => _392()]);
21796
+ _optionalChain([action, 'access', _389 => _389.onClick, 'optionalCall', _390 => _390()]);
21801
21797
  },
21802
21798
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
21803
21799
  },
@@ -22297,7 +22293,7 @@ function MoreActionsMenu({
22297
22293
  ] });
22298
22294
  const handleActivate = (e) => {
22299
22295
  e.stopPropagation();
22300
- if (!item.disabled) _optionalChain([item, 'access', _393 => _393.onClick, 'optionalCall', _394 => _394()]);
22296
+ if (!item.disabled) _optionalChain([item, 'access', _391 => _391.onClick, 'optionalCall', _392 => _392()]);
22301
22297
  };
22302
22298
  if (item.href) {
22303
22299
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22364,7 +22360,7 @@ function OrganizationCard({
22364
22360
  const handleActionClick = (e) => {
22365
22361
  e.preventDefault();
22366
22362
  e.stopPropagation();
22367
- _optionalChain([actionButton, 'optionalAccess', _395 => _395.onClick, 'call', _396 => _396(organization, e)]);
22363
+ _optionalChain([actionButton, 'optionalAccess', _393 => _393.onClick, 'call', _394 => _394(organization, e)]);
22368
22364
  };
22369
22365
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22370
22366
  "div",
@@ -23270,10 +23266,10 @@ var getContentDimensions = (config) => {
23270
23266
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
23271
23267
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
23272
23268
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
23273
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _397 => _397.mobileContentDimensions, 'optionalAccess', _398 => _398.width]))), () => ( defaultMobile.width));
23274
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _399 => _399.mobileContentDimensions, 'optionalAccess', _400 => _400.height]))), () => ( defaultMobile.height));
23275
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _401 => _401.desktopContentDimensions, 'optionalAccess', _402 => _402.width]))), () => ( defaultDesktop.width));
23276
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _403 => _403.desktopContentDimensions, 'optionalAccess', _404 => _404.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));
23277
23273
  return {
23278
23274
  mobile: { width: mobileWidth, height: mobileHeight },
23279
23275
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -23407,7 +23403,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
23407
23403
  const contentDimensions = getContentDimensions(config);
23408
23404
  const mobileHeight = contentDimensions.mobile.height;
23409
23405
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
23410
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _405 => _405.innerHeight]) * 0.85 || 650)}px`;
23406
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _403 => _403.innerHeight]) * 0.85 || 650)}px`;
23411
23407
  })(),
23412
23408
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
23413
23409
  const contentDimensions = getContentDimensions(config);
@@ -23512,7 +23508,7 @@ var FigmaPrototypeViewer = ({
23512
23508
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
23513
23509
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
23514
23510
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
23515
- config.defaultSectionId || _optionalChain([config, 'access', _406 => _406.sections, 'access', _407 => _407[0], 'optionalAccess', _408 => _408.id]) || ""
23511
+ config.defaultSectionId || _optionalChain([config, 'access', _404 => _404.sections, 'access', _405 => _405[0], 'optionalAccess', _406 => _406.id]) || ""
23516
23512
  );
23517
23513
  const activeSection = externalActiveSection || internalActiveSection;
23518
23514
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -23602,7 +23598,7 @@ var FigmaPrototypeViewer = ({
23602
23598
  const handleMessage = (event) => {
23603
23599
  if (event.origin !== "https://www.figma.com") return;
23604
23600
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
23605
- if (_optionalChain([event, 'access', _409 => _409.data, 'optionalAccess', _410 => _410.type]) && validEvents.includes(event.data.type)) {
23601
+ if (_optionalChain([event, 'access', _407 => _407.data, 'optionalAccess', _408 => _408.type]) && validEvents.includes(event.data.type)) {
23606
23602
  const figmaEvent = event.data;
23607
23603
  console.log("[Figma Event]", figmaEvent.type, viewMode);
23608
23604
  switch (figmaEvent.type) {
@@ -23612,19 +23608,19 @@ var FigmaPrototypeViewer = ({
23612
23608
  setIframeState("READY");
23613
23609
  break;
23614
23610
  case "PRESENTED_NODE_CHANGED":
23615
- if (_optionalChain([figmaEvent, 'access', _411 => _411.data, 'optionalAccess', _412 => _412.presentedNodeId])) {
23611
+ if (_optionalChain([figmaEvent, 'access', _409 => _409.data, 'optionalAccess', _410 => _410.presentedNodeId])) {
23616
23612
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
23617
23613
  if (!isNavigating) {
23618
23614
  const matchingSection = config.sections.find((s) => {
23619
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _413 => _413.data, 'optionalAccess', _414 => _414.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _415 => _415.data, 'optionalAccess', _416 => _416.presentedNodeId]);
23620
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _417 => _417.data, 'optionalAccess', _418 => _418.presentedNodeId]) || _optionalChain([s, 'access', _419 => _419.mobileStartingNodeId, 'optionalAccess', _420 => _420.replace, 'call', _421 => _421(":", "-")]) === _optionalChain([figmaEvent, 'access', _422 => _422.data, 'optionalAccess', _423 => _423.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]);
23621
23617
  return desktopMatch || mobileMatch;
23622
23618
  });
23623
23619
  if (matchingSection && matchingSection.id !== activeSection) {
23624
23620
  if (!externalActiveSection) {
23625
23621
  setInternalActiveSection(matchingSection.id);
23626
23622
  }
23627
- _optionalChain([config, 'access', _424 => _424.onSectionChange, 'optionalCall', _425 => _425(matchingSection.id)]);
23623
+ _optionalChain([config, 'access', _422 => _422.onSectionChange, 'optionalCall', _423 => _423(matchingSection.id)]);
23628
23624
  }
23629
23625
  }
23630
23626
  }
@@ -23637,7 +23633,7 @@ var FigmaPrototypeViewer = ({
23637
23633
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
23638
23634
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
23639
23635
  const section = config.sections.find((s) => s.id === sectionId);
23640
- if (!section || !_optionalChain([iframeRef, 'access', _426 => _426.current, 'optionalAccess', _427 => _427.contentWindow]) || !isInitialized) {
23636
+ if (!section || !_optionalChain([iframeRef, 'access', _424 => _424.current, 'optionalAccess', _425 => _425.contentWindow]) || !isInitialized) {
23641
23637
  return;
23642
23638
  }
23643
23639
  setIsNavigating(true);
@@ -23645,7 +23641,7 @@ var FigmaPrototypeViewer = ({
23645
23641
  if (!externalActiveSection) {
23646
23642
  setInternalActiveSection(sectionId);
23647
23643
  }
23648
- _optionalChain([config, 'access', _428 => _428.onSectionChange, 'optionalCall', _429 => _429(sectionId)]);
23644
+ _optionalChain([config, 'access', _426 => _426.onSectionChange, 'optionalCall', _427 => _427(sectionId)]);
23649
23645
  const command = {
23650
23646
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
23651
23647
  data: { nodeId }
@@ -23965,7 +23961,7 @@ var FiltersDropdown = ({
23965
23961
  defaults[section.id] = section.defaultSelected || [];
23966
23962
  });
23967
23963
  setSelectedFilters(defaults);
23968
- _optionalChain([onReset, 'optionalCall', _430 => _430()]);
23964
+ _optionalChain([onReset, 'optionalCall', _428 => _428()]);
23969
23965
  setIsOpen(false);
23970
23966
  };
23971
23967
  const handleApply = () => {
@@ -24258,7 +24254,7 @@ function MediaGalleryManager({
24258
24254
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
24259
24255
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
24260
24256
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
24261
- const file = _optionalChain([event, 'access', _431 => _431.target, 'access', _432 => _432.files, 'optionalAccess', _433 => _433[0]]);
24257
+ const file = _optionalChain([event, 'access', _429 => _429.target, 'access', _430 => _430.files, 'optionalAccess', _431 => _431[0]]);
24262
24258
  if (!file) return;
24263
24259
  let mediaType;
24264
24260
  if (file.type.startsWith("image/")) {
@@ -24373,7 +24369,7 @@ function MediaGalleryManager({
24373
24369
  {
24374
24370
  type: "button",
24375
24371
  variant: "outline",
24376
- onClick: () => _optionalChain([fileInputRef, 'access', _434 => _434.current, 'optionalAccess', _435 => _435.click, 'call', _436 => _436()]),
24372
+ onClick: () => _optionalChain([fileInputRef, 'access', _432 => _432.current, 'optionalAccess', _433 => _433.click, 'call', _434 => _434()]),
24377
24373
  disabled: isUploading,
24378
24374
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
24379
24375
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -24848,7 +24844,7 @@ function PlatformFilterComponent({
24848
24844
  variant: selectedPlatform === platform.value ? "accent" : "outline",
24849
24845
  size,
24850
24846
  onClick: () => onPlatformChange(platform.value),
24851
- leftIcon: showIcons ? _chunkWMSTJAZTcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
24847
+ leftIcon: showIcons ? _chunkG56GYN7Zcjs.getSmallPlatformIcon.call(void 0, platform.value) : void 0,
24852
24848
  className: "text-h3",
24853
24849
  children: platform.label
24854
24850
  },
@@ -25022,7 +25018,7 @@ function ReleaseMediaManager({
25022
25018
  const fileInputRef = _react.useRef.call(void 0, null);
25023
25019
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
25024
25020
  const handleFileSelect = async (event) => {
25025
- const file = _optionalChain([event, 'access', _437 => _437.target, 'access', _438 => _438.files, 'optionalAccess', _439 => _439[0]]);
25021
+ const file = _optionalChain([event, 'access', _435 => _435.target, 'access', _436 => _436.files, 'optionalAccess', _437 => _437[0]]);
25026
25022
  if (!file) return;
25027
25023
  let mediaType;
25028
25024
  if (file.type.startsWith("image/")) {
@@ -25102,7 +25098,7 @@ function ReleaseMediaManager({
25102
25098
  {
25103
25099
  type: "button",
25104
25100
  variant: "outline",
25105
- onClick: () => _optionalChain([fileInputRef, 'access', _440 => _440.current, 'optionalAccess', _441 => _441.click, 'call', _442 => _442()]),
25101
+ onClick: () => _optionalChain([fileInputRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.click, 'call', _440 => _440()]),
25106
25102
  disabled: uploadingIndex !== null,
25107
25103
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
25108
25104
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25315,7 +25311,7 @@ function SEOEditorPreview({
25315
25311
  const displayImage = hasOgImage || hasFeaturedImage;
25316
25312
  const handleImageUpload = async (event) => {
25317
25313
  if (!onOgImageUpload) return;
25318
- const file = _optionalChain([event, 'access', _443 => _443.target, 'access', _444 => _444.files, 'optionalAccess', _445 => _445[0]]);
25314
+ const file = _optionalChain([event, 'access', _441 => _441.target, 'access', _442 => _442.files, 'optionalAccess', _443 => _443[0]]);
25319
25315
  if (!file) return;
25320
25316
  setIsUploading(true);
25321
25317
  try {
@@ -25446,7 +25442,7 @@ function SEOEditorPreview({
25446
25442
  type: "button",
25447
25443
  variant: "outline",
25448
25444
  size: "icon",
25449
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _446 => _446.click, 'call', _447 => _447()]),
25445
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _444 => _444.click, 'call', _445 => _445()]),
25450
25446
  disabled: disabled || isUploading,
25451
25447
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
25452
25448
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -25469,7 +25465,7 @@ function SEOEditorPreview({
25469
25465
  "div",
25470
25466
  {
25471
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",
25472
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _448 => _448.click, 'call', _449 => _449()]),
25468
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _446 => _446.click, 'call', _447 => _447()]),
25473
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: [
25474
25470
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
25475
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" })
@@ -25554,7 +25550,7 @@ function SocialLinksManager({
25554
25550
  className = ""
25555
25551
  }) {
25556
25552
  const addLink = () => {
25557
- const firstPlatform = _optionalChain([platforms, 'access', _450 => _450[0], 'optionalAccess', _451 => _451.name]) || "website";
25553
+ const firstPlatform = _optionalChain([platforms, 'access', _448 => _448[0], 'optionalAccess', _449 => _449.name]) || "website";
25558
25554
  onChange([...links, { platform: firstPlatform, url: "" }]);
25559
25555
  };
25560
25556
  const removeLink = (index) => {
@@ -25566,7 +25562,7 @@ function SocialLinksManager({
25566
25562
  onChange(updated);
25567
25563
  };
25568
25564
  const getIcon = (link, platform) => {
25569
- const iconKey = _optionalChain([platform, 'optionalAccess', _452 => _452.icon_name]) || link.platform;
25565
+ const iconKey = _optionalChain([platform, 'optionalAccess', _450 => _450.icon_name]) || link.platform;
25570
25566
  const IconComponent = iconMap[iconKey];
25571
25567
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
25572
25568
  };
@@ -25591,7 +25587,7 @@ function SocialLinksManager({
25591
25587
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25592
25588
  _chunkFQOTC3UUcjs.Input,
25593
25589
  {
25594
- placeholder: _optionalChain([platform, 'optionalAccess', _453 => _453.placeholder]) || "Profile URL",
25590
+ placeholder: _optionalChain([platform, 'optionalAccess', _451 => _451.placeholder]) || "Profile URL",
25595
25591
  value: link.url,
25596
25592
  onChange: (e) => updateLink(index, "url", e.target.value),
25597
25593
  onKeyDown: (e) => {
@@ -25945,8 +25941,8 @@ var MUX_IMAGE_ORIGIN = "https://image.mux.com";
25945
25941
  function useVideoOriginPreconnect({
25946
25942
  supabaseStorageOrigin
25947
25943
  } = {}) {
25948
- const runtime = _chunkL6PSSIUQcjs.useChatRuntime.call(void 0, );
25949
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _454 => _454.endpoints, 'access', _455 => _455.supabaseStorageOrigin])));
25944
+ const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
25945
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _452 => _452.endpoints, 'access', _453 => _453.supabaseStorageOrigin])));
25950
25946
  try {
25951
25947
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
25952
25948
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -25964,14 +25960,14 @@ function useVideoWarmup({
25964
25960
  supabaseStorageOrigin,
25965
25961
  nearMargin = "1000px"
25966
25962
  } = {}) {
25967
- const runtime = _chunkL6PSSIUQcjs.useChatRuntime.call(void 0, );
25968
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _456 => _456.endpoints, 'access', _457 => _457.supabaseStorageOrigin])));
25963
+ const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
25964
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _454 => _454.endpoints, 'access', _455 => _455.supabaseStorageOrigin])));
25969
25965
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
25970
- const { ref, isNear } = _chunkWMSTJAZTcjs.useNearViewport.call(void 0, nearMargin);
25966
+ const { ref, isNear } = _chunkG56GYN7Zcjs.useNearViewport.call(void 0, nearMargin);
25971
25967
  _react.useEffect.call(void 0, () => {
25972
25968
  if (!isNear || !videoUrl || !resolvedOrigin) return;
25973
25969
  const conn = navigator.connection;
25974
- if (_optionalChain([conn, 'optionalAccess', _458 => _458.saveData]) === true) return;
25970
+ if (_optionalChain([conn, 'optionalAccess', _456 => _456.saveData]) === true) return;
25975
25971
  let videoOrigin;
25976
25972
  try {
25977
25973
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -26041,7 +26037,7 @@ function VideoSourceSelector({
26041
26037
  input.accept = "video/*";
26042
26038
  input.onchange = async (e) => {
26043
26039
  const target = e.target;
26044
- const file = _optionalChain([target, 'access', _459 => _459.files, 'optionalAccess', _460 => _460[0]]);
26040
+ const file = _optionalChain([target, 'access', _457 => _457.files, 'optionalAccess', _458 => _458[0]]);
26045
26041
  if (!file) return;
26046
26042
  setIsUploading(true);
26047
26043
  setUploadProgress(0);
@@ -26402,7 +26398,7 @@ function TranscriptSummaryEditor({
26402
26398
  {
26403
26399
  id: "subtitles",
26404
26400
  value: subtitles || "",
26405
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _461 => _461(e.target.value)]),
26401
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _459 => _459(e.target.value)]),
26406
26402
  placeholder: subtitlesPlaceholder,
26407
26403
  disabled: disabled || !onSubtitlesChange,
26408
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",
@@ -26555,7 +26551,7 @@ var AIEnrichSection = ({
26555
26551
  }) => {
26556
26552
  const hasResults = status === "success" || status === "error";
26557
26553
  const shouldDisable = disabled || !canEnrich;
26558
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _462 => _462.filter, 'call', _463 => _463((f) => !f.isFilled)]) || [];
26554
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _460 => _460.filter, 'call', _461 => _461((f) => !f.isFilled)]) || [];
26559
26555
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26560
26556
  "div",
26561
26557
  {
@@ -26593,7 +26589,7 @@ var AIEnrichSection = ({
26593
26589
  {
26594
26590
  id: "ai-enrich-custom-instructions",
26595
26591
  value: _nullishCoalesce(customInstructions, () => ( "")),
26596
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _464 => _464(e.target.value)]),
26592
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _462 => _462(e.target.value)]),
26597
26593
  placeholder: customInstructionsPlaceholder,
26598
26594
  disabled: loading,
26599
26595
  maxLength: customInstructionsMaxLength,
@@ -26722,7 +26718,7 @@ function HighlightVideoSection({
26722
26718
  input.accept = "video/*";
26723
26719
  input.onchange = async (e) => {
26724
26720
  const target = e.target;
26725
- const file = _optionalChain([target, 'access', _465 => _465.files, 'optionalAccess', _466 => _466[0]]);
26721
+ const file = _optionalChain([target, 'access', _463 => _463.files, 'optionalAccess', _464 => _464[0]]);
26726
26722
  if (!file) return;
26727
26723
  setUploadError(null);
26728
26724
  try {
@@ -27224,7 +27220,7 @@ function HighlightVideoPreview({
27224
27220
  input.accept = "video/*";
27225
27221
  input.onchange = async (e) => {
27226
27222
  const target = e.target;
27227
- const file = _optionalChain([target, 'access', _467 => _467.files, 'optionalAccess', _468 => _468[0]]);
27223
+ const file = _optionalChain([target, 'access', _465 => _465.files, 'optionalAccess', _466 => _466[0]]);
27228
27224
  if (!file) return;
27229
27225
  await onUpload(file);
27230
27226
  };
@@ -27411,7 +27407,7 @@ function HighlightVideoCombinedSection({
27411
27407
  input.accept = "video/*";
27412
27408
  input.onchange = async (e) => {
27413
27409
  const target = e.target;
27414
- const file = _optionalChain([target, 'access', _469 => _469.files, 'optionalAccess', _470 => _470[0]]);
27410
+ const file = _optionalChain([target, 'access', _467 => _467.files, 'optionalAccess', _468 => _468[0]]);
27415
27411
  if (!file) return;
27416
27412
  await onUpload(file);
27417
27413
  };
@@ -27708,11 +27704,11 @@ var getApprovalLevelLabel = (level, editMode = false) => {
27708
27704
  return editMode ? "Set Global Permission" : "";
27709
27705
  }
27710
27706
  const option = approvalLevelOptions.find((opt) => opt.value === level);
27711
- return _optionalChain([option, 'optionalAccess', _471 => _471.label]) || level;
27707
+ return _optionalChain([option, 'optionalAccess', _469 => _469.label]) || level;
27712
27708
  };
27713
27709
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
27714
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: [
27715
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMSTJAZTcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
27711
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-md flex items-center justify-center w-8 h-8", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG56GYN7Zcjs.ToolIcon, { toolType: policy.toolName, size: 16 }) }),
27716
27712
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col min-w-0", children: [
27717
27713
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[16px] font-medium text-ods-text-primary truncate", title: policy.name, children: policy.name }),
27718
27714
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-[12px] text-ods-text-secondary break-all font-mono", children: policy.commandPattern })
@@ -27922,12 +27918,12 @@ function PhoneInput({
27922
27918
  const runValidation = _react.useCallback.call(void 0, (phone) => {
27923
27919
  if (!phone || digitCount(phone) === 0) {
27924
27920
  setIsInvalid(false);
27925
- _optionalChain([onValidationChange, 'optionalCall', _472 => _472(false)]);
27921
+ _optionalChain([onValidationChange, 'optionalCall', _470 => _470(false)]);
27926
27922
  return;
27927
27923
  }
27928
27924
  const invalid = !validatePhoneNumber(phone, countryCode);
27929
27925
  setIsInvalid(invalid);
27930
- _optionalChain([onValidationChange, 'optionalCall', _473 => _473(invalid)]);
27926
+ _optionalChain([onValidationChange, 'optionalCall', _471 => _471(invalid)]);
27931
27927
  }, [countryCode, digitCount, onValidationChange]);
27932
27928
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
27933
27929
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -27976,7 +27972,7 @@ function PhoneInput({
27976
27972
  debouncedValidation(val);
27977
27973
  } else if (digitCount(val) === 0) {
27978
27974
  setIsInvalid(false);
27979
- _optionalChain([onValidationChange, 'optionalCall', _474 => _474(false)]);
27975
+ _optionalChain([onValidationChange, 'optionalCall', _472 => _472(false)]);
27980
27976
  }
27981
27977
  }
27982
27978
  },
@@ -28023,8 +28019,8 @@ function WaitlistForm({
28023
28019
  const [email, setEmail] = _react.useState.call(void 0, defaultEmail);
28024
28020
  const [phone, setPhone] = _react.useState.call(void 0, defaultPhone);
28025
28021
  const [countryCode, setCountryCode] = _react.useState.call(void 0, "US");
28026
- const { toast } = _chunkWMSTJAZTcjs.useToast.call(void 0, );
28027
- const { honeypotInputProps, getSignals, resetSignals } = _chunkWMSTJAZTcjs.useHumanitySignals.call(void 0, );
28022
+ const { toast } = _chunkG56GYN7Zcjs.useToast.call(void 0, );
28023
+ const { honeypotInputProps, getSignals, resetSignals } = _chunkG56GYN7Zcjs.useHumanitySignals.call(void 0, );
28028
28024
  const [smsConsent, setSmsConsent] = _react.useState.call(void 0, false);
28029
28025
  const [isClient, setIsClient] = _react.useState.call(void 0, false);
28030
28026
  const [isPhoneInvalid, setIsPhoneInvalid] = _react.useState.call(void 0, false);
@@ -28317,19 +28313,19 @@ function NotificationsProvider({
28317
28313
  }, []);
28318
28314
  const markRead = React90.useCallback((id) => {
28319
28315
  dispatch({ type: "markRead", id });
28320
- void _optionalChain([actionsRef, 'access', _475 => _475.current, 'optionalAccess', _476 => _476.onMarkRead, 'optionalCall', _477 => _477(id)]);
28316
+ void _optionalChain([actionsRef, 'access', _473 => _473.current, 'optionalAccess', _474 => _474.onMarkRead, 'optionalCall', _475 => _475(id)]);
28321
28317
  }, []);
28322
28318
  const markAllRead = React90.useCallback(() => {
28323
28319
  dispatch({ type: "markAllRead" });
28324
- void _optionalChain([actionsRef, 'access', _478 => _478.current, 'optionalAccess', _479 => _479.onMarkAllRead, 'optionalCall', _480 => _480()]);
28320
+ void _optionalChain([actionsRef, 'access', _476 => _476.current, 'optionalAccess', _477 => _477.onMarkAllRead, 'optionalCall', _478 => _478()]);
28325
28321
  }, []);
28326
28322
  const markSettled = React90.useCallback((id) => {
28327
28323
  dispatch({ type: "markSettled", id });
28328
- void _optionalChain([actionsRef, 'access', _481 => _481.current, 'optionalAccess', _482 => _482.onMarkSettled, 'optionalCall', _483 => _483(id)]);
28324
+ void _optionalChain([actionsRef, 'access', _479 => _479.current, 'optionalAccess', _480 => _480.onMarkSettled, 'optionalCall', _481 => _481(id)]);
28329
28325
  }, []);
28330
28326
  const remove = React90.useCallback((id) => {
28331
28327
  dispatch({ type: "remove", id });
28332
- void _optionalChain([actionsRef, 'access', _484 => _484.current, 'optionalAccess', _485 => _485.onRemove, 'optionalCall', _486 => _486(id)]);
28328
+ void _optionalChain([actionsRef, 'access', _482 => _482.current, 'optionalAccess', _483 => _483.onRemove, 'optionalCall', _484 => _484(id)]);
28333
28329
  }, []);
28334
28330
  const clear = React90.useCallback(() => dispatch({ type: "clear" }), []);
28335
28331
  const open = React90.useCallback(() => setIsOpen(true), []);
@@ -28338,14 +28334,14 @@ function NotificationsProvider({
28338
28334
  const setShowPopups = React90.useCallback(
28339
28335
  (value2) => {
28340
28336
  setShowPopupsState(value2);
28341
- _optionalChain([onShowPopupsChange, 'optionalCall', _487 => _487(value2)]);
28337
+ _optionalChain([onShowPopupsChange, 'optionalCall', _485 => _485(value2)]);
28342
28338
  },
28343
28339
  [onShowPopupsChange]
28344
28340
  );
28345
28341
  const setShowDesktopPopups = React90.useCallback(
28346
28342
  (value2) => {
28347
28343
  setShowDesktopPopupsState(value2);
28348
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _488 => _488(value2)]);
28344
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _486 => _486(value2)]);
28349
28345
  },
28350
28346
  [onShowDesktopPopupsChange]
28351
28347
  );
@@ -28449,7 +28445,7 @@ function NotificationTile({
28449
28445
  if (!counting) return;
28450
28446
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
28451
28447
  const timer = window.setTimeout(() => {
28452
- _optionalChain([onSettle, 'optionalCall', _489 => _489(id)]);
28448
+ _optionalChain([onSettle, 'optionalCall', _487 => _487(id)]);
28453
28449
  }, remaining);
28454
28450
  return () => window.clearTimeout(timer);
28455
28451
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -28469,7 +28465,7 @@ function NotificationTile({
28469
28465
  children ? "border-b border-ods-border" : null
28470
28466
  ),
28471
28467
  children: [
28472
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkWMSTJAZTcjs.dotColorByVariant[variant]) }) }),
28468
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-6 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "size-1.5 rounded-full", _chunkG56GYN7Zcjs.dotColorByVariant[variant]) }) }),
28473
28469
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
28474
28470
  title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-h4 text-ods-text-primary", title: typeof title === "string" ? title : void 0, children: title }) : null,
28475
28471
  description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h6 line-clamp-2 text-ods-text-secondary", title: typeof description === "string" ? description : void 0, children: description }) : null
@@ -28495,7 +28491,7 @@ function NotificationTile({
28495
28491
  "aria-hidden": true,
28496
28492
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
28497
28493
  "absolute inset-x-0 -bottom-px h-1 origin-left",
28498
- _chunkWMSTJAZTcjs.progressColorByVariant[variant]
28494
+ _chunkG56GYN7Zcjs.progressColorByVariant[variant]
28499
28495
  ),
28500
28496
  style: {
28501
28497
  animation: `toast-progress ${liveDurationMs}ms linear forwards`,
@@ -28511,7 +28507,7 @@ function NotificationTile({
28511
28507
  "button",
28512
28508
  {
28513
28509
  type: "button",
28514
- onClick: () => _optionalChain([onSettle, 'optionalCall', _490 => _490(id)]),
28510
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _488 => _488(id)]),
28515
28511
  "aria-label": "Dismiss notification",
28516
28512
  tabIndex: isLive ? 0 : -1,
28517
28513
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -28644,7 +28640,7 @@ function DrawerScrollList({
28644
28640
  if (!sentinel || !root) return;
28645
28641
  const observer = new IntersectionObserver(
28646
28642
  (entries) => {
28647
- if (_optionalChain([entries, 'access', _491 => _491[0], 'optionalAccess', _492 => _492.isIntersecting])) _optionalChain([loadMoreRef, 'access', _493 => _493.current, 'optionalCall', _494 => _494()]);
28643
+ if (_optionalChain([entries, 'access', _489 => _489[0], 'optionalAccess', _490 => _490.isIntersecting])) _optionalChain([loadMoreRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
28648
28644
  },
28649
28645
  { root, rootMargin: loadMoreRootMargin }
28650
28646
  );
@@ -28659,7 +28655,7 @@ function DrawerScrollList({
28659
28655
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
28660
28656
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
28661
28657
  unreadNotifications.map((n) => {
28662
- const custom = _optionalChain([renderTile, 'optionalCall', _495 => _495(n, { onComplete, onSettle, liveDurationMs })]);
28658
+ const custom = _optionalChain([renderTile, 'optionalCall', _493 => _493(n, { onComplete, onSettle, liveDurationMs })]);
28663
28659
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
28664
28660
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28665
28661
  NotificationTile,
@@ -28719,7 +28715,7 @@ function ShowNotificationsToggleRow({ checked, onChange }) {
28719
28715
  ] });
28720
28716
  }
28721
28717
  function DesktopNotificationsToggleRow({ checked, onChange }) {
28722
- const { supported, permission, request } = _chunkWMSTJAZTcjs.useNotificationPermission.call(void 0, );
28718
+ const { supported, permission, request } = _chunkG56GYN7Zcjs.useNotificationPermission.call(void 0, );
28723
28719
  if (!supported) return null;
28724
28720
  const blocked = permission === "denied";
28725
28721
  const handleChange = async (value) => {
@@ -28823,7 +28819,7 @@ function NotificationPopups({
28823
28819
  className
28824
28820
  ),
28825
28821
  children: live.map((n) => {
28826
- const custom = _optionalChain([renderTile, 'optionalCall', _496 => _496(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
28822
+ const custom = _optionalChain([renderTile, 'optionalCall', _494 => _494(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
28827
28823
  if (custom) {
28828
28824
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
28829
28825
  }
@@ -29003,21 +28999,21 @@ function transformWebinarToProgram(webinar) {
29003
28999
  // src/components/features/notifications/types.ts
29004
29000
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
29005
29001
  function isApprovalNotification(notification) {
29006
- return _optionalChain([notification, 'access', _497 => _497.meta, 'optionalAccess', _498 => _498.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29002
+ return _optionalChain([notification, 'access', _495 => _495.meta, 'optionalAccess', _496 => _496.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29007
29003
  }
29008
29004
  function getApprovalMeta(notification) {
29009
29005
  if (!isApprovalNotification(notification)) return null;
29010
29006
  const meta = notification.meta;
29011
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _499 => _499.approvalRequestId]);
29012
- const toolCalls = _optionalChain([meta, 'optionalAccess', _500 => _500.toolCalls]);
29007
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _497 => _497.approvalRequestId]);
29008
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _498 => _498.toolCalls]);
29013
29009
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
29014
29010
  return {
29015
29011
  approvalRequestId,
29016
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _501 => _501.dialogId]), () => ( null)),
29017
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _502 => _502.ticketId]), () => ( null)),
29018
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _503 => _503.approvalType]), () => ( null)),
29019
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _504 => _504.resolution]), () => ( null)),
29020
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _505 => _505.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)),
29021
29017
  toolCalls
29022
29018
  };
29023
29019
  }
@@ -29066,7 +29062,7 @@ function ApprovalRequestNotificationTile({
29066
29062
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
29067
29063
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
29068
29064
  const approval = getApprovalMeta(notification);
29069
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _506 => _506.resolution]));
29065
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _504 => _504.resolution]));
29070
29066
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
29071
29067
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
29072
29068
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -29319,7 +29315,7 @@ function TimeTrackerPanel({
29319
29315
  error: showFieldError ? "Assign a ticket or add notes to finish" : void 0,
29320
29316
  disableClientFilter: !!onTicketSearch,
29321
29317
  onInputChange: (value, reason) => {
29322
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _507 => _507(value)]);
29318
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _505 => _505(value)]);
29323
29319
  }
29324
29320
  }
29325
29321
  )
@@ -29399,7 +29395,7 @@ function LastEntryRow({ entry, onClick }) {
29399
29395
  {
29400
29396
  variant: "outline",
29401
29397
  size: "icon",
29402
- onClick: () => _optionalChain([onClick, 'optionalCall', _508 => _508(entry)]),
29398
+ onClick: () => _optionalChain([onClick, 'optionalCall', _506 => _506(entry)]),
29403
29399
  disabled: !onClick,
29404
29400
  "aria-label": `Open entry: ${entry.title}`,
29405
29401
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -29443,9 +29439,9 @@ function HeaderButton({
29443
29439
  function TimeTrackerHeaderButton({ className, disabled }) {
29444
29440
  const ctx = useOptionalTimeTracker();
29445
29441
  const elapsedLabel = useTrackerClock({
29446
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _509 => _509.status]), () => ( "ready")),
29447
- runningSince: _optionalChain([ctx, 'optionalAccess', _510 => _510.runningSince]),
29448
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _511 => _511.accumulatedMs])
29442
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _507 => _507.status]), () => ( "ready")),
29443
+ runningSince: _optionalChain([ctx, 'optionalAccess', _508 => _508.runningSince]),
29444
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _509 => _509.accumulatedMs])
29449
29445
  });
29450
29446
  if (!ctx) return null;
29451
29447
  const { isOpen, open, close, status } = ctx;
@@ -29727,15 +29723,15 @@ function TicketCard({
29727
29723
  transition: sortable.transition
29728
29724
  };
29729
29725
  if (showNewMessage) style.borderColor = columnColor;
29730
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _512 => _512.deviceHostnames, 'optionalAccess', _513 => _513.length]) || ticket.organizationName);
29726
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _510 => _510.deviceHostnames, 'optionalAccess', _511 => _511.length]) || ticket.organizationName);
29731
29727
  const deviceText = [
29732
- _optionalChain([ticket, 'access', _514 => _514.deviceHostnames, 'optionalAccess', _515 => _515.join, 'call', _516 => _516(", ")]),
29728
+ _optionalChain([ticket, 'access', _512 => _512.deviceHostnames, 'optionalAccess', _513 => _513.join, 'call', _514 => _514(", ")]),
29733
29729
  ticket.organizationName
29734
29730
  ].filter(Boolean).join(", ");
29735
29731
  const handleClick = (e) => {
29736
29732
  if (sortable.isDragging) e.preventDefault();
29737
29733
  };
29738
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _517 => _517.assignees, 'optionalAccess', _518 => _518.length]) || renderAssignSlot);
29734
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _515 => _515.assignees, 'optionalAccess', _516 => _516.length]) || renderAssignSlot);
29739
29735
  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: [
29740
29736
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29741
29737
  _chunkZS2SBWBRcjs.Flag02Icon,
@@ -29744,7 +29740,7 @@ function TicketCard({
29744
29740
  "aria-label": `Priority: ${ticket.priority}`
29745
29741
  }
29746
29742
  ),
29747
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _519 => _519.assignees, 'optionalAccess', _520 => _520.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
29743
+ 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: [
29748
29744
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29749
29745
  SquareAvatar,
29750
29746
  {
@@ -29775,7 +29771,7 @@ function TicketCard({
29775
29771
  ] }),
29776
29772
  rightSection
29777
29773
  ] }),
29778
- _optionalChain([ticket, 'access', _521 => _521.tags, 'optionalAccess', _522 => _522.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
29774
+ _optionalChain([ticket, 'access', _519 => _519.tags, 'optionalAccess', _520 => _520.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
29779
29775
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
29780
29776
  /* @__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 }) }),
29781
29777
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -29975,7 +29971,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
29975
29971
  const observer = new IntersectionObserver(
29976
29972
  (entries) => {
29977
29973
  if (entries.some((e) => e.isIntersecting)) {
29978
- _optionalChain([loadMoreRef, 'access', _523 => _523.current, 'optionalCall', _524 => _524(columnIdRef.current)]);
29974
+ _optionalChain([loadMoreRef, 'access', _521 => _521.current, 'optionalCall', _522 => _522(columnIdRef.current)]);
29979
29975
  }
29980
29976
  },
29981
29977
  { root, rootMargin: loadMoreRootMargin }
@@ -30005,7 +30001,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30005
30001
  ticket: t,
30006
30002
  columnId: column.id,
30007
30003
  columnColor: column.color,
30008
- href: _optionalChain([getTicketHref, 'optionalCall', _525 => _525(t.id)]),
30004
+ href: _optionalChain([getTicketHref, 'optionalCall', _523 => _523(t.id)]),
30009
30005
  renderAssignSlot,
30010
30006
  onApprove,
30011
30007
  onReject,
@@ -30039,7 +30035,7 @@ function EmptyState2() {
30039
30035
  // src/components/features/board/use-board-collapse.ts
30040
30036
 
30041
30037
  function useBoardCollapse(storageKey) {
30042
- const [persisted, setPersisted] = _chunkWMSTJAZTcjs.useLocalStorage.call(void 0,
30038
+ const [persisted, setPersisted] = _chunkG56GYN7Zcjs.useLocalStorage.call(void 0,
30043
30039
  _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")),
30044
30040
  {}
30045
30041
  );
@@ -30089,7 +30085,7 @@ function Board({
30089
30085
  onThumbPointerDown,
30090
30086
  onThumbPointerMove,
30091
30087
  onThumbPointerUp
30092
- } = _chunkWMSTJAZTcjs.useHorizontalScrollbar.call(void 0, );
30088
+ } = _chunkG56GYN7Zcjs.useHorizontalScrollbar.call(void 0, );
30093
30089
  const [items, setItems] = React96.useState(columns);
30094
30090
  const isDraggingRef = React96.useRef(false);
30095
30091
  React96.useEffect(() => {
@@ -30105,17 +30101,17 @@ function Board({
30105
30101
  const pointer = _core.pointerWithin.call(void 0, args);
30106
30102
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
30107
30103
  const ticketHit = intersections.find(
30108
- (c) => _optionalChain([c, 'access', _526 => _526.data, 'optionalAccess', _527 => _527.droppableContainer, 'optionalAccess', _528 => _528.data, 'optionalAccess', _529 => _529.current, 'optionalAccess', _530 => _530.type]) === "ticket"
30104
+ (c) => _optionalChain([c, 'access', _524 => _524.data, 'optionalAccess', _525 => _525.droppableContainer, 'optionalAccess', _526 => _526.data, 'optionalAccess', _527 => _527.current, 'optionalAccess', _528 => _528.type]) === "ticket"
30109
30105
  );
30110
30106
  if (ticketHit) return [ticketHit];
30111
30107
  const columnHit = intersections.find(
30112
- (c) => _optionalChain([c, 'access', _531 => _531.data, 'optionalAccess', _532 => _532.droppableContainer, 'optionalAccess', _533 => _533.data, 'optionalAccess', _534 => _534.current, 'optionalAccess', _535 => _535.type]) === "column"
30108
+ (c) => _optionalChain([c, 'access', _529 => _529.data, 'optionalAccess', _530 => _530.droppableContainer, 'optionalAccess', _531 => _531.data, 'optionalAccess', _532 => _532.current, 'optionalAccess', _533 => _533.type]) === "column"
30113
30109
  );
30114
30110
  if (columnHit) {
30115
- const columnId = _optionalChain([columnHit, 'access', _536 => _536.data, 'optionalAccess', _537 => _537.droppableContainer, 'optionalAccess', _538 => _538.data, 'optionalAccess', _539 => _539.current, 'optionalAccess', _540 => _540.columnId]);
30111
+ const columnId = _optionalChain([columnHit, 'access', _534 => _534.data, 'optionalAccess', _535 => _535.droppableContainer, 'optionalAccess', _536 => _536.data, 'optionalAccess', _537 => _537.current, 'optionalAccess', _538 => _538.columnId]);
30116
30112
  const ticketsInColumn = args.droppableContainers.filter((c) => {
30117
30113
  const d = c.data.current;
30118
- return _optionalChain([d, 'optionalAccess', _541 => _541.type]) === "ticket" && d.columnId === columnId;
30114
+ return _optionalChain([d, 'optionalAccess', _539 => _539.type]) === "ticket" && d.columnId === columnId;
30119
30115
  });
30120
30116
  if (ticketsInColumn.length > 0) {
30121
30117
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -30140,20 +30136,20 @@ function Board({
30140
30136
  const overId = String(over.id);
30141
30137
  if (activeId === overId) return;
30142
30138
  const overData = over.data.current;
30143
- const fromColumnId = _optionalChain([locate, 'call', _542 => _542(items, activeId), 'optionalAccess', _543 => _543.columnId]);
30144
- const toColumnId = _optionalChain([overData, 'optionalAccess', _544 => _544.columnId]);
30139
+ const fromColumnId = _optionalChain([locate, 'call', _540 => _540(items, activeId), 'optionalAccess', _541 => _541.columnId]);
30140
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _542 => _542.columnId]);
30145
30141
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
30146
30142
  const origin = dragOriginRef.current;
30147
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _545 => _545.fromColumnId]) === toColumnId;
30143
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _543 => _543.fromColumnId]) === toColumnId;
30148
30144
  const targetCol = items.find((c) => c.id === toColumnId);
30149
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _546 => _546.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30150
- if (_optionalChain([targetCol, 'optionalAccess', _547 => _547.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30145
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _544 => _544.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30146
+ if (_optionalChain([targetCol, 'optionalAccess', _545 => _545.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30151
30147
  setItems((prev) => {
30152
30148
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
30153
30149
  const toCol = prev.find((c) => c.id === toColumnId);
30154
30150
  if (fromIndex < 0 || !toCol) return prev;
30155
30151
  let toIndex;
30156
- if (_optionalChain([overData, 'optionalAccess', _548 => _548.type]) === "column") {
30152
+ if (_optionalChain([overData, 'optionalAccess', _546 => _546.type]) === "column") {
30157
30153
  toIndex = toCol.tickets.length;
30158
30154
  } else {
30159
30155
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -30195,14 +30191,14 @@ function Board({
30195
30191
  const toColumnId = located.columnId;
30196
30192
  const isCrossColumn = origin.fromColumnId !== toColumnId;
30197
30193
  const targetCol = items.find((c) => c.id === toColumnId);
30198
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _549 => _549.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _550 => _550.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30194
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _547 => _547.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _548 => _548.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30199
30195
  setItems(columns);
30200
30196
  return;
30201
30197
  }
30202
30198
  let finalIndex = located.index;
30203
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _551 => _551.find, 'call', _552 => _552((c) => c.id === toColumnId), 'optionalAccess', _553 => _553.tickets]), () => ( []));
30199
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _549 => _549.find, 'call', _550 => _550((c) => c.id === toColumnId), 'optionalAccess', _551 => _551.tickets]), () => ( []));
30204
30200
  const overData = over.data.current;
30205
- if (_optionalChain([overData, 'optionalAccess', _554 => _554.type]) === "ticket") {
30201
+ if (_optionalChain([overData, 'optionalAccess', _552 => _552.type]) === "ticket") {
30206
30202
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
30207
30203
  if (overIndex >= 0 && overIndex !== located.index) {
30208
30204
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -30222,8 +30218,8 @@ function Board({
30222
30218
  ticketId: origin.ticketId,
30223
30219
  fromColumnId: origin.fromColumnId,
30224
30220
  toColumnId,
30225
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _555 => _555[finalIndex - 1], 'optionalAccess', _556 => _556.id]), () => ( null)),
30226
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _557 => _557[finalIndex + 1], 'optionalAccess', _558 => _558.id]), () => ( null))
30221
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _553 => _553[finalIndex - 1], 'optionalAccess', _554 => _554.id]), () => ( null)),
30222
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _555 => _555[finalIndex + 1], 'optionalAccess', _556 => _556.id]), () => ( null))
30227
30223
  });
30228
30224
  };
30229
30225
  const handleDragCancel = () => {
@@ -30252,8 +30248,8 @@ function Board({
30252
30248
  children: items.map((column, i) => {
30253
30249
  const prev = items[i - 1];
30254
30250
  const next = items[i + 1];
30255
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _559 => _559.system]));
30256
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _560 => _560.system]));
30251
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _557 => _557.system]));
30252
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _558 => _558.system]));
30257
30253
  const showGap = i > 0 && !joinLeft;
30258
30254
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React96.Fragment, { children: [
30259
30255
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -30306,7 +30302,7 @@ function Board({
30306
30302
  {
30307
30303
  ticket: activeTicket.ticket,
30308
30304
  columnId: activeTicket.columnId,
30309
- columnColor: _optionalChain([items, 'access', _561 => _561.find, 'call', _562 => _562((c) => c.id === activeTicket.columnId), 'optionalAccess', _563 => _563.color]),
30305
+ columnColor: _optionalChain([items, 'access', _559 => _559.find, 'call', _560 => _560((c) => c.id === activeTicket.columnId), 'optionalAccess', _561 => _561.color]),
30310
30306
  isOverlay: true
30311
30307
  }
30312
30308
  ) : null })
@@ -30322,7 +30318,7 @@ function locate(cols, ticketId) {
30322
30318
  return null;
30323
30319
  }
30324
30320
  function findIndexInColumn(cols, columnId, ticketId) {
30325
- return _nullishCoalesce(_optionalChain([cols, 'access', _564 => _564.find, 'call', _565 => _565((c) => c.id === columnId), 'optionalAccess', _566 => _566.tickets, 'access', _567 => _567.findIndex, 'call', _568 => _568((t) => t.id === ticketId)]), () => ( -1));
30321
+ 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));
30326
30322
  }
30327
30323
 
30328
30324
  // src/components/features/board/types.ts
@@ -30570,7 +30566,7 @@ function Header2({ config, platform }) {
30570
30566
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30571
30567
  "flex justify-start w-full",
30572
30568
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
30573
- index < (_nullishCoalesce(_optionalChain([item, 'access', _569 => _569.children, 'optionalAccess', _570 => _570.length]), () => ( 0))) - 1 && "mb-1",
30569
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _567 => _567.children, 'optionalAccess', _568 => _568.length]), () => ( 0))) - 1 && "mb-1",
30574
30570
  "text-ods-text-primary",
30575
30571
  // All dropdown items use primary text color
30576
30572
  child.isActive && "bg-ods-bg-hover"
@@ -30662,7 +30658,7 @@ function Header2({ config, platform }) {
30662
30658
  style: config.style,
30663
30659
  children: [
30664
30660
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
30665
- _optionalChain([config, 'access', _571 => _571.actions, 'optionalAccess', _572 => _572.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
30661
+ _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 }),
30666
30662
  /* @__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 })
30667
30663
  ] }),
30668
30664
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -30679,7 +30675,7 @@ function Header2({ config, platform }) {
30679
30675
  }
30680
30676
  ),
30681
30677
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
30682
- _optionalChain([config, 'access', _573 => _573.actions, 'optionalAccess', _574 => _574.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
30678
+ _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 }),
30683
30679
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30684
30680
  _chunkFQOTC3UUcjs.Button,
30685
30681
  {
@@ -30687,10 +30683,10 @@ function Header2({ config, platform }) {
30687
30683
  size: "icon",
30688
30684
  className: "flex md:hidden",
30689
30685
  onClick: () => {
30690
- _optionalChain([config, 'access', _575 => _575.mobile, 'optionalAccess', _576 => _576.onToggle, 'optionalCall', _577 => _577()]);
30686
+ _optionalChain([config, 'access', _573 => _573.mobile, 'optionalAccess', _574 => _574.onToggle, 'optionalCall', _575 => _575()]);
30691
30687
  },
30692
- "aria-label": _optionalChain([config, 'access', _578 => _578.mobile, 'optionalAccess', _579 => _579.isOpen]) ? "Close menu" : "Open menu",
30693
- leftIcon: _optionalChain([config, 'access', _580 => _580.mobile, 'optionalAccess', _581 => _581.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Menu01Icon, {})
30688
+ "aria-label": _optionalChain([config, 'access', _576 => _576.mobile, 'optionalAccess', _577 => _577.isOpen]) ? "Close menu" : "Open menu",
30689
+ leftIcon: _optionalChain([config, 'access', _578 => _578.mobile, 'optionalAccess', _579 => _579.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Menu01Icon, {})
30694
30690
  }
30695
30691
  )
30696
30692
  ] })
@@ -30707,10 +30703,10 @@ function Header2({ config, platform }) {
30707
30703
  // src/components/navigation/header-skeleton.tsx
30708
30704
 
30709
30705
  function HeaderSkeleton({ config }) {
30710
- const showNavigation = _optionalChain([config, 'optionalAccess', _582 => _582.navigation]) && config.navigation.items.length > 0;
30711
- const showActions = _optionalChain([config, 'optionalAccess', _583 => _583.actions, 'optionalAccess', _584 => _584.right]) && config.actions.right.length > 0;
30712
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _585 => _585.mobile, 'optionalAccess', _586 => _586.enabled]);
30713
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _587 => _587.className, 'optionalAccess', _588 => _588.includes, 'call', _589 => _589("admin")]);
30706
+ const showNavigation = _optionalChain([config, 'optionalAccess', _580 => _580.navigation]) && config.navigation.items.length > 0;
30707
+ const showActions = _optionalChain([config, 'optionalAccess', _581 => _581.actions, 'optionalAccess', _582 => _582.right]) && config.actions.right.length > 0;
30708
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _583 => _583.mobile, 'optionalAccess', _584 => _584.enabled]);
30709
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _585 => _585.className, 'optionalAccess', _586 => _586.includes, 'call', _587 => _587("admin")]);
30714
30710
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30715
30711
  "header",
30716
30712
  {
@@ -30719,11 +30715,11 @@ function HeaderSkeleton({ config }) {
30719
30715
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
30720
30716
  "px-6 py-3",
30721
30717
  "transition-opacity duration-300 ease-in-out",
30722
- _optionalChain([config, 'optionalAccess', _590 => _590.className])
30718
+ _optionalChain([config, 'optionalAccess', _588 => _588.className])
30723
30719
  ),
30724
30720
  children: [
30725
30721
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
30726
- isAdminHeader && _optionalChain([config, 'optionalAccess', _591 => _591.actions, 'optionalAccess', _592 => _592.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" }) }),
30722
+ 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" }) }),
30727
30723
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
30728
30724
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
30729
30725
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -30731,8 +30727,8 @@ function HeaderSkeleton({ config }) {
30731
30727
  ] }),
30732
30728
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
30733
30729
  "hidden md:flex items-center gap-2",
30734
- _optionalChain([config, 'optionalAccess', _593 => _593.navigation, 'optionalAccess', _594 => _594.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
30735
- _optionalChain([config, 'optionalAccess', _595 => _595.navigation, 'optionalAccess', _596 => _596.position]) === "right" && "ml-auto mr-4"
30730
+ _optionalChain([config, 'optionalAccess', _591 => _591.navigation, 'optionalAccess', _592 => _592.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
30731
+ _optionalChain([config, 'optionalAccess', _593 => _593.navigation, 'optionalAccess', _594 => _594.position]) === "right" && "ml-auto mr-4"
30736
30732
  ), children: [
30737
30733
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
30738
30734
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -30780,7 +30776,7 @@ function MobileNavPanel({ isOpen, config }) {
30780
30776
  _react.useEffect.call(void 0, () => {
30781
30777
  const handleKeyDown = (e) => {
30782
30778
  if (e.key === "Escape" && isOpen) {
30783
- _optionalChain([config, 'access', _597 => _597.onClose, 'optionalCall', _598 => _598()]);
30779
+ _optionalChain([config, 'access', _595 => _595.onClose, 'optionalCall', _596 => _596()]);
30784
30780
  }
30785
30781
  };
30786
30782
  if (isOpen) {
@@ -30797,7 +30793,7 @@ function MobileNavPanel({ isOpen, config }) {
30797
30793
  if (item.onClick) {
30798
30794
  item.onClick();
30799
30795
  }
30800
- _optionalChain([config, 'access', _599 => _599.onClose, 'optionalCall', _600 => _600()]);
30796
+ _optionalChain([config, 'access', _597 => _597.onClose, 'optionalCall', _598 => _598()]);
30801
30797
  };
30802
30798
  if (item.href) {
30803
30799
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -30892,7 +30888,7 @@ _chunkFQOTC3UUcjs.init_button2.call(void 0, );
30892
30888
  function SlidingSidebar({ config }) {
30893
30889
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
30894
30890
  const [mounted, setMounted] = _react.useState.call(void 0, false);
30895
- const headerHeight = _chunkWMSTJAZTcjs.useHeaderHeight.call(void 0, );
30891
+ const headerHeight = _chunkG56GYN7Zcjs.useHeaderHeight.call(void 0, );
30896
30892
  _react.useEffect.call(void 0, () => {
30897
30893
  setMounted(true);
30898
30894
  }, []);
@@ -30967,7 +30963,7 @@ function SlidingSidebar({ config }) {
30967
30963
  variant: "transparent",
30968
30964
  size: "default",
30969
30965
  onClick: () => {
30970
- _optionalChain([item, 'access', _601 => _601.onClick, 'optionalCall', _602 => _602()]);
30966
+ _optionalChain([item, 'access', _599 => _599.onClick, 'optionalCall', _600 => _600()]);
30971
30967
  config.onClose();
30972
30968
  },
30973
30969
  leftIcon: item.icon,
@@ -30990,7 +30986,7 @@ function SlidingSidebar({ config }) {
30990
30986
  variant: "transparent",
30991
30987
  size: "default",
30992
30988
  onClick: () => {
30993
- _optionalChain([item, 'access', _603 => _603.onClick, 'optionalCall', _604 => _604()]);
30989
+ _optionalChain([item, 'access', _601 => _601.onClick, 'optionalCall', _602 => _602()]);
30994
30990
  config.onClose();
30995
30991
  },
30996
30992
  leftIcon: item.icon,
@@ -31117,7 +31113,7 @@ function StickySectionNav({
31117
31113
  ] });
31118
31114
  }
31119
31115
  function useSectionNavigation(sections, options) {
31120
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _605 => _605[0], 'optionalAccess', _606 => _606.id]) || "");
31116
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _603 => _603[0], 'optionalAccess', _604 => _604.id]) || "");
31121
31117
  const isScrollingFromClick = _react.useRef.call(void 0, false);
31122
31118
  const { offset: offset2 = 100 } = options || {};
31123
31119
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -31125,7 +31121,7 @@ function useSectionNavigation(sections, options) {
31125
31121
  if (!targetElement) return;
31126
31122
  isScrollingFromClick.current = true;
31127
31123
  setActiveSection(sectionId);
31128
- _chunkWMSTJAZTcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
31124
+ _chunkG56GYN7Zcjs.scrollElementIntoView.call(void 0, targetElement, { headerOffset: offset2 });
31129
31125
  setTimeout(() => {
31130
31126
  isScrollingFromClick.current = false;
31131
31127
  }, 500);
@@ -31141,7 +31137,7 @@ function useSectionNavigation(sections, options) {
31141
31137
  const handleScroll = () => {
31142
31138
  if (isScrollingFromClick.current) return;
31143
31139
  const scrollPosition = window.scrollY + offset2 + 50;
31144
- let currentSection = _optionalChain([sections, 'access', _607 => _607[0], 'optionalAccess', _608 => _608.id]) || "";
31140
+ let currentSection = _optionalChain([sections, 'access', _605 => _605[0], 'optionalAccess', _606 => _606.id]) || "";
31145
31141
  for (let i = sections.length - 1; i >= 0; i--) {
31146
31142
  const element = document.getElementById(sections[i].id);
31147
31143
  if (element && scrollPosition >= element.offsetTop) {
@@ -31321,10 +31317,10 @@ var MINIMIZED_WIDTH = 56;
31321
31317
  var EXPANDED_WIDTH = 224;
31322
31318
  var STORAGE_KEY = "of.navigationSidebar.minimized";
31323
31319
  function NavigationSidebar({ config, disabled = false }) {
31324
- const isMdUp = _nullishCoalesce(_chunkWMSTJAZTcjs.useMdUp.call(void 0, ), () => ( false));
31325
- const isLgUp = _nullishCoalesce(_chunkWMSTJAZTcjs.useLgUp.call(void 0, ), () => ( false));
31320
+ const isMdUp = _nullishCoalesce(_chunkG56GYN7Zcjs.useMdUp.call(void 0, ), () => ( false));
31321
+ const isLgUp = _nullishCoalesce(_chunkG56GYN7Zcjs.useLgUp.call(void 0, ), () => ( false));
31326
31322
  const isTablet = isMdUp && !isLgUp;
31327
- const [desktopMinimized, setDesktopMinimized] = _chunkWMSTJAZTcjs.useLocalStorage.call(void 0,
31323
+ const [desktopMinimized, setDesktopMinimized] = _chunkG56GYN7Zcjs.useLocalStorage.call(void 0,
31328
31324
  STORAGE_KEY,
31329
31325
  _nullishCoalesce(config.minimized, () => ( false))
31330
31326
  );
@@ -31342,7 +31338,7 @@ function NavigationSidebar({ config, disabled = false }) {
31342
31338
  } else {
31343
31339
  setDesktopMinimized((prev) => !prev);
31344
31340
  }
31345
- _optionalChain([config, 'access', _609 => _609.onToggleMinimized, 'optionalCall', _610 => _610()]);
31341
+ _optionalChain([config, 'access', _607 => _607.onToggleMinimized, 'optionalCall', _608 => _608()]);
31346
31342
  }, [isTablet, setDesktopMinimized, config]);
31347
31343
  const closeOverlay = _react.useCallback.call(void 0, () => {
31348
31344
  setTabletMinimized(true);
@@ -31356,11 +31352,11 @@ function NavigationSidebar({ config, disabled = false }) {
31356
31352
  return () => document.removeEventListener("keydown", handleKeyDown);
31357
31353
  }, [isOverlayOpen, closeOverlay]);
31358
31354
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
31359
- _optionalChain([event, 'optionalAccess', _611 => _611.stopPropagation, 'call', _612 => _612()]);
31355
+ _optionalChain([event, 'optionalAccess', _609 => _609.stopPropagation, 'call', _610 => _610()]);
31360
31356
  if (item.onClick) {
31361
31357
  item.onClick();
31362
31358
  } else if (item.path) {
31363
- _optionalChain([config, 'access', _613 => _613.onNavigate, 'optionalCall', _614 => _614(item.path)]);
31359
+ _optionalChain([config, 'access', _611 => _611.onNavigate, 'optionalCall', _612 => _612(item.path)]);
31364
31360
  }
31365
31361
  if (isTablet) setTabletMinimized(true);
31366
31362
  }, [config, isTablet]);
@@ -31480,11 +31476,11 @@ function HeaderGlobalSearch({
31480
31476
  };
31481
31477
  const handleSubmit = (e) => {
31482
31478
  e.preventDefault();
31483
- _optionalChain([onSubmit, 'optionalCall', _615 => _615(currentValue)]);
31479
+ _optionalChain([onSubmit, 'optionalCall', _613 => _613(currentValue)]);
31484
31480
  };
31485
31481
  const handleKeyDown = (e) => {
31486
31482
  if (e.key === "Enter") {
31487
- _optionalChain([onSubmit, 'optionalCall', _616 => _616(currentValue)]);
31483
+ _optionalChain([onSubmit, 'optionalCall', _614 => _614(currentValue)]);
31488
31484
  }
31489
31485
  };
31490
31486
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -31578,8 +31574,8 @@ function HeaderOrganizationFilter({
31578
31574
  className
31579
31575
  }) {
31580
31576
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
31581
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _617 => _617.name]) || "All Organizations";
31582
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _618 => _618.deviceCount]), () => ( totalDeviceCount));
31577
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _615 => _615.name]) || "All Organizations";
31578
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _616 => _616.deviceCount]), () => ( totalDeviceCount));
31583
31579
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFQOTC3UUcjs.DropdownMenu, { children: [
31584
31580
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31585
31581
  "button",
@@ -31604,11 +31600,11 @@ function HeaderOrganizationFilter({
31604
31600
  }
31605
31601
  ) }),
31606
31602
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
31607
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _619 => _619("")]), children: "All Organizations" }),
31603
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFQOTC3UUcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _617 => _617("")]), children: "All Organizations" }),
31608
31604
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31609
31605
  _chunkFQOTC3UUcjs.DropdownMenuItem,
31610
31606
  {
31611
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _620 => _620(org.id)]),
31607
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _618 => _618(org.id)]),
31612
31608
  children: org.name
31613
31609
  },
31614
31610
  org.id
@@ -31643,7 +31639,7 @@ var AppHeader = React112.default.memo(function AppHeader2({
31643
31639
  onToggleMobileMenu,
31644
31640
  disabled = false
31645
31641
  }) {
31646
- const isMdUp = _nullishCoalesce(_chunkWMSTJAZTcjs.useMdUp.call(void 0, ), () => ( false));
31642
+ const isMdUp = _nullishCoalesce(_chunkG56GYN7Zcjs.useMdUp.call(void 0, ), () => ( false));
31647
31643
  const dimmedClass = disabled ? "pointer-events-none opacity-50" : "";
31648
31644
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31649
31645
  "header",
@@ -31795,9 +31791,9 @@ function NotificationsHeaderButton({
31795
31791
  dimmedClass
31796
31792
  }) {
31797
31793
  const ctx = useOptionalNotifications();
31798
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _621 => _621.unreadCount]), () => ( fallbackUnreadCount))) > 0;
31799
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _622 => _622.isOpen]), () => ( false));
31800
- const onClick = _optionalChain([ctx, 'optionalAccess', _623 => _623.toggle]);
31794
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _619 => _619.unreadCount]), () => ( fallbackUnreadCount))) > 0;
31795
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _620 => _620.isOpen]), () => ( false));
31796
+ const onClick = _optionalChain([ctx, 'optionalAccess', _621 => _621.toggle]);
31801
31797
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31802
31798
  HeaderButton,
31803
31799
  {
@@ -31861,7 +31857,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
31861
31857
  if (item.onClick) {
31862
31858
  item.onClick();
31863
31859
  } else if (item.path) {
31864
- _optionalChain([config, 'access', _624 => _624.onNavigate, 'optionalCall', _625 => _625(item.path)]);
31860
+ _optionalChain([config, 'access', _622 => _622.onNavigate, 'optionalCall', _623 => _623(item.path)]);
31865
31861
  }
31866
31862
  onClose();
31867
31863
  }, [config, onClose]);
@@ -32104,7 +32100,7 @@ var AppLayoutDrawerRoot = ({
32104
32100
  const handleOpenChange = React105.useCallback(
32105
32101
  (next) => {
32106
32102
  if (!isControlled) setInternalOpen(next);
32107
- _optionalChain([onOpenChange, 'optionalCall', _626 => _626(next)]);
32103
+ _optionalChain([onOpenChange, 'optionalCall', _624 => _624(next)]);
32108
32104
  },
32109
32105
  [isControlled, onOpenChange]
32110
32106
  );
@@ -32485,10 +32481,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
32485
32481
  ),
32486
32482
  style,
32487
32483
  onInteractOutside: (event) => {
32488
- _optionalChain([onInteractOutside, 'optionalCall', _627 => _627(event)]);
32484
+ _optionalChain([onInteractOutside, 'optionalCall', _625 => _625(event)]);
32489
32485
  if (event.defaultPrevented) return;
32490
32486
  const target = event.target;
32491
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _628 => _628.contains, 'call', _629 => _629(target)]);
32487
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _626 => _626.contains, 'call', _627 => _627(target)]);
32492
32488
  if (!isInsideContainer) {
32493
32489
  event.preventDefault();
32494
32490
  return;
@@ -32853,7 +32849,7 @@ var ToolBadge = ({
32853
32849
  }) => {
32854
32850
  const label = getToolLabel(toolType);
32855
32851
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex items-center gap-1 text-ods-text-secondary", className), children: [
32856
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMSTJAZTcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
32852
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG56GYN7Zcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }),
32857
32853
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary text-h4", children: label })
32858
32854
  ] });
32859
32855
  };
@@ -32901,7 +32897,7 @@ var ShellTypeBadge = ({
32901
32897
  className,
32902
32898
  iconClassName
32903
32899
  }) => {
32904
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _630 => _630.toUpperCase, 'call', _631 => _631()]);
32900
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _628 => _628.toUpperCase, 'call', _629 => _629()]);
32905
32901
  const label = getShellLabel(normalizedType);
32906
32902
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
32907
32903
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -33225,7 +33221,7 @@ function OnboardingWalkthrough({
33225
33221
  isStepSkipped,
33226
33222
  allStepsComplete,
33227
33223
  markMultipleComplete
33228
- } = _chunkWMSTJAZTcjs.useOnboardingState.call(void 0, storageKey);
33224
+ } = _chunkG56GYN7Zcjs.useOnboardingState.call(void 0, storageKey);
33229
33225
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
33230
33226
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
33231
33227
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -33288,12 +33284,12 @@ function OnboardingWalkthrough({
33288
33284
  }
33289
33285
  }, [state.completedSteps, markComplete]);
33290
33286
  const handleStepSkip = (step) => {
33291
- _optionalChain([step, 'access', _632 => _632.onSkip, 'optionalCall', _633 => _633()]);
33287
+ _optionalChain([step, 'access', _630 => _630.onSkip, 'optionalCall', _631 => _631()]);
33292
33288
  markSkipped(step.id);
33293
33289
  };
33294
33290
  const handleDismiss = () => {
33295
33291
  dismissOnboarding();
33296
- _optionalChain([onDismiss, 'optionalCall', _634 => _634()]);
33292
+ _optionalChain([onDismiss, 'optionalCall', _632 => _632()]);
33297
33293
  };
33298
33294
  if (state.dismissed) {
33299
33295
  return null;
@@ -33423,7 +33419,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
33423
33419
  onKeyDown: (e) => {
33424
33420
  if (e.key === "Enter" || e.key === " ") {
33425
33421
  e.preventDefault();
33426
- _optionalChain([onClick, 'optionalCall', _635 => _635()]);
33422
+ _optionalChain([onClick, 'optionalCall', _633 => _633()]);
33427
33423
  }
33428
33424
  },
33429
33425
  children: [
@@ -33432,7 +33428,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
33432
33428
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-5 text-white", children: log.title }),
33433
33429
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
33434
33430
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['Azeret_Mono'] font-normal text-[13px] leading-4 text-ods-text-secondary uppercase tracking-wider", children: formatTimestamp(log.timestamp) }),
33435
- log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWMSTJAZTcjs.ToolIcon, { toolType: log.toolType, size: 16 })
33431
+ log.toolType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG56GYN7Zcjs.ToolIcon, { toolType: log.toolType, size: 16 })
33436
33432
  ] })
33437
33433
  ] })
33438
33434
  ]
@@ -33524,7 +33520,7 @@ var LogsList = React109.forwardRef(({
33524
33520
  log,
33525
33521
  isLast: index === logs.length - 1,
33526
33522
  showConnector,
33527
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _636 => _636(log)])
33523
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _634 => _634(log)])
33528
33524
  },
33529
33525
  log.id
33530
33526
  ))
@@ -33569,7 +33565,7 @@ function ServiceCard({ title, subtitle, icon, tag, rows, className }) {
33569
33565
  }
33570
33566
  function ServiceCardRowItem({ row }) {
33571
33567
  const [revealed, setRevealed] = _react.useState.call(void 0, false);
33572
- const { copy, copied } = _chunkWMSTJAZTcjs.useCopyToClipboard.call(void 0, );
33568
+ const { copy, copied } = _chunkG56GYN7Zcjs.useCopyToClipboard.call(void 0, );
33573
33569
  const actions = _react.useMemo.call(void 0, () => ({ copy: true, open: !!row.href, reveal: !!row.isSecret, ...row.actions }), [row]);
33574
33570
  const displayValue = row.isSecret ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MaskedValue, { value: row.value, isRevealed: revealed }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: row.value });
33575
33571
  const handleCopy = () => copy(_nullishCoalesce(row.copyValue, () => ( row.value)));
@@ -33625,7 +33621,7 @@ var Slider = React111.forwardRef(
33625
33621
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
33626
33622
  const handleChange = (e) => {
33627
33623
  const newValue = [Number(e.target.value)];
33628
- _optionalChain([onValueChange, 'optionalCall', _637 => _637(newValue)]);
33624
+ _optionalChain([onValueChange, 'optionalCall', _635 => _635(newValue)]);
33629
33625
  };
33630
33626
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33631
33627
  "input",
@@ -34056,7 +34052,7 @@ function CursorPaginationSimple({
34056
34052
  {
34057
34053
  variant: "transparent",
34058
34054
  size: "icon",
34059
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _638 => _638("")]),
34055
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _636 => _636("")]),
34060
34056
  disabled: !hasPreviousPage || loading,
34061
34057
  className: "h-8 w-8",
34062
34058
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -34068,7 +34064,7 @@ function CursorPaginationSimple({
34068
34064
  {
34069
34065
  variant: "transparent",
34070
34066
  size: "icon",
34071
- onClick: () => _optionalChain([onNext, 'optionalCall', _639 => _639("")]),
34067
+ onClick: () => _optionalChain([onNext, 'optionalCall', _637 => _637("")]),
34072
34068
  disabled: !hasNextPage || loading,
34073
34069
  className: "h-8 w-8",
34074
34070
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -34088,8 +34084,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
34088
34084
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
34089
34085
  title: _nullishCoalesce(message2, () => ( "No results found")),
34090
34086
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
34091
- buttonLabel: _optionalChain([action, 'optionalAccess', _640 => _640.label]),
34092
- onButtonClick: _optionalChain([action, 'optionalAccess', _641 => _641.onClick]),
34087
+ buttonLabel: _optionalChain([action, 'optionalAccess', _638 => _638.label]),
34088
+ onButtonClick: _optionalChain([action, 'optionalAccess', _639 => _639.onClick]),
34093
34089
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
34094
34090
  }
34095
34091
  );
@@ -34110,7 +34106,7 @@ function TableColumnFilterDropdown({
34110
34106
  placement = "bottom-start",
34111
34107
  dropdownClassName = "min-w-[240px]"
34112
34108
  }) {
34113
- const activeCount = _optionalChain([filters, 'optionalAccess', _642 => _642[columnKey], 'optionalAccess', _643 => _643.length]) || 0;
34109
+ const activeCount = _optionalChain([filters, 'optionalAccess', _640 => _640[columnKey], 'optionalAccess', _641 => _641.length]) || 0;
34114
34110
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34115
34111
  FiltersDropdown,
34116
34112
  {
@@ -34153,7 +34149,7 @@ function TableColumnFilterDropdown({
34153
34149
  delete newFilters[columnKey];
34154
34150
  onFilterChange(newFilters);
34155
34151
  },
34156
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _644 => _644[columnKey]]) || [] },
34152
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _642 => _642[columnKey]]) || [] },
34157
34153
  placement,
34158
34154
  dropdownClassName
34159
34155
  }
@@ -34228,7 +34224,7 @@ function TableHeader({
34228
34224
  }
34229
34225
  return sortDirection === "asc" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Arrow01UpIcon, { className: "w-4 h-4 text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Arrow01DownIcon, { className: "w-4 h-4 text-ods-accent" });
34230
34226
  };
34231
- const isLgUp = _nullishCoalesce(_chunkWMSTJAZTcjs.useLgUp.call(void 0, ), () => ( false));
34227
+ const isLgUp = _nullishCoalesce(_chunkG56GYN7Zcjs.useLgUp.call(void 0, ), () => ( false));
34232
34228
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34233
34229
  "div",
34234
34230
  {
@@ -34450,7 +34446,7 @@ function TableRow({
34450
34446
  const keys = column.key.split(".");
34451
34447
  let value = item;
34452
34448
  for (const key of keys) {
34453
- value = _optionalChain([value, 'optionalAccess', _645 => _645[key]]);
34449
+ value = _optionalChain([value, 'optionalAccess', _643 => _643[key]]);
34454
34450
  }
34455
34451
  if (value === null || value === void 0) {
34456
34452
  return "-";
@@ -34520,7 +34516,7 @@ function TableRow({
34520
34516
  // src/components/ui/table/table.tsx
34521
34517
 
34522
34518
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
34523
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _646 => _646.length])) || Boolean(renderRowActions);
34519
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _644 => _644.length])) || Boolean(renderRowActions);
34524
34520
  const result = [...columns];
34525
34521
  if (hasActions) {
34526
34522
  const actionsColumn = {
@@ -34614,7 +34610,7 @@ function Table({
34614
34610
  return rowKey(item);
34615
34611
  }
34616
34612
  const key = item[rowKey];
34617
- return _optionalChain([key, 'optionalAccess', _647 => _647.toString, 'call', _648 => _648()]) || index.toString();
34613
+ return _optionalChain([key, 'optionalAccess', _645 => _645.toString, 'call', _646 => _646()]) || index.toString();
34618
34614
  };
34619
34615
  const getRowClassName = (item, index) => {
34620
34616
  if (typeof rowClassName === "function") {
@@ -34648,23 +34644,23 @@ function Table({
34648
34644
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
34649
34645
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
34650
34646
  const sentinelRef = _react.useRef.call(void 0, null);
34651
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _649 => _649.onLoadMore]));
34652
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _650 => _650.onLoadMore]);
34647
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _647 => _647.onLoadMore]));
34648
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _648 => _648.onLoadMore]);
34653
34649
  _react.useEffect.call(void 0, () => {
34654
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _651 => _651.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
34650
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _649 => _649.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
34655
34651
  const sentinel = sentinelRef.current;
34656
34652
  if (!sentinel) return;
34657
34653
  const observer = new IntersectionObserver(
34658
34654
  (entries) => {
34659
- if (_optionalChain([entries, 'access', _652 => _652[0], 'optionalAccess', _653 => _653.isIntersecting])) {
34660
- _optionalChain([onLoadMoreRef, 'access', _654 => _654.current, 'optionalCall', _655 => _655()]);
34655
+ if (_optionalChain([entries, 'access', _650 => _650[0], 'optionalAccess', _651 => _651.isIntersecting])) {
34656
+ _optionalChain([onLoadMoreRef, 'access', _652 => _652.current, 'optionalCall', _653 => _653()]);
34661
34657
  }
34662
34658
  },
34663
34659
  { rootMargin: "200px" }
34664
34660
  );
34665
34661
  observer.observe(sentinel);
34666
34662
  return () => observer.disconnect();
34667
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _656 => _656.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _657 => _657.isFetchingNextPage])]);
34663
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _654 => _654.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _655 => _655.isFetchingNextPage])]);
34668
34664
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
34669
34665
  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: [
34670
34666
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -34735,7 +34731,7 @@ function Table({
34735
34731
  },
34736
34732
  getRowKey(item, index)
34737
34733
  )),
34738
- _optionalChain([infiniteScroll, 'optionalAccess', _658 => _658.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34734
+ _optionalChain([infiniteScroll, 'optionalAccess', _656 => _656.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34739
34735
  TableCardSkeleton,
34740
34736
  {
34741
34737
  columns,
@@ -34744,7 +34740,7 @@ function Table({
34744
34740
  hasChevron: Boolean(rowHref)
34745
34741
  }
34746
34742
  ),
34747
- _optionalChain([infiniteScroll, 'optionalAccess', _659 => _659.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
34743
+ _optionalChain([infiniteScroll, 'optionalAccess', _657 => _657.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
34748
34744
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
34749
34745
  "div",
34750
34746
  {
@@ -35102,7 +35098,7 @@ function QueryReportTable({
35102
35098
  );
35103
35099
  const handleExport = () => {
35104
35100
  exportToCSV(data, columns, exportFilename);
35105
- _optionalChain([onExport, 'optionalCall', _660 => _660()]);
35101
+ _optionalChain([onExport, 'optionalCall', _658 => _658()]);
35106
35102
  };
35107
35103
  const tableMinWidth = columns.length * (columnWidth + 16);
35108
35104
  const {
@@ -35118,7 +35114,7 @@ function QueryReportTable({
35118
35114
  onThumbPointerDown,
35119
35115
  onThumbPointerMove,
35120
35116
  onThumbPointerUp
35121
- } = _chunkWMSTJAZTcjs.useHorizontalScrollbar.call(void 0, );
35117
+ } = _chunkG56GYN7Zcjs.useHorizontalScrollbar.call(void 0, );
35122
35118
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col w-full", isCompact ? "gap-0" : "gap-6", className), children: [
35123
35119
  !isCompact && (title || headerActions || showExport && data.length > 0) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end justify-between pt-6", children: [
35124
35120
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "font-mono font-semibold text-[32px] leading-[40px] text-ods-text-primary", children: title }),
@@ -35275,7 +35271,7 @@ function DataTableColumnFilter({
35275
35271
  align = "left"
35276
35272
  }) {
35277
35273
  const currentValue = column.getFilterValue();
35278
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _661 => _661.length]), () => ( 0));
35274
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _659 => _659.length]), () => ( 0));
35279
35275
  const sections = _react.useMemo.call(void 0,
35280
35276
  () => [
35281
35277
  {
@@ -35349,13 +35345,13 @@ function DataTableHeader({
35349
35345
  onSortChange
35350
35346
  }) {
35351
35347
  const table = useDataTableContext();
35352
- const isLgUp = _nullishCoalesce(_chunkWMSTJAZTcjs.useLgUp.call(void 0, ), () => ( false));
35348
+ const isLgUp = _nullishCoalesce(_chunkG56GYN7Zcjs.useLgUp.call(void 0, ), () => ( false));
35353
35349
  const headerGroup = table.getHeaderGroups()[0];
35354
35350
  if (!headerGroup) return null;
35355
35351
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
35356
35352
  if (header.isPlaceholder) return false;
35357
35353
  if (isLgUp) return true;
35358
- return Boolean(_optionalChain([header, 'access', _662 => _662.column, 'access', _663 => _663.columnDef, 'access', _664 => _664.meta, 'optionalAccess', _665 => _665.filter]));
35354
+ return Boolean(_optionalChain([header, 'access', _660 => _660.column, 'access', _661 => _661.columnDef, 'access', _662 => _662.meta, 'optionalAccess', _663 => _663.filter]));
35359
35355
  });
35360
35356
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35361
35357
  "div",
@@ -35385,20 +35381,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35385
35381
  if (header.isPlaceholder) return null;
35386
35382
  const column = header.column;
35387
35383
  const meta = column.columnDef.meta;
35388
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _666 => _666.filter]));
35389
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _667 => _667.align]), () => ( "left"));
35390
- const canSort = _optionalChain([meta, 'optionalAccess', _668 => _668.sortable]) === true;
35391
- const sortDir = _optionalChain([sort, 'optionalAccess', _669 => _669.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35384
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _664 => _664.filter]));
35385
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _665 => _665.align]), () => ( "left"));
35386
+ const canSort = _optionalChain([meta, 'optionalAccess', _666 => _666.sortable]) === true;
35387
+ const sortDir = _optionalChain([sort, 'optionalAccess', _667 => _667.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35392
35388
  if (!isLgUp && !hasFilter) return null;
35393
35389
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35394
35390
  "div",
35395
35391
  {
35396
35392
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35397
35393
  "flex items-stretch",
35398
- isLgUp && (_optionalChain([meta, 'optionalAccess', _670 => _670.width]) || "flex-1 min-w-0"),
35399
- _optionalChain([meta, 'optionalAccess', _671 => _671.headerClassName]),
35394
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _668 => _668.width]) || "flex-1 min-w-0"),
35395
+ _optionalChain([meta, 'optionalAccess', _669 => _669.headerClassName]),
35400
35396
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
35401
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _672 => _672.hideAt]))
35397
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _670 => _670.hideAt]))
35402
35398
  ),
35403
35399
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35404
35400
  DataTableColumnFilter,
@@ -35417,7 +35413,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35417
35413
  isLgUp && alignJustify(align),
35418
35414
  canSort && "group cursor-pointer"
35419
35415
  ),
35420
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _673 => _673(column.id)]) : void 0,
35416
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _671 => _671(column.id)]) : void 0,
35421
35417
  children: [
35422
35418
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
35423
35419
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -35482,7 +35478,7 @@ function DataTableSkeleton({
35482
35478
  }) {
35483
35479
  const table = useDataTableContext();
35484
35480
  const columns = table.getVisibleFlatColumns();
35485
- const firstColumnId = _optionalChain([columns, 'access', _674 => _674[0], 'optionalAccess', _675 => _675.id]);
35481
+ const firstColumnId = _optionalChain([columns, 'access', _672 => _672[0], 'optionalAccess', _673 => _673.id]);
35486
35482
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35487
35483
  "div",
35488
35484
  {
@@ -35506,7 +35502,7 @@ function DataTableSkeleton({
35506
35502
  {
35507
35503
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35508
35504
  "flex flex-col justify-center shrink-0",
35509
- _optionalChain([meta, 'optionalAccess', _676 => _676.width]) || "flex-1"
35505
+ _optionalChain([meta, 'optionalAccess', _674 => _674.width]) || "flex-1"
35510
35506
  ),
35511
35507
  children: [
35512
35508
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -35555,7 +35551,7 @@ function DataTableRowImpl({
35555
35551
  const handleClick = _react.useCallback.call(void 0,
35556
35552
  (e) => {
35557
35553
  const target = e.target;
35558
- if (!_optionalChain([containerRef, 'access', _677 => _677.current, 'optionalAccess', _678 => _678.contains, 'call', _679 => _679(target)])) {
35554
+ if (!_optionalChain([containerRef, 'access', _675 => _675.current, 'optionalAccess', _676 => _676.contains, 'call', _677 => _677(target)])) {
35559
35555
  if (isLinkMode) e.preventDefault();
35560
35556
  return;
35561
35557
  }
@@ -35563,7 +35559,7 @@ function DataTableRowImpl({
35563
35559
  if (isLinkMode) e.preventDefault();
35564
35560
  return;
35565
35561
  }
35566
- _optionalChain([onClick, 'optionalCall', _680 => _680(row.original)]);
35562
+ _optionalChain([onClick, 'optionalCall', _678 => _678(row.original)]);
35567
35563
  },
35568
35564
  [onClick, row.original, isLinkMode]
35569
35565
  );
@@ -35588,10 +35584,10 @@ function DataTableRowImpl({
35588
35584
  {
35589
35585
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35590
35586
  "flex flex-col overflow-hidden",
35591
- alignJustify(_optionalChain([meta, 'optionalAccess', _681 => _681.align])),
35592
- _optionalChain([meta, 'optionalAccess', _682 => _682.width]) || "flex-1 min-w-0",
35593
- _optionalChain([meta, 'optionalAccess', _683 => _683.cellClassName]),
35594
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _684 => _684.hideAt]))
35587
+ alignJustify(_optionalChain([meta, 'optionalAccess', _679 => _679.align])),
35588
+ _optionalChain([meta, 'optionalAccess', _680 => _680.width]) || "flex-1 min-w-0",
35589
+ _optionalChain([meta, 'optionalAccess', _681 => _681.cellClassName]),
35590
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _682 => _682.hideAt]))
35595
35591
  ),
35596
35592
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
35597
35593
  },
@@ -35670,7 +35666,7 @@ function DataTableBody({
35670
35666
  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: [
35671
35667
  rows.map((row, index) => {
35672
35668
  const item = row.original;
35673
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _685 => _685(item)]), () => ( void 0));
35669
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _683 => _683(item)]), () => ( void 0));
35674
35670
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
35675
35671
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35676
35672
  DataTableRow,
@@ -35680,7 +35676,7 @@ function DataTableBody({
35680
35676
  href,
35681
35677
  compact,
35682
35678
  className: cls,
35683
- subRow: _optionalChain([renderSubRow, 'optionalCall', _686 => _686(item)])
35679
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _684 => _684(item)])
35684
35680
  },
35685
35681
  row.id
35686
35682
  );
@@ -35735,7 +35731,7 @@ function DataTableInfiniteFooter({
35735
35731
  if (!sentinel) return;
35736
35732
  const observer = new IntersectionObserver(
35737
35733
  (entries) => {
35738
- if (_optionalChain([entries, 'access', _687 => _687[0], 'optionalAccess', _688 => _688.isIntersecting])) onLoadMoreRef.current();
35734
+ if (_optionalChain([entries, 'access', _685 => _685[0], 'optionalAccess', _686 => _686.isIntersecting])) onLoadMoreRef.current();
35739
35735
  },
35740
35736
  { rootMargin }
35741
35737
  );
@@ -35783,7 +35779,7 @@ function DataTableRowCount({
35783
35779
  const table = useDataTableContext();
35784
35780
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
35785
35781
  if (hideWhenEmpty && count === 0) return null;
35786
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _689 => _689(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
35782
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _687 => _687(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
35787
35783
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35788
35784
  "span",
35789
35785
  {
@@ -35915,7 +35911,7 @@ function SearchInput({
35915
35911
  }) {
35916
35912
  const [internalValue, setInternalValue] = React114.useState(defaultValue);
35917
35913
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
35918
- const debouncedValue = _chunkWMSTJAZTcjs.useDebounce.call(void 0, currentValue, debounceMs);
35914
+ const debouncedValue = _chunkG56GYN7Zcjs.useDebounce.call(void 0, currentValue, debounceMs);
35919
35915
  const [isOpen, setIsOpen] = React114.useState(false);
35920
35916
  const [highlightedIndex, setHighlightedIndex] = React114.useState(-1);
35921
35917
  const containerRef = React114.useRef(null);
@@ -35927,7 +35923,7 @@ function SearchInput({
35927
35923
  textMeasureRef,
35928
35924
  badgeRef,
35929
35925
  inputRef
35930
- } = _chunkWMSTJAZTcjs.useAutoLimitTags.call(void 0, {
35926
+ } = _chunkG56GYN7Zcjs.useAutoLimitTags.call(void 0, {
35931
35927
  count: filterChips.length,
35932
35928
  limitTags,
35933
35929
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -35942,7 +35938,7 @@ function SearchInput({
35942
35938
  if (!showHiddenTags) return;
35943
35939
  const handleClick = (e) => {
35944
35940
  const target = e.target;
35945
- if (!_optionalChain([hiddenTagsRef, 'access', _690 => _690.current, 'optionalAccess', _691 => _691.contains, 'call', _692 => _692(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _693 => _693.current, 'optionalAccess', _694 => _694.contains, 'call', _695 => _695(target)])) {
35941
+ 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)])) {
35946
35942
  setShowHiddenTags(false);
35947
35943
  }
35948
35944
  };
@@ -35990,10 +35986,10 @@ function SearchInput({
35990
35986
  } else {
35991
35987
  setInternalValue("");
35992
35988
  }
35993
- _optionalChain([inputRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.focus, 'call', _698 => _698()]);
35989
+ _optionalChain([inputRef, 'access', _694 => _694.current, 'optionalAccess', _695 => _695.focus, 'call', _696 => _696()]);
35994
35990
  };
35995
35991
  const handleResultClick = (result, e) => {
35996
- _optionalChain([onResultSelect, 'optionalCall', _699 => _699(
35992
+ _optionalChain([onResultSelect, 'optionalCall', _697 => _697(
35997
35993
  result,
35998
35994
  e ? {
35999
35995
  metaKey: e.metaKey,
@@ -36025,7 +36021,7 @@ function SearchInput({
36025
36021
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
36026
36022
  handleResultClick(flatResults[highlightedIndex]);
36027
36023
  } else {
36028
- _optionalChain([onSubmit, 'optionalCall', _700 => _700(currentValue)]);
36024
+ _optionalChain([onSubmit, 'optionalCall', _698 => _698(currentValue)]);
36029
36025
  }
36030
36026
  break;
36031
36027
  case "Escape":
@@ -36103,7 +36099,7 @@ function SearchInput({
36103
36099
  dropdownVisible && "!border-ods-accent"
36104
36100
  ),
36105
36101
  onClick: () => {
36106
- _optionalChain([inputRef, 'access', _701 => _701.current, 'optionalAccess', _702 => _702.focus, 'call', _703 => _703()]);
36102
+ _optionalChain([inputRef, 'access', _699 => _699.current, 'optionalAccess', _700 => _700.focus, 'call', _701 => _701()]);
36107
36103
  setIsOpen(true);
36108
36104
  },
36109
36105
  children: [
@@ -36187,10 +36183,10 @@ function SearchInput({
36187
36183
  align: "start",
36188
36184
  onOpenAutoFocus: (e) => {
36189
36185
  e.preventDefault();
36190
- _optionalChain([inputRef, 'access', _704 => _704.current, 'optionalAccess', _705 => _705.focus, 'call', _706 => _706()]);
36186
+ _optionalChain([inputRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.focus, 'call', _704 => _704()]);
36191
36187
  },
36192
36188
  onInteractOutside: (e) => {
36193
- if (_optionalChain([containerRef, 'access', _707 => _707.current, 'optionalAccess', _708 => _708.contains, 'call', _709 => _709(e.target)])) {
36189
+ if (_optionalChain([containerRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(e.target)])) {
36194
36190
  e.preventDefault();
36195
36191
  }
36196
36192
  },
@@ -36207,10 +36203,10 @@ function SearchInput({
36207
36203
  ref: hiddenTagsPopupRef,
36208
36204
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
36209
36205
  style: {
36210
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _710 => _710.current, 'optionalAccess', _711 => _711.getBoundingClientRect, 'call', _712 => _712(), 'access', _713 => _713.left]), () => ( 0))) : 0
36206
+ 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
36211
36207
  },
36212
36208
  onRemove: (value2) => {
36213
- _optionalChain([onFilterRemove, 'optionalCall', _714 => _714(value2)]);
36209
+ _optionalChain([onFilterRemove, 'optionalCall', _712 => _712(value2)]);
36214
36210
  if (hiddenCount <= 1) setShowHiddenTags(false);
36215
36211
  }
36216
36212
  }
@@ -36261,7 +36257,7 @@ function FilterListItem({
36261
36257
  }) {
36262
36258
  const handleToggle = () => {
36263
36259
  if (disabled) return;
36264
- _optionalChain([onToggle, 'optionalCall', _715 => _715(!selected)]);
36260
+ _optionalChain([onToggle, 'optionalCall', _713 => _713(!selected)]);
36265
36261
  };
36266
36262
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36267
36263
  "div",
@@ -36308,7 +36304,7 @@ function FilterListItem({
36308
36304
  CheckboxPrimitive4.Root,
36309
36305
  {
36310
36306
  checked: selected,
36311
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _716 => _716(c === true)]),
36307
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _714 => _714(c === true)]),
36312
36308
  onClick: (e) => e.stopPropagation(),
36313
36309
  disabled,
36314
36310
  "aria-label": title,
@@ -36394,7 +36390,7 @@ function TagSearchInput({
36394
36390
  textMeasureRef,
36395
36391
  badgeRef,
36396
36392
  inputRef
36397
- } = _chunkWMSTJAZTcjs.useAutoLimitTags.call(void 0, {
36393
+ } = _chunkG56GYN7Zcjs.useAutoLimitTags.call(void 0, {
36398
36394
  count: tags.length,
36399
36395
  limitTags,
36400
36396
  placeholder: currentPlaceholder
@@ -36407,7 +36403,7 @@ function TagSearchInput({
36407
36403
  if (!showHiddenTags) return;
36408
36404
  const handleClick = (e) => {
36409
36405
  const target = e.target;
36410
- if (!_optionalChain([hiddenTagsRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.contains, 'call', _719 => _719(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _720 => _720.current, 'optionalAccess', _721 => _721.contains, 'call', _722 => _722(target)])) {
36406
+ 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)])) {
36411
36407
  setShowHiddenTags(false);
36412
36408
  }
36413
36409
  };
@@ -36423,13 +36419,13 @@ function TagSearchInput({
36423
36419
  e.preventDefault();
36424
36420
  onSubmit(searchValue);
36425
36421
  }
36426
- _optionalChain([onKeyDown, 'optionalCall', _723 => _723(e)]);
36422
+ _optionalChain([onKeyDown, 'optionalCall', _721 => _721(e)]);
36427
36423
  };
36428
36424
  const handleClearAll = (e) => {
36429
36425
  e.stopPropagation();
36430
36426
  e.preventDefault();
36431
- _optionalChain([onClearAll, 'optionalCall', _724 => _724()]);
36432
- _optionalChain([inputRef, 'access', _725 => _725.current, 'optionalAccess', _726 => _726.focus, 'call', _727 => _727()]);
36427
+ _optionalChain([onClearAll, 'optionalCall', _722 => _722()]);
36428
+ _optionalChain([inputRef, 'access', _723 => _723.current, 'optionalAccess', _724 => _724.focus, 'call', _725 => _725()]);
36433
36429
  };
36434
36430
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
36435
36431
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36446,7 +36442,7 @@ function TagSearchInput({
36446
36442
  className
36447
36443
  ),
36448
36444
  onClick: () => {
36449
- if (!disabled) _optionalChain([inputRef, 'access', _728 => _728.current, 'optionalAccess', _729 => _729.focus, 'call', _730 => _730()]);
36445
+ if (!disabled) _optionalChain([inputRef, 'access', _726 => _726.current, 'optionalAccess', _727 => _727.focus, 'call', _728 => _728()]);
36450
36446
  },
36451
36447
  children: [
36452
36448
  /* @__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" }) }),
@@ -36518,7 +36514,7 @@ function TagSearchInput({
36518
36514
  items: hiddenTags,
36519
36515
  disabled,
36520
36516
  style: {
36521
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _731 => _731.current, 'optionalAccess', _732 => _732.getBoundingClientRect, 'call', _733 => _733(), 'access', _734 => _734.left]), () => ( 0))) : 0
36517
+ 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
36522
36518
  },
36523
36519
  onRemove: (value) => {
36524
36520
  onTagRemove(value);
@@ -36619,7 +36615,7 @@ function MarkdownEditor({
36619
36615
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
36620
36616
  _react.useEffect.call(void 0, () => {
36621
36617
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
36622
- if (_optionalChain([mod, 'access', _735 => _735.commands, 'optionalAccess', _736 => _736.getExtraCommands])) {
36618
+ if (_optionalChain([mod, 'access', _733 => _733.commands, 'optionalAccess', _734 => _734.getExtraCommands])) {
36623
36619
  setDefaultExtraCommands(mod.commands.getExtraCommands());
36624
36620
  }
36625
36621
  });
@@ -36653,7 +36649,7 @@ function MarkdownEditor({
36653
36649
  const isImage = file.type.startsWith("image/");
36654
36650
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
36655
36651
  insertTextAtCursor(markdown);
36656
- _optionalChain([onFileUploaded, 'optionalCall', _737 => _737(url, file.name)]);
36652
+ _optionalChain([onFileUploaded, 'optionalCall', _735 => _735(url, file.name)]);
36657
36653
  } catch (error) {
36658
36654
  console.error("File upload failed:", error);
36659
36655
  setUploadProgress("Upload failed. Please try again.");
@@ -36666,7 +36662,7 @@ function MarkdownEditor({
36666
36662
  );
36667
36663
  const handleFileInputChange = _react.useCallback.call(void 0,
36668
36664
  (e) => {
36669
- const file = _optionalChain([e, 'access', _738 => _738.target, 'access', _739 => _739.files, 'optionalAccess', _740 => _740[0]]);
36665
+ const file = _optionalChain([e, 'access', _736 => _736.target, 'access', _737 => _737.files, 'optionalAccess', _738 => _738[0]]);
36670
36666
  if (file) {
36671
36667
  handleFileUpload(file);
36672
36668
  e.target.value = "";
@@ -36677,7 +36673,7 @@ function MarkdownEditor({
36677
36673
  const handlePaste = _react.useCallback.call(void 0,
36678
36674
  (e) => {
36679
36675
  if (!onUploadFile) return;
36680
- const items = _optionalChain([e, 'access', _741 => _741.clipboardData, 'optionalAccess', _742 => _742.items]);
36676
+ const items = _optionalChain([e, 'access', _739 => _739.clipboardData, 'optionalAccess', _740 => _740.items]);
36681
36677
  if (!items) return;
36682
36678
  for (const item of items) {
36683
36679
  if (item.type.startsWith("image/")) {
@@ -36702,7 +36698,7 @@ function MarkdownEditor({
36702
36698
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
36703
36699
  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" }),
36704
36700
  execute: () => {
36705
- _optionalChain([fileInputRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.click, 'call', _745 => _745()]);
36701
+ _optionalChain([fileInputRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.click, 'call', _743 => _743()]);
36706
36702
  }
36707
36703
  } : null;
36708
36704
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -36714,7 +36710,7 @@ function MarkdownEditor({
36714
36710
  const EDGE_ZONE = 60;
36715
36711
  const MAX_SCROLL_SPEED = 15;
36716
36712
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
36717
- let node = _optionalChain([el, 'optionalAccess', _746 => _746.parentElement]);
36713
+ let node = _optionalChain([el, 'optionalAccess', _744 => _744.parentElement]);
36718
36714
  while (node && node !== document.documentElement) {
36719
36715
  const { overflowY } = window.getComputedStyle(node);
36720
36716
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -36857,7 +36853,7 @@ function matchesAccept(file, accept) {
36857
36853
  });
36858
36854
  }
36859
36855
  function dragHasFiles(e) {
36860
- const types = _optionalChain([e, 'access', _747 => _747.dataTransfer, 'optionalAccess', _748 => _748.types]);
36856
+ const types = _optionalChain([e, 'access', _745 => _745.dataTransfer, 'optionalAccess', _746 => _746.types]);
36861
36857
  if (!types) return false;
36862
36858
  for (let i = 0; i < types.length; i++) {
36863
36859
  if (types[i] === "Files") return true;
@@ -36952,7 +36948,7 @@ function FileUpload({
36952
36948
  e.stopPropagation();
36953
36949
  setDragActive(false);
36954
36950
  if (disabled) return;
36955
- if (_optionalChain([e, 'access', _749 => _749.dataTransfer, 'access', _750 => _750.files, 'optionalAccess', _751 => _751.length])) {
36951
+ if (_optionalChain([e, 'access', _747 => _747.dataTransfer, 'access', _748 => _748.files, 'optionalAccess', _749 => _749.length])) {
36956
36952
  handleFiles(e.dataTransfer.files);
36957
36953
  }
36958
36954
  };
@@ -36980,7 +36976,7 @@ function FileUpload({
36980
36976
  e.preventDefault();
36981
36977
  dragCounter = 0;
36982
36978
  setDragActive(false);
36983
- if (_optionalChain([e, 'access', _752 => _752.dataTransfer, 'optionalAccess', _753 => _753.files, 'optionalAccess', _754 => _754.length])) {
36979
+ if (_optionalChain([e, 'access', _750 => _750.dataTransfer, 'optionalAccess', _751 => _751.files, 'optionalAccess', _752 => _752.length])) {
36984
36980
  handleFilesRef.current(e.dataTransfer.files);
36985
36981
  }
36986
36982
  };
@@ -37002,7 +36998,7 @@ function FileUpload({
37002
36998
  };
37003
36999
  }, [acceptWindowDrops, disabled]);
37004
37000
  const handleFileSelect = (e) => {
37005
- if (_optionalChain([e, 'access', _755 => _755.target, 'access', _756 => _756.files, 'optionalAccess', _757 => _757.length])) {
37001
+ if (_optionalChain([e, 'access', _753 => _753.target, 'access', _754 => _754.files, 'optionalAccess', _755 => _755.length])) {
37006
37002
  handleFiles(e.target.files);
37007
37003
  }
37008
37004
  };
@@ -37019,7 +37015,7 @@ function FileUpload({
37019
37015
  };
37020
37016
  const openDialog = async () => {
37021
37017
  if (disabled) return;
37022
- _optionalChain([fileInputRef, 'access', _758 => _758.current, 'optionalAccess', _759 => _759.click, 'call', _760 => _760()]);
37018
+ _optionalChain([fileInputRef, 'access', _756 => _756.current, 'optionalAccess', _757 => _757.click, 'call', _758 => _758()]);
37023
37019
  };
37024
37020
  const displayError = error || validationError || void 0;
37025
37021
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -37097,7 +37093,7 @@ function FileUpload({
37097
37093
  "button",
37098
37094
  {
37099
37095
  type: "button",
37100
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _761 => _761(entry.id)]),
37096
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _759 => _759(entry.id)]),
37101
37097
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
37102
37098
  "aria-label": `Remove ${entry.fileName}`,
37103
37099
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -37220,7 +37216,7 @@ function ImageUploader({
37220
37216
  onChange(file);
37221
37217
  };
37222
37218
  const handleFileSelect = (e) => {
37223
- validateAndEmit(_optionalChain([e, 'access', _762 => _762.target, 'access', _763 => _763.files, 'optionalAccess', _764 => _764[0]]));
37219
+ validateAndEmit(_optionalChain([e, 'access', _760 => _760.target, 'access', _761 => _761.files, 'optionalAccess', _762 => _762[0]]));
37224
37220
  if (inputRef.current) inputRef.current.value = "";
37225
37221
  };
37226
37222
  const handleDrag = (e) => {
@@ -37235,11 +37231,11 @@ function ImageUploader({
37235
37231
  e.stopPropagation();
37236
37232
  setDragActive(false);
37237
37233
  if (!interactive) return;
37238
- validateAndEmit(_optionalChain([e, 'access', _765 => _765.dataTransfer, 'access', _766 => _766.files, 'optionalAccess', _767 => _767[0]]));
37234
+ validateAndEmit(_optionalChain([e, 'access', _763 => _763.dataTransfer, 'access', _764 => _764.files, 'optionalAccess', _765 => _765[0]]));
37239
37235
  };
37240
37236
  const openDialog = () => {
37241
37237
  if (!interactive) return;
37242
- _optionalChain([inputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.click, 'call', _770 => _770()]);
37238
+ _optionalChain([inputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.click, 'call', _768 => _768()]);
37243
37239
  };
37244
37240
  const handleRootKeyDown = (e) => {
37245
37241
  if (hasImage || !interactive) return;
@@ -37429,8 +37425,8 @@ function ColorPresetSelect({
37429
37425
  }) {
37430
37426
  const selectedPreset = presets.find((p) => p.key === presetKey);
37431
37427
  const isCustom = !selectedPreset;
37432
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _771 => _771.label]), () => ( "Custom"));
37433
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _772 => _772.color]), () => ( value));
37428
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _769 => _769.label]), () => ( "Custom"));
37429
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _770 => _770.color]), () => ( value));
37434
37430
  const groups = [
37435
37431
  {
37436
37432
  items: [
@@ -37720,7 +37716,7 @@ function TicketStatusConfigRow({
37720
37716
  _chunkFQOTC3UUcjs.Input,
37721
37717
  {
37722
37718
  value: name,
37723
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _773 => _773(e.target.value)]),
37719
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _771 => _771(e.target.value)]),
37724
37720
  disabled: isSystem,
37725
37721
  readOnly: isSystem,
37726
37722
  "aria-label": "Status name",
@@ -37803,7 +37799,7 @@ function CompactAssigneeDropdown({
37803
37799
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
37804
37800
  }, [filtered, currentAssignee]);
37805
37801
  const handleSelect = (userId) => {
37806
- const next = _optionalChain([currentAssignee, 'optionalAccess', _774 => _774.id]) === userId ? null : userId;
37802
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _772 => _772.id]) === userId ? null : userId;
37807
37803
  onAssign(next);
37808
37804
  setIsOpen(false);
37809
37805
  };
@@ -37868,7 +37864,7 @@ function CompactAssigneeDropdown({
37868
37864
  }
37869
37865
  ) }),
37870
37866
  /* @__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) => {
37871
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _775 => _775.id]) === opt.value;
37867
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _773 => _773.id]) === opt.value;
37872
37868
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37873
37869
  "button",
37874
37870
  {
@@ -37937,7 +37933,7 @@ function DefaultAssigneeDropdown({
37937
37933
  Autocomplete,
37938
37934
  {
37939
37935
  options,
37940
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _776 => _776.id]), () => ( null)),
37936
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _774 => _774.id]), () => ( null)),
37941
37937
  onChange: (val) => {
37942
37938
  onAssign(val);
37943
37939
  setIsEditing(false);
@@ -38326,14 +38322,14 @@ function TicketInfoSection({
38326
38322
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38327
38323
  SquareAvatar,
38328
38324
  {
38329
- src: _optionalChain([organization, 'optionalAccess', _777 => _777.imageSrc]),
38330
- alt: _optionalChain([organization, 'optionalAccess', _778 => _778.name]),
38331
- fallback: _optionalChain([organization, 'optionalAccess', _779 => _779.name]) || "Org",
38325
+ src: _optionalChain([organization, 'optionalAccess', _775 => _775.imageSrc]),
38326
+ alt: _optionalChain([organization, 'optionalAccess', _776 => _776.name]),
38327
+ fallback: _optionalChain([organization, 'optionalAccess', _777 => _777.name]) || "Org",
38332
38328
  size: "md",
38333
38329
  className: "shrink-0"
38334
38330
  }
38335
38331
  ),
38336
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _780 => _780.name]) || "Unassigned", label: "Organization" })
38332
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _778 => _778.name]) || "Unassigned", label: "Organization" })
38337
38333
  ] }),
38338
38334
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38339
38335
  AssigneeDropdown,
@@ -38354,10 +38350,10 @@ function TicketInfoSection({
38354
38350
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38355
38351
  InfoCell2,
38356
38352
  {
38357
- value: _optionalChain([device, 'optionalAccess', _781 => _781.name]) || "Unassigned",
38353
+ value: _optionalChain([device, 'optionalAccess', _779 => _779.name]) || "Unassigned",
38358
38354
  label: "Device",
38359
- icon: _optionalChain([device, 'optionalAccess', _782 => _782.icon]),
38360
- onClick: _optionalChain([device, 'optionalAccess', _783 => _783.onClick])
38355
+ icon: _optionalChain([device, 'optionalAccess', _780 => _780.icon]),
38356
+ onClick: _optionalChain([device, 'optionalAccess', _781 => _781.onClick])
38361
38357
  }
38362
38358
  ),
38363
38359
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -38687,7 +38683,7 @@ function RoadmapCard({
38687
38683
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
38688
38684
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
38689
38685
  const hasFigma = !!item.figmaUrl;
38690
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _784 => _784.screenshots, 'optionalAccess', _785 => _785.length]), () => ( 0))) > 0;
38686
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _782 => _782.screenshots, 'optionalAccess', _783 => _783.length]), () => ( 0))) > 0;
38691
38687
  const typeLabel = getTaskTypeLabel(item.customItemId);
38692
38688
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
38693
38689
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -38706,7 +38702,7 @@ function RoadmapCard({
38706
38702
  unoptimized: true,
38707
38703
  className: "h-8 w-8 object-contain"
38708
38704
  }
38709
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _786 => _786.title, 'optionalAccess', _787 => _787.substring, 'call', _788 => _788(0, 2)]) || "??" })
38705
+ ) : /* @__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)]) || "??" })
38710
38706
  }
38711
38707
  ),
38712
38708
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -38781,7 +38777,7 @@ function RoadmapCard({
38781
38777
  unoptimized: true,
38782
38778
  className: "object-contain p-1"
38783
38779
  }
38784
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _789 => _789.title, 'optionalAccess', _790 => _790.substring, 'call', _791 => _791(0, 2)]) || "??" }) }),
38780
+ ) : /* @__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)]) || "??" }) }),
38785
38781
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
38786
38782
  /* @__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 }) }),
38787
38783
  /* @__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: [
@@ -39291,7 +39287,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
39291
39287
  ] }) : null,
39292
39288
  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
39293
39289
  ] }),
39294
- _optionalChain([anchorProps, 'optionalAccess', _792 => _792.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
39290
+ _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
39295
39291
  ] });
39296
39292
  if (!anchorProps) {
39297
39293
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -39361,7 +39357,7 @@ function getDefaultOptions() {
39361
39357
  // node_modules/date-fns/startOfWeek.mjs
39362
39358
  function startOfWeek(date, options) {
39363
39359
  const defaultOptions2 = getDefaultOptions();
39364
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _793 => _793.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _794 => _794.locale, 'optionalAccess', _795 => _795.options, 'optionalAccess', _796 => _796.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _797 => _797.locale, 'optionalAccess', _798 => _798.options, 'optionalAccess', _799 => _799.weekStartsOn]))), () => ( 0));
39360
+ 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));
39365
39361
  const _date = toDate(date);
39366
39362
  const day = _date.getDay();
39367
39363
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -39536,7 +39532,7 @@ var formatDistance = (token, count, options) => {
39536
39532
  } else {
39537
39533
  result = tokenValue.other.replace("{{count}}", count.toString());
39538
39534
  }
39539
- if (_optionalChain([options, 'optionalAccess', _800 => _800.addSuffix])) {
39535
+ if (_optionalChain([options, 'optionalAccess', _798 => _798.addSuffix])) {
39540
39536
  if (options.comparison && options.comparison > 0) {
39541
39537
  return "in " + result;
39542
39538
  } else {
@@ -39603,15 +39599,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
39603
39599
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
39604
39600
  function buildLocalizeFn(args) {
39605
39601
  return (value, options) => {
39606
- const context = _optionalChain([options, 'optionalAccess', _801 => _801.context]) ? String(options.context) : "standalone";
39602
+ const context = _optionalChain([options, 'optionalAccess', _799 => _799.context]) ? String(options.context) : "standalone";
39607
39603
  let valuesArray;
39608
39604
  if (context === "formatting" && args.formattingValues) {
39609
39605
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
39610
- const width = _optionalChain([options, 'optionalAccess', _802 => _802.width]) ? String(options.width) : defaultWidth;
39606
+ const width = _optionalChain([options, 'optionalAccess', _800 => _800.width]) ? String(options.width) : defaultWidth;
39611
39607
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
39612
39608
  } else {
39613
39609
  const defaultWidth = args.defaultWidth;
39614
- const width = _optionalChain([options, 'optionalAccess', _803 => _803.width]) ? String(options.width) : args.defaultWidth;
39610
+ const width = _optionalChain([options, 'optionalAccess', _801 => _801.width]) ? String(options.width) : args.defaultWidth;
39615
39611
  valuesArray = args.values[width] || args.values[defaultWidth];
39616
39612
  }
39617
39613
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -39991,7 +39987,7 @@ function getWeekYear(date, options) {
39991
39987
  const _date = toDate(date);
39992
39988
  const year = _date.getFullYear();
39993
39989
  const defaultOptions2 = getDefaultOptions();
39994
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _804 => _804.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _805 => _805.locale, 'optionalAccess', _806 => _806.options, 'optionalAccess', _807 => _807.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _808 => _808.locale, 'optionalAccess', _809 => _809.options, 'optionalAccess', _810 => _810.firstWeekContainsDate]))), () => ( 1));
39990
+ 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));
39995
39991
  const firstWeekOfNextYear = constructFrom(date, 0);
39996
39992
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
39997
39993
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -40012,7 +40008,7 @@ function getWeekYear(date, options) {
40012
40008
  // node_modules/date-fns/startOfWeekYear.mjs
40013
40009
  function startOfWeekYear(date, options) {
40014
40010
  const defaultOptions2 = getDefaultOptions();
40015
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _811 => _811.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _812 => _812.locale, 'optionalAccess', _813 => _813.options, 'optionalAccess', _814 => _814.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _815 => _815.locale, 'optionalAccess', _816 => _816.options, 'optionalAccess', _817 => _817.firstWeekContainsDate]))), () => ( 1));
40011
+ 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));
40016
40012
  const year = getWeekYear(date, options);
40017
40013
  const firstWeek = constructFrom(date, 0);
40018
40014
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -40827,9 +40823,9 @@ var doubleQuoteRegExp = /''/g;
40827
40823
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
40828
40824
  function format(date, formatStr, options) {
40829
40825
  const defaultOptions2 = getDefaultOptions();
40830
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _818 => _818.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
40831
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _819 => _819.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _820 => _820.locale, 'optionalAccess', _821 => _821.options, 'optionalAccess', _822 => _822.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _823 => _823.locale, 'optionalAccess', _824 => _824.options, 'optionalAccess', _825 => _825.firstWeekContainsDate]))), () => ( 1));
40832
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _826 => _826.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _827 => _827.locale, 'optionalAccess', _828 => _828.options, 'optionalAccess', _829 => _829.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _830 => _830.locale, 'optionalAccess', _831 => _831.options, 'optionalAccess', _832 => _832.weekStartsOn]))), () => ( 0));
40826
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _816 => _816.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
40827
+ 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));
40828
+ 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));
40833
40829
  const originalDate = toDate(date);
40834
40830
  if (!isValid(originalDate)) {
40835
40831
  throw new RangeError("Invalid time value");
@@ -40870,7 +40866,7 @@ function format(date, formatStr, options) {
40870
40866
  return parts.map((part) => {
40871
40867
  if (!part.isToken) return part.value;
40872
40868
  const token = part.value;
40873
- if (!_optionalChain([options, 'optionalAccess', _833 => _833.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _834 => _834.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
40869
+ if (!_optionalChain([options, 'optionalAccess', _831 => _831.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _832 => _832.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
40874
40870
  warnOrThrowProtectedError(token, formatStr, String(date));
40875
40871
  }
40876
40872
  const formatter = formatters[token[0]];
@@ -41048,7 +41044,7 @@ function ProgramCard({
41048
41044
  const dur = formatDurationFromRange(w.start_at, w.end_at);
41049
41045
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
41050
41046
  }
41051
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _835 => _835.labels, 'optionalAccess', _836 => _836.singular])].filter(
41047
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _833 => _833.labels, 'optionalAccess', _834 => _834.singular])].filter(
41052
41048
  (s) => typeof s === "string" && s.length > 0
41053
41049
  );
41054
41050
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -41205,7 +41201,7 @@ function ProgramCard({
41205
41201
 
41206
41202
 
41207
41203
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
41208
- const goalsCount = _optionalChain([campaign, 'access', _837 => _837.goals, 'optionalAccess', _838 => _838.length]) || 0;
41204
+ const goalsCount = _optionalChain([campaign, 'access', _835 => _835.goals, 'optionalAccess', _836 => _836.length]) || 0;
41209
41205
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
41210
41206
  /* @__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" }) }),
41211
41207
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41297,13 +41293,13 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
41297
41293
  // src/components/chat/hooks/use-chat-card-item.ts
41298
41294
 
41299
41295
  function useChatCardItem(type, id) {
41300
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
41296
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
41301
41297
  const url = runtime.endpoints.buildListUrl(type, [id]);
41302
41298
  const query = _reactquery.useQuery.call(void 0, {
41303
41299
  queryKey: ["chat-card-item", type, id],
41304
41300
  queryFn: async () => {
41305
41301
  if (!url) return null;
41306
- const res = await _chunkWMSTJAZTcjs.embedAuthedFetch.call(void 0, url);
41302
+ const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url);
41307
41303
  if (!res.ok) return null;
41308
41304
  const data = await res.json();
41309
41305
  const items = extractItems(data);
@@ -41367,7 +41363,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
41367
41363
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
41368
41364
  const safePath = sanitizePath(row.path);
41369
41365
  if (safePath) {
41370
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _839 => _839.docPlatformTargets, 'optionalAccess', _840 => _840[row.documentType]]) : void 0;
41366
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _837 => _837.docPlatformTargets, 'optionalAccess', _838 => _838[row.documentType]]) : void 0;
41371
41367
  if (docTarget) {
41372
41368
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
41373
41369
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -41582,8 +41578,8 @@ function cardMenuGroups(href, discuss, openDetails) {
41582
41578
  if (href) {
41583
41579
  items.push({
41584
41580
  id: "open-details",
41585
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _841 => _841.label]), () => ( "Open Details")),
41586
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _842 => _842.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.EyeIcon, { size: 20 }))),
41581
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _839 => _839.label]), () => ( "Open Details")),
41582
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _840 => _840.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.EyeIcon, { size: 20 }))),
41587
41583
  // Main row → open the entity (same tab, soft Link nav).
41588
41584
  href,
41589
41585
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -41613,8 +41609,8 @@ function HubspotTicketChatCard({
41613
41609
  isNewTab,
41614
41610
  discuss
41615
41611
  }) {
41616
- const status = typeof _optionalChain([chatRef, 'access', _843 => _843.metadata, 'optionalAccess', _844 => _844.status]) === "string" ? chatRef.metadata.status : void 0;
41617
- const statusLabel = typeof _optionalChain([chatRef, 'access', _845 => _845.metadata, 'optionalAccess', _846 => _846.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
41612
+ const status = typeof _optionalChain([chatRef, 'access', _841 => _841.metadata, 'optionalAccess', _842 => _842.status]) === "string" ? chatRef.metadata.status : void 0;
41613
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _843 => _843.metadata, 'optionalAccess', _844 => _844.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
41618
41614
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
41619
41615
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41620
41616
  MingoInfoCard,
@@ -41637,7 +41633,7 @@ function FaqChatCard({
41637
41633
  isNewTab,
41638
41634
  discuss
41639
41635
  }) {
41640
- const section = typeof _optionalChain([chatRef, 'access', _847 => _847.metadata, 'optionalAccess', _848 => _848.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
41636
+ const section = typeof _optionalChain([chatRef, 'access', _845 => _845.metadata, 'optionalAccess', _846 => _846.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
41641
41637
  const statusLabel = section && section.length > 0 ? section : "FAQ";
41642
41638
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41643
41639
  MingoInfoCard,
@@ -41657,7 +41653,7 @@ function SlackChatCard({
41657
41653
  isNewTab,
41658
41654
  discuss
41659
41655
  }) {
41660
- const channelName = typeof _optionalChain([chatRef, 'access', _849 => _849.metadata, 'optionalAccess', _850 => _850.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
41656
+ const channelName = typeof _optionalChain([chatRef, 'access', _847 => _847.metadata, 'optionalAccess', _848 => _848.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
41661
41657
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
41662
41658
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
41663
41659
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -41697,7 +41693,7 @@ function GenericFinancialChatCard({
41697
41693
  isNewTab,
41698
41694
  discuss
41699
41695
  }) {
41700
- const subtitle = typeof _optionalChain([chatRef, 'access', _851 => _851.metadata, 'optionalAccess', _852 => _852.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
41696
+ const subtitle = typeof _optionalChain([chatRef, 'access', _849 => _849.metadata, 'optionalAccess', _850 => _850.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
41701
41697
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41702
41698
  MingoInfoCard,
41703
41699
  {
@@ -41766,12 +41762,12 @@ function ProductReleaseChatCard({
41766
41762
  discuss
41767
41763
  }) {
41768
41764
  const releaseProps = buildProps(item);
41769
- const status = _optionalChain([item, 'optionalAccess', _853 => _853.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
41765
+ const status = _optionalChain([item, 'optionalAccess', _851 => _851.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
41770
41766
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41771
41767
  EntityMingoCard,
41772
41768
  {
41773
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _854 => _854.title]), () => ( "")),
41774
- description: _optionalChain([item, 'optionalAccess', _855 => _855.summary]) || releaseProps.formattedDate || void 0,
41769
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _852 => _852.title]), () => ( "")),
41770
+ description: _optionalChain([item, 'optionalAccess', _853 => _853.summary]) || releaseProps.formattedDate || void 0,
41775
41771
  cover: releaseProps.coverImage || void 0,
41776
41772
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Rocket02Icon, { size: 24 }),
41777
41773
  status,
@@ -41788,17 +41784,17 @@ function CampaignChatCard({
41788
41784
  isNewTab,
41789
41785
  discuss
41790
41786
  }) {
41791
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _856 => _856.goals])) ? item.goals.length : 0;
41787
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _854 => _854.goals])) ? item.goals.length : 0;
41792
41788
  const meta = [
41793
- _optionalChain([item, 'optionalAccess', _857 => _857.start_date]) ? formatDateShort(item.start_date) : null,
41789
+ _optionalChain([item, 'optionalAccess', _855 => _855.start_date]) ? formatDateShort(item.start_date) : null,
41794
41790
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
41795
41791
  "Marketing campaign"
41796
41792
  ].filter(Boolean).join(" \xB7 ");
41797
41793
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41798
41794
  EntityMingoCard,
41799
41795
  {
41800
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _858 => _858.name]), () => ( "")),
41801
- description: meta || _optionalChain([item, 'optionalAccess', _859 => _859.description]) || void 0,
41796
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _856 => _856.name]), () => ( "")),
41797
+ description: meta || _optionalChain([item, 'optionalAccess', _857 => _857.description]) || void 0,
41802
41798
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Megaphone01Icon, { size: 24 }),
41803
41799
  chatRef,
41804
41800
  isNewTab,
@@ -41851,14 +41847,14 @@ function BlogChatCard({
41851
41847
  hasEmbeddedVideo,
41852
41848
  discuss
41853
41849
  }) {
41854
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _860 => _860.categories])) ? _optionalChain([item, 'access', _861 => _861.categories, 'access', _862 => _862.find, 'call', _863 => _863((c) => c && c.name), 'optionalAccess', _864 => _864.name]) : void 0;
41850
+ 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;
41855
41851
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
41856
41852
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41857
41853
  EntityMingoCard,
41858
41854
  {
41859
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _865 => _865.title]), () => ( "")),
41860
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _866 => _866.summary]), () => ( void 0)),
41861
- cover: entityCover(_optionalChain([item, 'optionalAccess', _867 => _867.featured_image]), ogPlaceholder),
41855
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _863 => _863.title]), () => ( "")),
41856
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _864 => _864.summary]), () => ( void 0)),
41857
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _865 => _865.featured_image]), ogPlaceholder),
41862
41858
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.NewspaperIcon, { size: 24 }),
41863
41859
  status,
41864
41860
  chatRef,
@@ -41875,13 +41871,13 @@ function CaseStudyChatCard({
41875
41871
  ogPlaceholder,
41876
41872
  discuss
41877
41873
  }) {
41878
- const meta = [_optionalChain([item, 'optionalAccess', _868 => _868.msp, 'optionalAccess', _869 => _869.name]), _optionalChain([item, 'optionalAccess', _870 => _870.user, 'optionalAccess', _871 => _871.full_name])].filter(Boolean).join(" \xB7 ");
41874
+ 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 ");
41879
41875
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41880
41876
  EntityMingoCard,
41881
41877
  {
41882
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _872 => _872.title]), () => ( "")),
41883
- description: _optionalChain([item, 'optionalAccess', _873 => _873.summary]) || meta || void 0,
41884
- cover: entityCover(_optionalChain([item, 'optionalAccess', _874 => _874.featured_image]), ogPlaceholder),
41878
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.title]), () => ( "")),
41879
+ description: _optionalChain([item, 'optionalAccess', _871 => _871.summary]) || meta || void 0,
41880
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _872 => _872.featured_image]), ogPlaceholder),
41885
41881
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.TrophyIcon, { size: 24 }),
41886
41882
  status: { label: "Case study", variant: "grey" },
41887
41883
  chatRef,
@@ -41898,13 +41894,13 @@ function CustomerInterviewChatCard({
41898
41894
  ogPlaceholder,
41899
41895
  discuss
41900
41896
  }) {
41901
- const meta = [_optionalChain([item, 'optionalAccess', _875 => _875.user, 'optionalAccess', _876 => _876.full_name]), _optionalChain([item, 'optionalAccess', _877 => _877.msp, 'optionalAccess', _878 => _878.name])].filter(Boolean).join(" \xB7 ");
41897
+ 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 ");
41902
41898
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41903
41899
  EntityMingoCard,
41904
41900
  {
41905
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _879 => _879.title]), () => ( "")),
41906
- description: _optionalChain([item, 'optionalAccess', _880 => _880.video_summary]) || meta || void 0,
41907
- cover: entityCover(_optionalChain([item, 'optionalAccess', _881 => _881.featured_image]), ogPlaceholder),
41901
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _877 => _877.title]), () => ( "")),
41902
+ description: _optionalChain([item, 'optionalAccess', _878 => _878.video_summary]) || meta || void 0,
41903
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _879 => _879.featured_image]), ogPlaceholder),
41908
41904
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MicrophoneIcon, { size: 24 }),
41909
41905
  status: { label: "Interview", variant: "grey" },
41910
41906
  chatRef,
@@ -41921,13 +41917,13 @@ function InvestorUpdateChatCard({
41921
41917
  ogPlaceholder,
41922
41918
  discuss
41923
41919
  }) {
41924
- const title = _optionalChain([item, 'optionalAccess', _882 => _882.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _883 => _883.update_number]), () => ( "?"))}`;
41920
+ const title = _optionalChain([item, 'optionalAccess', _880 => _880.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _881 => _881.update_number]), () => ( "?"))}`;
41925
41921
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41926
41922
  EntityMingoCard,
41927
41923
  {
41928
41924
  title,
41929
- description: _optionalChain([item, 'optionalAccess', _884 => _884.strategic_update]) || _optionalChain([item, 'optionalAccess', _885 => _885.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _886 => _886.period_start]), _optionalChain([item, 'optionalAccess', _887 => _887.period_end])) || void 0,
41930
- cover: entityCover(_optionalChain([item, 'optionalAccess', _888 => _888.featured_image]), ogPlaceholder),
41925
+ 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,
41926
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _886 => _886.featured_image]), ogPlaceholder),
41931
41927
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.PresentationLineIcon, { size: 24 }),
41932
41928
  status: { label: "Investor update", variant: "grey" },
41933
41929
  chatRef,
@@ -41944,12 +41940,12 @@ function OnboardingGuideChatCard({
41944
41940
  ogPlaceholder,
41945
41941
  discuss
41946
41942
  }) {
41947
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _889 => _889.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _890 => _890.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _891 => _891.og_image_url]), ogPlaceholder)));
41943
+ 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)));
41948
41944
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41949
41945
  EntityMingoCard,
41950
41946
  {
41951
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _892 => _892.title]), () => ( "")),
41952
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _893 => _893.summary]), () => ( _optionalChain([item, 'optionalAccess', _894 => _894.description]))), () => ( void 0)),
41947
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _890 => _890.title]), () => ( "")),
41948
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.summary]), () => ( _optionalChain([item, 'optionalAccess', _892 => _892.description]))), () => ( void 0)),
41953
41949
  cover,
41954
41950
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CompassIcon, { size: 24 }),
41955
41951
  status: { label: "Guide", variant: "grey" },
@@ -41970,25 +41966,25 @@ function ProgramChatCard({
41970
41966
  discuss
41971
41967
  }) {
41972
41968
  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 });
41973
- const isScheduled = _optionalChain([item, 'optionalAccess', _895 => _895.status]) === "scheduled";
41969
+ const isScheduled = _optionalChain([item, 'optionalAccess', _893 => _893.status]) === "scheduled";
41974
41970
  let typeMeta;
41975
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _896 => _896.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
41971
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _894 => _894.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
41976
41972
  typeMeta = formatDurationCompact(item.duration_seconds);
41977
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _897 => _897.location_name]) === "string" && item.location_name.trim().length > 0) {
41973
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _895 => _895.location_name]) === "string" && item.location_name.trim().length > 0) {
41978
41974
  typeMeta = item.location_name;
41979
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _898 => _898.start_at])) {
41975
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _896 => _896.start_at])) {
41980
41976
  const time = formatTimeWithTimezone(item.start_at, null);
41981
41977
  const dur = formatDurationFromRange(item.start_at, item.end_at);
41982
41978
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
41983
41979
  }
41984
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _899 => _899.date]), () => ( null)), { fallback: "", timezone: "local" });
41980
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _897 => _897.date]), () => ( null)), { fallback: "", timezone: "local" });
41985
41981
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
41986
41982
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
41987
41983
  EntityMingoCard,
41988
41984
  {
41989
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _900 => _900.title]), () => ( "")),
41990
- description: meta || _optionalChain([item, 'optionalAccess', _901 => _901.description]) || void 0,
41991
- cover: entityCover(_optionalChain([item, 'optionalAccess', _902 => _902.cover_url]), ogPlaceholder),
41985
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _898 => _898.title]), () => ( "")),
41986
+ description: meta || _optionalChain([item, 'optionalAccess', _899 => _899.description]) || void 0,
41987
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.cover_url]), ogPlaceholder),
41992
41988
  fallbackIcon: icon,
41993
41989
  status: { label, variant: "grey" },
41994
41990
  chatRef,
@@ -42005,10 +42001,10 @@ function RoadmapChatCard({
42005
42001
  cardType,
42006
42002
  discuss
42007
42003
  }) {
42008
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _903 => _903.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42009
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _904 => _904.customItemId]) != null;
42004
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _901 => _901.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42005
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _902 => _902.customItemId]) != null;
42010
42006
  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 });
42011
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _905 => _905.customItemId]), className: "size-6" }) : logoUrl ? (
42007
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _903 => _903.customItemId]), className: "size-6" }) : logoUrl ? (
42012
42008
  // Contained (not full-bleed) so the integration logo keeps its aspect
42013
42009
  // ratio inside the bordered icon box — matches RoadmapCard.
42014
42010
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -42016,10 +42012,10 @@ function RoadmapChatCard({
42016
42012
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42017
42013
  EntityMingoCard,
42018
42014
  {
42019
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _906 => _906.title]), () => ( "")),
42020
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _907 => _907.description]), () => ( void 0)),
42015
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
42016
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.description]), () => ( void 0)),
42021
42017
  fallbackIcon: icon,
42022
- status: statusPill(_optionalChain([item, 'optionalAccess', _908 => _908.status])),
42018
+ status: statusPill(_optionalChain([item, 'optionalAccess', _906 => _906.status])),
42023
42019
  chatRef,
42024
42020
  isNewTab,
42025
42021
  discuss,
@@ -42105,7 +42101,7 @@ function programRegistryEntries() {
42105
42101
  discuss: opts.discuss,
42106
42102
  configKey: cfg.configKey,
42107
42103
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
42108
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _909 => _909.extras, 'optionalAccess', _910 => _910.buildOgPlaceholderUrl, 'optionalCall', _911 => _911(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")))]), () => ( null))
42104
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _907 => _907.extras, 'optionalAccess', _908 => _908.buildOgPlaceholderUrl, 'optionalCall', _909 => _909(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _910 => _910.title]), () => ( "")))]), () => ( null))
42109
42105
  }
42110
42106
  )
42111
42107
  };
@@ -42257,8 +42253,8 @@ var CHAT_CARD_REGISTRY = {
42257
42253
  chatRef,
42258
42254
  isNewTab: opts.isNewTab,
42259
42255
  discuss: opts.discuss,
42260
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _913 => _913.extras, 'optionalAccess', _914 => _914.buildOgPlaceholderUrl, 'optionalCall', _915 => _915(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _916 => _916.title]), () => ( "")))]), () => ( null)),
42261
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _917 => _917.metadata, 'optionalAccess', _918 => _918.hasEmbeddedVideo]) === true
42256
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _911 => _911.extras, 'optionalAccess', _912 => _912.buildOgPlaceholderUrl, 'optionalCall', _913 => _913(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _914 => _914.title]), () => ( "")))]), () => ( null)),
42257
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _915 => _915.metadata, 'optionalAccess', _916 => _916.hasEmbeddedVideo]) === true
42262
42258
  }
42263
42259
  )
42264
42260
  },
@@ -42275,7 +42271,7 @@ var CHAT_CARD_REGISTRY = {
42275
42271
  chatRef,
42276
42272
  isNewTab: opts.isNewTab,
42277
42273
  discuss: opts.discuss,
42278
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _919 => _919.extras, 'optionalAccess', _920 => _920.buildOgPlaceholderUrl, 'optionalCall', _921 => _921(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.title]), () => ( "")))]), () => ( null))
42274
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _917 => _917.extras, 'optionalAccess', _918 => _918.buildOgPlaceholderUrl, 'optionalCall', _919 => _919(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _920 => _920.title]), () => ( "")))]), () => ( null))
42279
42275
  }
42280
42276
  )
42281
42277
  },
@@ -42292,7 +42288,7 @@ var CHAT_CARD_REGISTRY = {
42292
42288
  chatRef,
42293
42289
  isNewTab: opts.isNewTab,
42294
42290
  discuss: opts.discuss,
42295
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _923 => _923.extras, 'optionalAccess', _924 => _924.buildOgPlaceholderUrl, 'optionalCall', _925 => _925(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _926 => _926.title]), () => ( "")))]), () => ( null))
42291
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _921 => _921.extras, 'optionalAccess', _922 => _922.buildOgPlaceholderUrl, 'optionalCall', _923 => _923(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")))]), () => ( null))
42296
42292
  }
42297
42293
  )
42298
42294
  },
@@ -42303,7 +42299,7 @@ var CHAT_CARD_REGISTRY = {
42303
42299
  bareInline: true,
42304
42300
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
42305
42301
  render: (item, chatRef, opts) => {
42306
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _927 => _927.extras, 'optionalAccess', _928 => _928.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42302
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42307
42303
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42308
42304
  ProductReleaseChatCard,
42309
42305
  {
@@ -42330,7 +42326,7 @@ var CHAT_CARD_REGISTRY = {
42330
42326
  chatRef,
42331
42327
  isNewTab: opts.isNewTab,
42332
42328
  discuss: opts.discuss,
42333
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _929 => _929.extras, 'optionalAccess', _930 => _930.buildOgPlaceholderUrl, 'optionalCall', _931 => _931(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")))]), () => ( null))
42329
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _927 => _927.extras, 'optionalAccess', _928 => _928.buildOgPlaceholderUrl, 'optionalCall', _929 => _929(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _930 => _930.title]), () => ( "")))]), () => ( null))
42334
42330
  }
42335
42331
  )
42336
42332
  },
@@ -42349,7 +42345,7 @@ var CHAT_CARD_REGISTRY = {
42349
42345
  chatRef,
42350
42346
  isNewTab: opts.isNewTab,
42351
42347
  discuss: opts.discuss,
42352
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _933 => _933.extras, 'optionalAccess', _934 => _934.buildOgPlaceholderUrl, 'optionalCall', _935 => _935(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _936 => _936.title]), () => ( "")))]), () => ( null))
42348
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _931 => _931.extras, 'optionalAccess', _932 => _932.buildOgPlaceholderUrl, 'optionalCall', _933 => _933(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _934 => _934.title]), () => ( "")))]), () => ( null))
42353
42349
  }
42354
42350
  )
42355
42351
  },
@@ -42361,7 +42357,7 @@ var CHAT_CARD_REGISTRY = {
42361
42357
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
42362
42358
  // No public viewer — synthesize the hub-internal admin URL post-fetch
42363
42359
  // so the wrapper + isNewTab computation see the actual destination.
42364
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _937 => _937.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42360
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _935 => _935.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42365
42361
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42366
42362
  CampaignChatCard,
42367
42363
  {
@@ -42381,18 +42377,18 @@ function ChatCardNavWrap({
42381
42377
  isNewTab,
42382
42378
  children
42383
42379
  }) {
42384
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
42380
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
42385
42381
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
42386
42382
  const panel = useChatPanel();
42387
42383
  const onClickCapture = (e) => {
42388
42384
  if (!href) return;
42389
42385
  const targetEl = e.target;
42390
- if (_optionalChain([targetEl, 'optionalAccess', _938 => _938.closest, 'optionalCall', _939 => _939("button")])) return;
42391
- if (!_optionalChain([targetEl, 'optionalAccess', _940 => _940.closest, 'optionalCall', _941 => _941("a")])) return;
42386
+ if (_optionalChain([targetEl, 'optionalAccess', _936 => _936.closest, 'optionalCall', _937 => _937("button")])) return;
42387
+ if (!_optionalChain([targetEl, 'optionalAccess', _938 => _938.closest, 'optionalCall', _939 => _939("a")])) return;
42392
42388
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
42393
42389
  if (!handled) return;
42394
42390
  e.stopPropagation();
42395
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _942 => _942.closeChat])) panel.closeChat();
42391
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _940 => _940.closeChat])) panel.closeChat();
42396
42392
  };
42397
42393
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
42398
42394
  }
@@ -42404,7 +42400,7 @@ function ChatCardLoader({
42404
42400
  chipBasePlatform,
42405
42401
  extras
42406
42402
  }) {
42407
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
42403
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
42408
42404
  const resolvedChatRef = React112.default.useMemo(() => {
42409
42405
  const cta = resolveSourceRowCTA(
42410
42406
  {
@@ -42414,7 +42410,7 @@ function ChatCardLoader({
42414
42410
  title: chatRef.title,
42415
42411
  externalUrl: chatRef.url,
42416
42412
  targetPlatform: chatRef.targetPlatform,
42417
- path: typeof _optionalChain([chatRef, 'access', _943 => _943.metadata, 'optionalAccess', _944 => _944.path]) === "string" ? chatRef.metadata.path : null
42413
+ path: typeof _optionalChain([chatRef, 'access', _941 => _941.metadata, 'optionalAccess', _942 => _942.path]) === "string" ? chatRef.metadata.path : null
42418
42414
  },
42419
42415
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
42420
42416
  );
@@ -42428,7 +42424,7 @@ function ChatCardLoader({
42428
42424
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
42429
42425
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
42430
42426
  const { item, isLoading } = useChatCardItem(
42431
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _945 => _945.contentRefType]), () => ( "")),
42427
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _943 => _943.contentRefType]), () => ( "")),
42432
42428
  fetchEntry ? resolvedChatRef.id : ""
42433
42429
  );
42434
42430
  if (!entry) return null;
@@ -42459,7 +42455,7 @@ function ChatCardLoader({
42459
42455
  isNewTab,
42460
42456
  discuss
42461
42457
  };
42462
- const path = typeof _optionalChain([finalChatRef, 'access', _946 => _946.metadata, 'optionalAccess', _947 => _947.path]) === "string" ? finalChatRef.metadata.path : null;
42458
+ const path = typeof _optionalChain([finalChatRef, 'access', _944 => _944.metadata, 'optionalAccess', _945 => _945.path]) === "string" ? finalChatRef.metadata.path : null;
42463
42459
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42464
42460
  ChatCardNavWrap,
42465
42461
  {
@@ -42845,7 +42841,7 @@ function useJetStreamDialogSubscription({
42845
42841
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
42846
42842
  conn: sharedConn,
42847
42843
  wsUrl,
42848
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _948 => _948.current, 'optionalCall', _949 => _949()]),
42844
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _946 => _946.current, 'optionalCall', _947 => _947()]),
42849
42845
  backoff: reconnectionBackoffRef.current,
42850
42846
  getFreshUrl: () => getNatsWsUrlRef.current(),
42851
42847
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -42860,7 +42856,7 @@ function useJetStreamDialogSubscription({
42860
42856
  setReconnectionCount((c) => c + 1);
42861
42857
  }
42862
42858
  hadConnectionBeforeRef.current = true;
42863
- _optionalChain([onConnectRef, 'access', _950 => _950.current, 'optionalCall', _951 => _951()]);
42859
+ _optionalChain([onConnectRef, 'access', _948 => _948.current, 'optionalCall', _949 => _949()]);
42864
42860
  }
42865
42861
  if (status === "error") {
42866
42862
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -42870,7 +42866,7 @@ function useJetStreamDialogSubscription({
42870
42866
  setIsConnected(false);
42871
42867
  setIsSubscribed(false);
42872
42868
  tearDownSubscription();
42873
- _optionalChain([onDisconnectRef, 'access', _952 => _952.current, 'optionalCall', _953 => _953()]);
42869
+ _optionalChain([onDisconnectRef, 'access', _950 => _950.current, 'optionalCall', _951 => _951()]);
42874
42870
  }
42875
42871
  }
42876
42872
  });
@@ -42949,7 +42945,7 @@ function useJetStreamDialogSubscription({
42949
42945
  }
42950
42946
  subscriptionRef.current = handle;
42951
42947
  setIsSubscribed(true);
42952
- _optionalChain([onSubscribedRef, 'access', _954 => _954.current, 'optionalCall', _955 => _955()]);
42948
+ _optionalChain([onSubscribedRef, 'access', _952 => _952.current, 'optionalCall', _953 => _953()]);
42953
42949
  } catch (e43) {
42954
42950
  if (!cancelled) {
42955
42951
  setIsSubscribed(false);
@@ -43062,20 +43058,20 @@ function useNatsDialogSubscription({
43062
43058
  const tearDownSubscriptions = () => {
43063
43059
  subscriptionRefs.current.forEach((sub) => {
43064
43060
  try {
43065
- _optionalChain([sub, 'optionalAccess', _956 => _956.unsubscribe, 'call', _957 => _957()]);
43061
+ _optionalChain([sub, 'optionalAccess', _954 => _954.unsubscribe, 'call', _955 => _955()]);
43066
43062
  } catch (e45) {
43067
43063
  }
43068
43064
  });
43069
43065
  subscriptionRefs.current.clear();
43070
43066
  lastSubscribedDialogIdRef.current = null;
43071
- _optionalChain([abortControllerRef, 'access', _958 => _958.current, 'optionalAccess', _959 => _959.abort, 'call', _960 => _960()]);
43067
+ _optionalChain([abortControllerRef, 'access', _956 => _956.current, 'optionalAccess', _957 => _957.abort, 'call', _958 => _958()]);
43072
43068
  abortControllerRef.current = null;
43073
43069
  };
43074
43070
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
43075
43071
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43076
43072
  conn: sharedConn,
43077
43073
  wsUrl,
43078
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _961 => _961.current, 'optionalCall', _962 => _962()]),
43074
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _959 => _959.current, 'optionalCall', _960 => _960()]),
43079
43075
  backoff: reconnectionBackoffRef.current,
43080
43076
  getFreshUrl: () => getNatsWsUrlRef.current(),
43081
43077
  shouldRetryOn: isDisconnectStatus,
@@ -43086,7 +43082,7 @@ function useNatsDialogSubscription({
43086
43082
  setReconnectionCount((c) => c + 1);
43087
43083
  }
43088
43084
  hadConnectionBeforeRef.current = true;
43089
- _optionalChain([onConnectRef, 'access', _963 => _963.current, 'optionalCall', _964 => _964()]);
43085
+ _optionalChain([onConnectRef, 'access', _961 => _961.current, 'optionalCall', _962 => _962()]);
43090
43086
  }
43091
43087
  if (status === "error") {
43092
43088
  console.warn("[NATS] protocol error:", evt.data);
@@ -43096,7 +43092,7 @@ function useNatsDialogSubscription({
43096
43092
  setIsConnected(false);
43097
43093
  setIsSubscribed(false);
43098
43094
  tearDownSubscriptions();
43099
- _optionalChain([onDisconnectRef, 'access', _965 => _965.current, 'optionalCall', _966 => _966()]);
43095
+ _optionalChain([onDisconnectRef, 'access', _963 => _963.current, 'optionalCall', _964 => _964()]);
43100
43096
  }
43101
43097
  }
43102
43098
  });
@@ -43127,13 +43123,13 @@ function useNatsDialogSubscription({
43127
43123
  setIsSubscribed(false);
43128
43124
  subscriptionRefs.current.forEach((sub) => {
43129
43125
  try {
43130
- _optionalChain([sub, 'optionalAccess', _967 => _967.unsubscribe, 'call', _968 => _968()]);
43126
+ _optionalChain([sub, 'optionalAccess', _965 => _965.unsubscribe, 'call', _966 => _966()]);
43131
43127
  } catch (e46) {
43132
43128
  }
43133
43129
  });
43134
43130
  subscriptionRefs.current.clear();
43135
43131
  lastSubscribedDialogIdRef.current = null;
43136
- _optionalChain([abortControllerRef, 'access', _969 => _969.current, 'optionalAccess', _970 => _970.abort, 'call', _971 => _971()]);
43132
+ _optionalChain([abortControllerRef, 'access', _967 => _967.current, 'optionalAccess', _968 => _968.abort, 'call', _969 => _969()]);
43137
43133
  abortControllerRef.current = null;
43138
43134
  }
43139
43135
  return;
@@ -43145,12 +43141,12 @@ function useNatsDialogSubscription({
43145
43141
  if (subscriptionRefs.current.size > 0) {
43146
43142
  subscriptionRefs.current.forEach((sub) => {
43147
43143
  try {
43148
- _optionalChain([sub, 'optionalAccess', _972 => _972.unsubscribe, 'call', _973 => _973()]);
43144
+ _optionalChain([sub, 'optionalAccess', _970 => _970.unsubscribe, 'call', _971 => _971()]);
43149
43145
  } catch (e47) {
43150
43146
  }
43151
43147
  });
43152
43148
  subscriptionRefs.current.clear();
43153
- _optionalChain([abortControllerRef, 'access', _974 => _974.current, 'optionalAccess', _975 => _975.abort, 'call', _976 => _976()]);
43149
+ _optionalChain([abortControllerRef, 'access', _972 => _972.current, 'optionalAccess', _973 => _973.abort, 'call', _974 => _974()]);
43154
43150
  }
43155
43151
  abortControllerRef.current = new AbortController();
43156
43152
  const abort = abortControllerRef.current;
@@ -43182,7 +43178,7 @@ function useNatsDialogSubscription({
43182
43178
  });
43183
43179
  lastSubscribedDialogIdRef.current = dialogId;
43184
43180
  setIsSubscribed(true);
43185
- _optionalChain([onSubscribedRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
43181
+ _optionalChain([onSubscribedRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
43186
43182
  };
43187
43183
  if (isConnectedRef.current) {
43188
43184
  createSubscriptions();
@@ -43192,7 +43188,7 @@ function useNatsDialogSubscription({
43192
43188
  abort.abort();
43193
43189
  subscriptionRefs.current.forEach((sub) => {
43194
43190
  try {
43195
- _optionalChain([sub, 'optionalAccess', _979 => _979.unsubscribe, 'call', _980 => _980()]);
43191
+ _optionalChain([sub, 'optionalAccess', _977 => _977.unsubscribe, 'call', _978 => _978()]);
43196
43192
  } catch (e49) {
43197
43193
  }
43198
43194
  });
@@ -43233,7 +43229,7 @@ function useNatsDialogSubscription({
43233
43229
  });
43234
43230
  lastSubscribedDialogIdRef.current = dialogId2;
43235
43231
  setIsSubscribed(true);
43236
- _optionalChain([onSubscribedRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]);
43232
+ _optionalChain([onSubscribedRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]);
43237
43233
  } else if (subscriptionRefs.current.size > 0) {
43238
43234
  setIsSubscribed(true);
43239
43235
  }
@@ -43241,10 +43237,10 @@ function useNatsDialogSubscription({
43241
43237
  return { isConnected, isSubscribed, reconnectionCount };
43242
43238
  }
43243
43239
  function buildNatsWsUrl(apiBaseUrl, options) {
43244
- const path = _optionalChain([options, 'optionalAccess', _983 => _983.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43240
+ const path = _optionalChain([options, 'optionalAccess', _981 => _981.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43245
43241
  const u = new URL(path, apiBaseUrl);
43246
43242
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
43247
- if (_optionalChain([options, 'optionalAccess', _984 => _984.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _985 => _985.token])) {
43243
+ if (_optionalChain([options, 'optionalAccess', _982 => _982.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _983 => _983.token])) {
43248
43244
  u.searchParams.set("authorization", options.token);
43249
43245
  }
43250
43246
  return u.toString();
@@ -43380,7 +43376,7 @@ function parseChunkToAction(chunk) {
43380
43376
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
43381
43377
  // historical path in `process-historical-messages.ts`) — keeps both
43382
43378
  // message sources producing an identical shape.
43383
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _986 => _986.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _987 => _987.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43379
+ 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
43384
43380
  };
43385
43381
  case MESSAGE_TYPE.TOKEN_USAGE:
43386
43382
  return {
@@ -43572,8 +43568,8 @@ var MessageSegmentAccumulator = class {
43572
43568
  type: "tool_execution",
43573
43569
  data: {
43574
43570
  ...toolData,
43575
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _988 => _988.data, 'access', _989 => _989.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _990 => _990.toolTitle]))),
43576
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _991 => _991.parameters])
43571
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _986 => _986.data, 'access', _987 => _987.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _988 => _988.toolTitle]))),
43572
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _989 => _989.parameters])
43577
43573
  }
43578
43574
  };
43579
43575
  if (existingIndex !== -1) {
@@ -43597,8 +43593,8 @@ var MessageSegmentAccumulator = class {
43597
43593
  if (seg.type !== "approval_batch") return seg;
43598
43594
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
43599
43595
  if (!hasCall) return seg;
43600
- const prev = _optionalChain([seg, 'access', _992 => _992.data, 'access', _993 => _993.executions, 'optionalAccess', _994 => _994[execId]]);
43601
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _995 => _995.result]), success: _optionalChain([prev, 'optionalAccess', _996 => _996.success]) };
43596
+ const prev = _optionalChain([seg, 'access', _990 => _990.data, 'access', _991 => _991.executions, 'optionalAccess', _992 => _992[execId]]);
43597
+ 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]) };
43602
43598
  matched = true;
43603
43599
  return {
43604
43600
  ...seg,
@@ -43720,10 +43716,10 @@ var MessageSegmentAccumulator = class {
43720
43716
  const segment = {
43721
43717
  type: "approval_request",
43722
43718
  data: {
43723
- command: _optionalChain([pendingApproval, 'optionalAccess', _997 => _997.command]) || "",
43724
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _998 => _998.explanation]),
43719
+ command: _optionalChain([pendingApproval, 'optionalAccess', _995 => _995.command]) || "",
43720
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _996 => _996.explanation]),
43725
43721
  requestId,
43726
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _999 => _999.approvalType]) || approvalType
43722
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _997 => _997.approvalType]) || approvalType
43727
43723
  },
43728
43724
  status,
43729
43725
  onApprove: this.callbacks.onApprove,
@@ -43915,7 +43911,7 @@ function useRealtimeChunkProcessor(options) {
43915
43911
  if (initialState.escalatedApprovals) {
43916
43912
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
43917
43913
  initialState.escalatedApprovals.forEach((data, requestId) => {
43918
- _optionalChain([callbacks, 'access', _1000 => _1000.onEscalatedApproval, 'optionalCall', _1001 => _1001(requestId, data)]);
43914
+ _optionalChain([callbacks, 'access', _998 => _998.onEscalatedApproval, 'optionalCall', _999 => _999(requestId, data)]);
43919
43915
  });
43920
43916
  }
43921
43917
  hasEverStreamedRef.current = true;
@@ -43936,12 +43932,12 @@ function useRealtimeChunkProcessor(options) {
43936
43932
  if (!action) return;
43937
43933
  const accumulator = accumulatorRef.current;
43938
43934
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
43939
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1002 => _1002.onSegmentsUpdate, 'optionalCall', _1003 => _1003(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
43935
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1000 => _1000.onSegmentsUpdate, 'optionalCall', _1001 => _1001(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
43940
43936
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
43941
43937
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
43942
43938
  if (isInStreamRef.current) {
43943
43939
  isInStreamRef.current = false;
43944
- _optionalChain([callbacks, 'access', _1004 => _1004.onStreamEnd, 'optionalCall', _1005 => _1005()]);
43940
+ _optionalChain([callbacks, 'access', _1002 => _1002.onStreamEnd, 'optionalCall', _1003 => _1003()]);
43945
43941
  accumulator.resetSegments();
43946
43942
  }
43947
43943
  return;
@@ -43950,16 +43946,16 @@ function useRealtimeChunkProcessor(options) {
43950
43946
  case "message_start":
43951
43947
  isInStreamRef.current = true;
43952
43948
  hasEverStreamedRef.current = true;
43953
- _optionalChain([callbacks, 'access', _1006 => _1006.onStreamStart, 'optionalCall', _1007 => _1007()]);
43949
+ _optionalChain([callbacks, 'access', _1004 => _1004.onStreamStart, 'optionalCall', _1005 => _1005()]);
43954
43950
  accumulator.resetSegments();
43955
43951
  break;
43956
43952
  case "message_end":
43957
43953
  isInStreamRef.current = false;
43958
- _optionalChain([callbacks, 'access', _1008 => _1008.onStreamEnd, 'optionalCall', _1009 => _1009()]);
43954
+ _optionalChain([callbacks, 'access', _1006 => _1006.onStreamEnd, 'optionalCall', _1007 => _1007()]);
43959
43955
  accumulator.resetSegments();
43960
43956
  break;
43961
43957
  case "metadata":
43962
- _optionalChain([callbacks, 'access', _1010 => _1010.onMetadata, 'optionalCall', _1011 => _1011(action)]);
43958
+ _optionalChain([callbacks, 'access', _1008 => _1008.onMetadata, 'optionalCall', _1009 => _1009(action)]);
43963
43959
  break;
43964
43960
  case "text": {
43965
43961
  const segments = accumulator.appendText(action.text);
@@ -44002,7 +43998,7 @@ function useRealtimeChunkProcessor(options) {
44002
43998
  emitSegments(segments);
44003
43999
  } else {
44004
44000
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44005
- _optionalChain([callbacks, 'access', _1012 => _1012.onEscalatedApproval, 'optionalCall', _1013 => _1013(requestId, { command, explanation, approvalType })]);
44001
+ _optionalChain([callbacks, 'access', _1010 => _1010.onEscalatedApproval, 'optionalCall', _1011 => _1011(requestId, { command, explanation, approvalType })]);
44006
44002
  }
44007
44003
  break;
44008
44004
  }
@@ -44014,13 +44010,13 @@ function useRealtimeChunkProcessor(options) {
44014
44010
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
44015
44011
  pendingEscalatedRef.current.set(requestId, {
44016
44012
  command: summary,
44017
- explanation: _optionalChain([required, 'optionalAccess', _1014 => _1014.toolExplanation]),
44013
+ explanation: _optionalChain([required, 'optionalAccess', _1012 => _1012.toolExplanation]),
44018
44014
  approvalType,
44019
44015
  toolCalls
44020
44016
  });
44021
- _optionalChain([callbacks, 'access', _1015 => _1015.onEscalatedApproval, 'optionalCall', _1016 => _1016(requestId, {
44017
+ _optionalChain([callbacks, 'access', _1013 => _1013.onEscalatedApproval, 'optionalCall', _1014 => _1014(requestId, {
44022
44018
  command: summary,
44023
- explanation: _optionalChain([required, 'optionalAccess', _1017 => _1017.toolExplanation]),
44019
+ explanation: _optionalChain([required, 'optionalAccess', _1015 => _1015.toolExplanation]),
44024
44020
  approvalType
44025
44021
  })]);
44026
44022
  break;
@@ -44050,7 +44046,7 @@ function useRealtimeChunkProcessor(options) {
44050
44046
  const status = approved ? "approved" : "rejected";
44051
44047
  if (escalatedData) {
44052
44048
  pendingEscalatedRef.current.delete(requestId);
44053
- _optionalChain([callbacks, 'access', _1018 => _1018.onEscalatedApprovalResult, 'optionalCall', _1019 => _1019(requestId, approved, {
44049
+ _optionalChain([callbacks, 'access', _1016 => _1016.onEscalatedApprovalResult, 'optionalCall', _1017 => _1017(requestId, approved, {
44054
44050
  command: escalatedData.command,
44055
44051
  explanation: escalatedData.explanation,
44056
44052
  approvalType: escalatedData.approvalType
@@ -44096,29 +44092,29 @@ function useRealtimeChunkProcessor(options) {
44096
44092
  emitSegments(accumulator.getSegments());
44097
44093
  }
44098
44094
  }
44099
- _optionalChain([callbacks, 'access', _1020 => _1020.onApprovalResolved, 'optionalCall', _1021 => _1021(requestId, status, approvalType, resolvedByName)]);
44095
+ _optionalChain([callbacks, 'access', _1018 => _1018.onApprovalResolved, 'optionalCall', _1019 => _1019(requestId, status, approvalType, resolvedByName)]);
44100
44096
  break;
44101
44097
  }
44102
44098
  case "error": {
44103
44099
  let message2;
44104
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1022 => _1022.details])) {
44100
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1020 => _1020.details])) {
44105
44101
  try {
44106
- message2 = _optionalChain([JSON, 'access', _1023 => _1023.parse, 'call', _1024 => _1024(action.details), 'optionalAccess', _1025 => _1025.error, 'optionalAccess', _1026 => _1026.message]);
44102
+ message2 = _optionalChain([JSON, 'access', _1021 => _1021.parse, 'call', _1022 => _1022(action.details), 'optionalAccess', _1023 => _1023.error, 'optionalAccess', _1024 => _1024.message]);
44107
44103
  } catch (e51) {
44108
44104
  message2 = action.details;
44109
44105
  }
44110
44106
  }
44111
44107
  const segments = accumulator.addError(action.error, message2);
44112
44108
  emitSegments(segments);
44113
- _optionalChain([callbacks, 'access', _1027 => _1027.onError, 'optionalCall', _1028 => _1028(action.error, message2)]);
44109
+ _optionalChain([callbacks, 'access', _1025 => _1025.onError, 'optionalCall', _1026 => _1026(action.error, message2)]);
44114
44110
  break;
44115
44111
  }
44116
44112
  case "system": {
44117
- _optionalChain([callbacks, 'access', _1029 => _1029.onSystemMessage, 'optionalCall', _1030 => _1030(action.text, { streamSeq })]);
44113
+ _optionalChain([callbacks, 'access', _1027 => _1027.onSystemMessage, 'optionalCall', _1028 => _1028(action.text, { streamSeq })]);
44118
44114
  break;
44119
44115
  }
44120
44116
  case "direct_message": {
44121
- _optionalChain([callbacks, 'access', _1031 => _1031.onDirectMessage, 'optionalCall', _1032 => _1032(action.text, {
44117
+ _optionalChain([callbacks, 'access', _1029 => _1029.onDirectMessage, 'optionalCall', _1030 => _1030(action.text, {
44122
44118
  ownerType: action.ownerType,
44123
44119
  displayName: action.displayName,
44124
44120
  userId: action.userId,
@@ -44127,7 +44123,7 @@ function useRealtimeChunkProcessor(options) {
44127
44123
  break;
44128
44124
  }
44129
44125
  case "message_request":
44130
- _optionalChain([callbacks, 'access', _1033 => _1033.onUserMessage, 'optionalCall', _1034 => _1034(action.text, {
44126
+ _optionalChain([callbacks, 'access', _1031 => _1031.onUserMessage, 'optionalCall', _1032 => _1032(action.text, {
44131
44127
  ownerType: action.ownerType,
44132
44128
  displayName: action.displayName,
44133
44129
  userId: action.userId,
@@ -44136,7 +44132,7 @@ function useRealtimeChunkProcessor(options) {
44136
44132
  })]);
44137
44133
  break;
44138
44134
  case "token_usage":
44139
- _optionalChain([callbacks, 'access', _1035 => _1035.onTokenUsage, 'optionalCall', _1036 => _1036(action.data)]);
44135
+ _optionalChain([callbacks, 'access', _1033 => _1033.onTokenUsage, 'optionalCall', _1034 => _1034(action.data)]);
44140
44136
  break;
44141
44137
  case "context_compaction_start": {
44142
44138
  const standalone = !isInStreamRef.current;
@@ -44151,7 +44147,7 @@ function useRealtimeChunkProcessor(options) {
44151
44147
  break;
44152
44148
  }
44153
44149
  case "dialog_closed":
44154
- _optionalChain([callbacks, 'access', _1037 => _1037.onDialogClosed, 'optionalCall', _1038 => _1038()]);
44150
+ _optionalChain([callbacks, 'access', _1035 => _1035.onDialogClosed, 'optionalCall', _1036 => _1036()]);
44155
44151
  break;
44156
44152
  default:
44157
44153
  break;
@@ -44192,7 +44188,7 @@ function useRealtimeChunkProcessor(options) {
44192
44188
  async function fetchSlashCommands(prefix, signal, commandsUrl) {
44193
44189
  const url = new URL(commandsUrl, window.location.origin);
44194
44190
  if (prefix) url.searchParams.set("q", prefix);
44195
- const res = await _chunkWMSTJAZTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44191
+ const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44196
44192
  if (!res.ok) return [];
44197
44193
  const data = await res.json();
44198
44194
  return _nullishCoalesce(data.commands, () => ( []));
@@ -44213,7 +44209,7 @@ function useSlashCommands(prefix, commandsUrl) {
44213
44209
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
44214
44210
  if (!cancelled) setCommands(next);
44215
44211
  } catch (err) {
44216
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1039 => _1039.name]) !== "AbortError") {
44212
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1037 => _1037.name]) !== "AbortError") {
44217
44213
  console.warn("[use-slash-commands] fetch failed:", err);
44218
44214
  }
44219
44215
  } finally {
@@ -44232,7 +44228,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
44232
44228
  const query = _reactquery.useQuery.call(void 0, {
44233
44229
  queryKey: ["chat-slash-commands", commandsUrl],
44234
44230
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
44235
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1040 => _1040.enabled]), () => ( true)),
44231
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1038 => _1038.enabled]), () => ( true)),
44236
44232
  staleTime: Infinity,
44237
44233
  gcTime: Infinity
44238
44234
  });
@@ -44253,7 +44249,7 @@ var EMPTY_STATE_FALLBACK = {
44253
44249
  };
44254
44250
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
44255
44251
  const url = new URL(emptyStateUrl, window.location.origin);
44256
- const res = await _chunkWMSTJAZTcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44252
+ const res = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
44257
44253
  if (!res.ok) {
44258
44254
  if (res.status >= 500) {
44259
44255
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -44262,13 +44258,13 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
44262
44258
  }
44263
44259
  const data = await res.json();
44264
44260
  return {
44265
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1041 => _1041.greeting]), () => ( null)),
44266
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1042 => _1042.enabledRagTableIds]), () => ( [])),
44267
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1043 => _1043.suggestedQueries]), () => ( []))
44261
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1039 => _1039.greeting]), () => ( null)),
44262
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1040 => _1040.enabledRagTableIds]), () => ( [])),
44263
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1041 => _1041.suggestedQueries]), () => ( []))
44268
44264
  };
44269
44265
  }
44270
44266
  function useEmptyStateConfig(emptyStateUrl, options) {
44271
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1044 => _1044.enabled]), () => ( true))) && !!emptyStateUrl;
44267
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1042 => _1042.enabled]), () => ( true))) && !!emptyStateUrl;
44272
44268
  const query = _reactquery.useQuery.call(void 0, {
44273
44269
  queryKey: ["chat-empty-state", emptyStateUrl],
44274
44270
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -44293,7 +44289,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
44293
44289
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
44294
44290
  function uploadWithProgress(url, file, token, onProgress, signal) {
44295
44291
  return new Promise((resolve, reject) => {
44296
- if (_optionalChain([signal, 'optionalAccess', _1045 => _1045.aborted])) {
44292
+ if (_optionalChain([signal, 'optionalAccess', _1043 => _1043.aborted])) {
44297
44293
  reject(new Error("Upload cancelled"));
44298
44294
  return;
44299
44295
  }
@@ -44307,7 +44303,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44307
44303
  xhr.removeEventListener("error", handleError);
44308
44304
  xhr.removeEventListener("abort", handleAbort);
44309
44305
  xhr.removeEventListener("timeout", handleTimeout);
44310
- _optionalChain([signal, 'optionalAccess', _1046 => _1046.removeEventListener, 'call', _1047 => _1047("abort", handleSignalAbort)]);
44306
+ _optionalChain([signal, 'optionalAccess', _1044 => _1044.removeEventListener, 'call', _1045 => _1045("abort", handleSignalAbort)]);
44311
44307
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
44312
44308
  };
44313
44309
  const handleProgress = (event) => {
@@ -44343,7 +44339,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44343
44339
  const handleSignalAbort = () => {
44344
44340
  xhr.abort();
44345
44341
  };
44346
- _optionalChain([signal, 'optionalAccess', _1048 => _1048.addEventListener, 'call', _1049 => _1049("abort", handleSignalAbort, { once: true })]);
44342
+ _optionalChain([signal, 'optionalAccess', _1046 => _1046.addEventListener, 'call', _1047 => _1047("abort", handleSignalAbort, { once: true })]);
44347
44343
  xhr.upload.addEventListener("progress", handleProgress);
44348
44344
  xhr.addEventListener("load", handleLoad);
44349
44345
  xhr.addEventListener("error", handleError);
@@ -44359,7 +44355,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44359
44355
  });
44360
44356
  }
44361
44357
  function useChatAttachments() {
44362
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
44358
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
44363
44359
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
44364
44360
  const [attachments, setAttachments] = _react.useState.call(void 0, []);
44365
44361
  const controllersRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
@@ -44387,12 +44383,12 @@ function useChatAttachments() {
44387
44383
  try {
44388
44384
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
44389
44385
  } catch (err) {
44390
- if (_optionalChain([ctrl, 'optionalAccess', _1050 => _1050.signal, 'access', _1051 => _1051.aborted])) return;
44386
+ if (_optionalChain([ctrl, 'optionalAccess', _1048 => _1048.signal, 'access', _1049 => _1049.aborted])) return;
44391
44387
  throw new Error(
44392
44388
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
44393
44389
  );
44394
44390
  }
44395
- if (_optionalChain([ctrl, 'optionalAccess', _1052 => _1052.signal, 'access', _1053 => _1053.aborted])) return;
44391
+ if (_optionalChain([ctrl, 'optionalAccess', _1050 => _1050.signal, 'access', _1051 => _1051.aborted])) return;
44396
44392
  if (!sniffed) {
44397
44393
  throw new Error("Unrecognized file format");
44398
44394
  }
@@ -44403,10 +44399,10 @@ function useChatAttachments() {
44403
44399
  );
44404
44400
  }
44405
44401
  updateOne(att.id, { status: "uploading", progress: 5 });
44406
- const urlResp = await _chunkWMSTJAZTcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
44402
+ const urlResp = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
44407
44403
  method: "POST",
44408
44404
  headers: { "Content-Type": "application/json" },
44409
- signal: _optionalChain([ctrl, 'optionalAccess', _1054 => _1054.signal]),
44405
+ signal: _optionalChain([ctrl, 'optionalAccess', _1052 => _1052.signal]),
44410
44406
  body: JSON.stringify({
44411
44407
  fileName: att.file.name,
44412
44408
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -44432,9 +44428,9 @@ function useChatAttachments() {
44432
44428
  (pct) => {
44433
44429
  updateOne(att.id, { progress: pct });
44434
44430
  },
44435
- _optionalChain([ctrl, 'optionalAccess', _1055 => _1055.signal])
44431
+ _optionalChain([ctrl, 'optionalAccess', _1053 => _1053.signal])
44436
44432
  );
44437
- if (_optionalChain([ctrl, 'optionalAccess', _1056 => _1056.signal, 'access', _1057 => _1057.aborted])) return;
44433
+ if (_optionalChain([ctrl, 'optionalAccess', _1054 => _1054.signal, 'access', _1055 => _1055.aborted])) return;
44438
44434
  updateOne(att.id, {
44439
44435
  status: "ready",
44440
44436
  progress: 100,
@@ -44442,7 +44438,7 @@ function useChatAttachments() {
44442
44438
  viewToken: mintData.viewToken
44443
44439
  });
44444
44440
  } catch (err) {
44445
- if (_optionalChain([ctrl, 'optionalAccess', _1058 => _1058.signal, 'access', _1059 => _1059.aborted])) return;
44441
+ if (_optionalChain([ctrl, 'optionalAccess', _1056 => _1056.signal, 'access', _1057 => _1057.aborted])) return;
44446
44442
  const message2 = err instanceof Error ? err.message : String(err);
44447
44443
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
44448
44444
  } finally {
@@ -44532,7 +44528,7 @@ function useChatAttachments() {
44532
44528
 
44533
44529
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
44534
44530
  function useChatAttachmentImageGallery() {
44535
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
44531
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
44536
44532
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
44537
44533
  const panelRef = _react.useRef.call(void 0, null);
44538
44534
  const [state, setState] = _react.useState.call(void 0, CLOSED);
@@ -44591,9 +44587,9 @@ var ANON_DEFAULTS = {
44591
44587
  user: null
44592
44588
  };
44593
44589
  function useResolveChatIdentity(enabled) {
44594
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
44590
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
44595
44591
  const url = runtime.endpoints.identityUrl;
44596
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkWMSTJAZTcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1060 => _1060.email]), () => ( null));
44592
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkG56GYN7Zcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1058 => _1058.email]), () => ( null));
44597
44593
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
44598
44594
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
44599
44595
  _react.useEffect.call(void 0, () => {
@@ -44601,7 +44597,7 @@ function useResolveChatIdentity(enabled) {
44601
44597
  let cancelled = false;
44602
44598
  const ctrl = new AbortController();
44603
44599
  setIsLoading(true);
44604
- _chunkWMSTJAZTcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
44600
+ _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
44605
44601
  if (!resp.ok) return ANON_DEFAULTS;
44606
44602
  return await resp.json();
44607
44603
  }).then((next) => {
@@ -44681,7 +44677,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
44681
44677
  yield chunk;
44682
44678
  }
44683
44679
  } catch (err) {
44684
- if (_optionalChain([err, 'optionalAccess', _1061 => _1061.name]) === "AbortError" || ctrl.signal.aborted) {
44680
+ if (_optionalChain([err, 'optionalAccess', _1059 => _1059.name]) === "AbortError" || ctrl.signal.aborted) {
44685
44681
  return;
44686
44682
  }
44687
44683
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -44732,7 +44728,7 @@ function useChat({
44732
44728
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
44733
44729
  onMessagesChangeRef.current = onMessagesChange;
44734
44730
  _react.useEffect.call(void 0, () => {
44735
- _optionalChain([onMessagesChangeRef, 'access', _1062 => _1062.current, 'optionalCall', _1063 => _1063(messages)]);
44731
+ _optionalChain([onMessagesChangeRef, 'access', _1060 => _1060.current, 'optionalCall', _1061 => _1061(messages)]);
44736
44732
  }, [messages]);
44737
44733
  const {
44738
44734
  streamMessage,
@@ -44769,7 +44765,7 @@ function useChat({
44769
44765
  name: "You",
44770
44766
  content: text,
44771
44767
  timestamp: /* @__PURE__ */ new Date(),
44772
- ..._optionalChain([options, 'optionalAccess', _1064 => _1064.hidden]) ? { hidden: true } : {}
44768
+ ..._optionalChain([options, 'optionalAccess', _1062 => _1062.hidden]) ? { hidden: true } : {}
44773
44769
  };
44774
44770
  addMessage(userMessage);
44775
44771
  setIsTyping(true);
@@ -44831,7 +44827,7 @@ function useChat({
44831
44827
  currentTextSegment = "";
44832
44828
  }
44833
44829
  const seg = segment;
44834
- const proposalId = _optionalChain([seg, 'access', _1065 => _1065.data, 'optionalAccess', _1066 => _1066.requestId]);
44830
+ const proposalId = _optionalChain([seg, 'access', _1063 => _1063.data, 'optionalAccess', _1064 => _1064.requestId]);
44835
44831
  const updateApprovalMessage = (transform) => {
44836
44832
  setMessages((prev) => {
44837
44833
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -44840,7 +44836,7 @@ function useChat({
44840
44836
  if (!Array.isArray(m.content)) continue;
44841
44837
  const segments = m.content;
44842
44838
  const hasMatch = segments.some(
44843
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1067 => _1067.data, 'optionalAccess', _1068 => _1068.requestId]) === proposalId
44839
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1065 => _1065.data, 'optionalAccess', _1066 => _1066.requestId]) === proposalId
44844
44840
  );
44845
44841
  if (!hasMatch) continue;
44846
44842
  const next = [...prev];
@@ -44882,11 +44878,11 @@ function useChat({
44882
44878
  if (!Array.isArray(m.content)) continue;
44883
44879
  const segments = m.content;
44884
44880
  const hasMatch = segments.some(
44885
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1069 => _1069.data, 'optionalAccess', _1070 => _1070.requestId]) === decision.proposalId
44881
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1067 => _1067.data, 'optionalAccess', _1068 => _1068.requestId]) === decision.proposalId
44886
44882
  );
44887
44883
  if (!hasMatch) continue;
44888
44884
  const flipped = segments.map(
44889
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1071 => _1071.data, 'optionalAccess', _1072 => _1072.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
44885
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1069 => _1069.data, 'optionalAccess', _1070 => _1070.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
44890
44886
  );
44891
44887
  const next = [...prev];
44892
44888
  next[i] = { ...m, content: flipped };
@@ -45048,8 +45044,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45048
45044
  })),
45049
45045
  { role: "user", content: message2 }
45050
45046
  ];
45051
- const targetPath = _optionalChain([extra, 'optionalAccess', _1073 => _1073.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45052
- const requestBody = _optionalChain([extra, 'optionalAccess', _1074 => _1074.approvalAction]) ? {
45047
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1071 => _1071.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45048
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1072 => _1072.approvalAction]) ? {
45053
45049
  proposal_id: extra.approvalAction.proposalId,
45054
45050
  action: extra.approvalAction.action,
45055
45051
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -45058,10 +45054,10 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45058
45054
  }))
45059
45055
  } : {
45060
45056
  messages: apiMessages,
45061
- ..._optionalChain([extra, 'optionalAccess', _1075 => _1075.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45062
- ..._optionalChain([extra, 'optionalAccess', _1076 => _1076.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
45057
+ ..._optionalChain([extra, 'optionalAccess', _1073 => _1073.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45058
+ ..._optionalChain([extra, 'optionalAccess', _1074 => _1074.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
45063
45059
  };
45064
- const response = await _chunkWMSTJAZTcjs.embedAuthedFetch.call(void 0, targetPath, {
45060
+ const response = await _chunkG56GYN7Zcjs.embedAuthedFetch.call(void 0, targetPath, {
45065
45061
  method: "POST",
45066
45062
  body: JSON.stringify(requestBody),
45067
45063
  signal
@@ -45069,7 +45065,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45069
45065
  if (!response.ok) {
45070
45066
  throw new Error(`Chat request failed: ${response.status}`);
45071
45067
  }
45072
- const reader = _optionalChain([response, 'access', _1077 => _1077.body, 'optionalAccess', _1078 => _1078.getReader, 'call', _1079 => _1079()]);
45068
+ const reader = _optionalChain([response, 'access', _1075 => _1075.body, 'optionalAccess', _1076 => _1076.getReader, 'call', _1077 => _1077()]);
45073
45069
  if (!reader) throw new Error("No response body");
45074
45070
  const decoder = new TextDecoder();
45075
45071
  let buffer = "";
@@ -45152,7 +45148,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45152
45148
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
45153
45149
  const result = _nullishCoalesce(meta.result, () => ( null));
45154
45150
  const card = _nullishCoalesce(meta.card, () => ( null));
45155
- if (_optionalChain([card, 'optionalAccess', _1080 => _1080.ref, 'optionalAccess', _1081 => _1081.id]) && _optionalChain([card, 'optionalAccess', _1082 => _1082.type])) {
45151
+ if (_optionalChain([card, 'optionalAccess', _1078 => _1078.ref, 'optionalAccess', _1079 => _1079.id]) && _optionalChain([card, 'optionalAccess', _1080 => _1080.type])) {
45156
45152
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
45157
45153
  const key = buildChatRefKey(card.type, card.ref.id);
45158
45154
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -45165,8 +45161,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45165
45161
  willAutoContinue: meta.willAutoContinue === true,
45166
45162
  ...toolName ? { toolName } : {},
45167
45163
  ...result ? { result } : {},
45168
- ..._optionalChain([card, 'optionalAccess', _1083 => _1083.marker]) ? { marker: card.marker } : {},
45169
- ..._optionalChain([card, 'optionalAccess', _1084 => _1084.ref]) ? { cardRef: card.ref } : {},
45164
+ ..._optionalChain([card, 'optionalAccess', _1081 => _1081.marker]) ? { marker: card.marker } : {},
45165
+ ..._optionalChain([card, 'optionalAccess', _1082 => _1082.ref]) ? { cardRef: card.ref } : {},
45170
45166
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
45171
45167
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
45172
45168
  };
@@ -45284,8 +45280,8 @@ var CHAT_STORAGE_VERSION = 1;
45284
45280
  var DEFAULT_CHAT_SOURCE = "embed";
45285
45281
  var chatStorageKey = (source) => {
45286
45282
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
45287
- const auth = _chunkWMSTJAZTcjs.getEmbedProxyAuth.call(void 0, );
45288
- if (_optionalChain([auth, 'optionalAccess', _1085 => _1085.email])) {
45283
+ const auth = _chunkG56GYN7Zcjs.getEmbedProxyAuth.call(void 0, );
45284
+ if (_optionalChain([auth, 'optionalAccess', _1083 => _1083.email])) {
45289
45285
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
45290
45286
  }
45291
45287
  return base;
@@ -45338,9 +45334,9 @@ function savePersistedChat(source, state) {
45338
45334
  }
45339
45335
  function useSseChatAdapter(options, runtimeOptions = {}) {
45340
45336
  const { active = true } = runtimeOptions;
45341
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
45337
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45342
45338
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
45343
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1086 => _1086.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45339
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1084 => _1084.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45344
45340
  const persistedRef = _react.useRef.call(void 0, null);
45345
45341
  if (persistedRef.current === null) {
45346
45342
  pruneStaleChatStorage(source);
@@ -45445,7 +45441,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45445
45441
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
45446
45442
  sources = sourcesMapRef.current.get(lookupIdx);
45447
45443
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
45448
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1087 => _1087.current, 'access', _1088 => _1088.get, 'call', _1089 => _1089(lookupIdx), 'optionalAccess', _1090 => _1090.scrollAnchor]), () => ( void 0));
45444
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1085 => _1085.current, 'access', _1086 => _1086.get, 'call', _1087 => _1087(lookupIdx), 'optionalAccess', _1088 => _1088.scrollAnchor]), () => ( void 0));
45449
45445
  }
45450
45446
  return {
45451
45447
  id: m.id,
@@ -45493,7 +45489,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45493
45489
  );
45494
45490
  return;
45495
45491
  }
45496
- const refSlug = typeof _optionalChain([reference, 'access', _1091 => _1091.metadata, 'optionalAccess', _1092 => _1092.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
45492
+ const refSlug = typeof _optionalChain([reference, 'access', _1089 => _1089.metadata, 'optionalAccess', _1090 => _1090.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
45497
45493
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
45498
45494
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
45499
45495
  const text = `/${cmdId} display "${escaped}"`;
@@ -45565,18 +45561,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45565
45561
  clearMessages,
45566
45562
  streamingPhase,
45567
45563
  /** Provider key for the lib's `<ModelDisplay>` icon. */
45568
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1093 => _1093.provider]), () => ( null)),
45569
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1094 => _1094.modelLabel]), () => ( null)),
45570
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1095 => _1095.contextWindowMaxTokens]), () => ( null)),
45564
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1091 => _1091.provider]), () => ( null)),
45565
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1092 => _1092.modelLabel]), () => ( null)),
45566
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1093 => _1093.contextWindowMaxTokens]), () => ( null)),
45571
45567
  /** Input tokens (known after server's message_start frame; null until). */
45572
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1096 => _1096.inputTokens]), () => ( null)),
45568
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1094 => _1094.inputTokens]), () => ( null)),
45573
45569
  /** Output tokens (known only after server's trailing usage frame). */
45574
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1097 => _1097.outputTokens]), () => ( null)),
45570
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1095 => _1095.outputTokens]), () => ( null)),
45575
45571
  /** Cache hit % (read / total-input × 100). null during streaming. */
45576
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1098 => _1098.cacheHitRatePct]), () => ( null)),
45572
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1096 => _1096.cacheHitRatePct]), () => ( null)),
45577
45573
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
45578
45574
  * token counts). null until the trailing usage frame lands. */
45579
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1099 => _1099.breakdown]), () => ( null)),
45575
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1097 => _1097.breakdown]), () => ( null)),
45580
45576
  // ─── Dialog management — stubs for v1 ────────────────────────────────
45581
45577
  // Guide mode currently keeps its history in `localStorage` opaquely
45582
45578
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -45634,15 +45630,15 @@ var noopRejectRequest = async (_id, _reason) => {
45634
45630
 
45635
45631
  // src/components/chat/utils/process-historical-messages.ts
45636
45632
  function getOwnerDisplayName(owner) {
45637
- if (_optionalChain([owner, 'optionalAccess', _1100 => _1100.type]) === OWNER_TYPE.ADMIN && owner.user) {
45633
+ if (_optionalChain([owner, 'optionalAccess', _1098 => _1098.type]) === OWNER_TYPE.ADMIN && owner.user) {
45638
45634
  const { firstName, lastName } = owner.user;
45639
45635
  const name = [firstName, lastName].filter(Boolean).join(" ");
45640
45636
  if (name) return name;
45641
45637
  }
45642
- return _optionalChain([owner, 'optionalAccess', _1101 => _1101.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
45638
+ return _optionalChain([owner, 'optionalAccess', _1099 => _1099.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
45643
45639
  }
45644
45640
  function getOwnerAvatar(owner) {
45645
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1102 => _1102.user, 'optionalAccess', _1103 => _1103.image, 'optionalAccess', _1104 => _1104.imageUrl]), () => ( void 0));
45641
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1100 => _1100.user, 'optionalAccess', _1101 => _1101.image, 'optionalAccess', _1102 => _1102.imageUrl]), () => ( void 0));
45646
45642
  }
45647
45643
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
45648
45644
  messageDataArray.forEach((data) => {
@@ -45705,14 +45701,14 @@ function processHistoricalMessages(messages, options = {}) {
45705
45701
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
45706
45702
  return;
45707
45703
  }
45708
- const isUserMessage = _optionalChain([msg, 'access', _1105 => _1105.owner, 'optionalAccess', _1106 => _1106.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1107 => _1107.owner, 'optionalAccess', _1108 => _1108.type]) === OWNER_TYPE.ADMIN;
45704
+ const isUserMessage = _optionalChain([msg, 'access', _1103 => _1103.owner, 'optionalAccess', _1104 => _1104.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1105 => _1105.owner, 'optionalAccess', _1106 => _1106.type]) === OWNER_TYPE.ADMIN;
45709
45705
  if (isUserMessage) {
45710
45706
  flushAssistantMessage();
45711
- const userAuthorType = _optionalChain([msg, 'access', _1109 => _1109.owner, 'optionalAccess', _1110 => _1110.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
45707
+ const userAuthorType = _optionalChain([msg, 'access', _1107 => _1107.owner, 'optionalAccess', _1108 => _1108.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
45712
45708
  messageDataArray.forEach((data) => {
45713
45709
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
45714
45710
  const rawContext = data.contextItems;
45715
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1111 => _1111.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1112 => _1112.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
45711
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1109 => _1109.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1110 => _1110.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
45716
45712
  processedMessages.push({
45717
45713
  id: msg.id,
45718
45714
  role: "user",
@@ -45736,7 +45732,7 @@ function processHistoricalMessages(messages, options = {}) {
45736
45732
  });
45737
45733
  const nextMsg = messages[index + 1];
45738
45734
  const isLastMessage = index === messages.length - 1;
45739
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1113 => _1113.owner, 'optionalAccess', _1114 => _1114.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1115 => _1115.owner, 'optionalAccess', _1116 => _1116.type]) === OWNER_TYPE.ADMIN);
45735
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1111 => _1111.owner, 'optionalAccess', _1112 => _1112.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1113 => _1113.owner, 'optionalAccess', _1114 => _1114.type]) === OWNER_TYPE.ADMIN);
45740
45736
  if (isLastMessage || nextIsFromUser) {
45741
45737
  flushAssistantMessage();
45742
45738
  }
@@ -45846,7 +45842,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
45846
45842
  }
45847
45843
  }
45848
45844
  } else {
45849
- _optionalChain([escalatedApprovals, 'optionalAccess', _1117 => _1117.set, 'call', _1118 => _1118(data.approvalRequestId, {
45845
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1115 => _1115.set, 'call', _1116 => _1116(data.approvalRequestId, {
45850
45846
  command: data.command || "",
45851
45847
  explanation: data.explanation,
45852
45848
  approvalType,
@@ -45860,8 +45856,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
45860
45856
  const existingStatus = approvalStatuses[data.approvalRequestId];
45861
45857
  const status = existingStatus || (data.approved ? "approved" : "rejected");
45862
45858
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
45863
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1119 => _1119.get, 'call', _1120 => _1120(data.approvalRequestId)]);
45864
- if (_optionalChain([escalatedData, 'optionalAccess', _1121 => _1121.toolCalls]) && escalatedData.toolCalls.length > 0) {
45859
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1117 => _1117.get, 'call', _1118 => _1118(data.approvalRequestId)]);
45860
+ if (_optionalChain([escalatedData, 'optionalAccess', _1119 => _1119.toolCalls]) && escalatedData.toolCalls.length > 0) {
45865
45861
  if (batchApprovalsEnabled) {
45866
45862
  accumulator.addApprovalBatch(
45867
45863
  data.approvalRequestId,
@@ -45883,7 +45879,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
45883
45879
  );
45884
45880
  }
45885
45881
  }
45886
- _optionalChain([escalatedApprovals, 'optionalAccess', _1122 => _1122.delete, 'call', _1123 => _1123(data.approvalRequestId)]);
45882
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1120 => _1120.delete, 'call', _1121 => _1121(data.approvalRequestId)]);
45887
45883
  break;
45888
45884
  }
45889
45885
  if (escalatedData) {
@@ -45892,7 +45888,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
45892
45888
  explanation: escalatedData.explanation,
45893
45889
  approvalType: escalatedData.approvalType
45894
45890
  });
45895
- _optionalChain([escalatedApprovals, 'optionalAccess', _1124 => _1124.delete, 'call', _1125 => _1125(data.approvalRequestId)]);
45891
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1122 => _1122.delete, 'call', _1123 => _1123(data.approvalRequestId)]);
45896
45892
  }
45897
45893
  const before = accumulator.getSegments();
45898
45894
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -45908,9 +45904,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
45908
45904
  case MESSAGE_TYPE.ERROR:
45909
45905
  if ("error" in data) {
45910
45906
  let message2;
45911
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1126 => _1126.details])) {
45907
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1124 => _1124.details])) {
45912
45908
  try {
45913
- message2 = _optionalChain([JSON, 'access', _1127 => _1127.parse, 'call', _1128 => _1128(data.details), 'optionalAccess', _1129 => _1129.error, 'optionalAccess', _1130 => _1130.message]);
45909
+ message2 = _optionalChain([JSON, 'access', _1125 => _1125.parse, 'call', _1126 => _1126(data.details), 'optionalAccess', _1127 => _1127.error, 'optionalAccess', _1128 => _1128.message]);
45914
45910
  } catch (e58) {
45915
45911
  message2 = data.details;
45916
45912
  }
@@ -45993,14 +45989,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
45993
45989
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
45994
45990
  return;
45995
45991
  }
45996
- const isUserMessage = _optionalChain([msg, 'access', _1131 => _1131.owner, 'optionalAccess', _1132 => _1132.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1133 => _1133.owner, 'optionalAccess', _1134 => _1134.type]) === OWNER_TYPE.ADMIN;
45992
+ const isUserMessage = _optionalChain([msg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1131 => _1131.owner, 'optionalAccess', _1132 => _1132.type]) === OWNER_TYPE.ADMIN;
45997
45993
  if (isUserMessage) {
45998
45994
  flushAssistantMessage();
45999
- const userAuthorType = _optionalChain([msg, 'access', _1135 => _1135.owner, 'optionalAccess', _1136 => _1136.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
45995
+ const userAuthorType = _optionalChain([msg, 'access', _1133 => _1133.owner, 'optionalAccess', _1134 => _1134.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46000
45996
  messageDataArray.forEach((data) => {
46001
45997
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46002
45998
  const rawContext = data.contextItems;
46003
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1137 => _1137.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1138 => _1138.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
45999
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1135 => _1135.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1136 => _1136.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46004
46000
  processedMessages.push({
46005
46001
  id: msg.id,
46006
46002
  role: "user",
@@ -46024,7 +46020,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46024
46020
  });
46025
46021
  const nextMsg = messages[index + 1];
46026
46022
  const isLastMessage = index === messages.length - 1;
46027
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1139 => _1139.owner, 'optionalAccess', _1140 => _1140.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1141 => _1141.owner, 'optionalAccess', _1142 => _1142.type]) === OWNER_TYPE.ADMIN);
46023
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1137 => _1137.owner, 'optionalAccess', _1138 => _1138.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1139 => _1139.owner, 'optionalAccess', _1140 => _1140.type]) === OWNER_TYPE.ADMIN);
46028
46024
  if (isLastMessage || nextIsFromUser) {
46029
46025
  flushAssistantMessage();
46030
46026
  }
@@ -46360,7 +46356,7 @@ function useNatsChatAdapter(config, options = {}) {
46360
46356
  }, [active, fetchDialogs, loadDialogsPage]);
46361
46357
  const sendMessage = _react.useCallback.call(void 0,
46362
46358
  async (text, sendOptions) => {
46363
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1143 => _1143.hidden]), () => ( false));
46359
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1141 => _1141.hidden]), () => ( false));
46364
46360
  setMessages((prev) => [
46365
46361
  ...prev,
46366
46362
  {
@@ -46524,11 +46520,11 @@ function useNatsChatAdapter(config, options = {}) {
46524
46520
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
46525
46521
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
46526
46522
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
46527
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1144 => _1144.provider]), () => ( modelProvider)), () => ( null)),
46528
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1145 => _1145.modelLabel]), () => ( modelLabel)), () => ( null)),
46529
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1146 => _1146.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1147 => _1147.contextWindowMaxTokens]))), () => ( null)),
46530
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1148 => _1148.inputTokensSize]), () => ( null)),
46531
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1149 => _1149.outputTokensSize]), () => ( null)),
46523
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1142 => _1142.provider]), () => ( modelProvider)), () => ( null)),
46524
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1143 => _1143.modelLabel]), () => ( modelLabel)), () => ( null)),
46525
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1144 => _1144.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1145 => _1145.contextWindowMaxTokens]))), () => ( null)),
46526
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1146 => _1146.inputTokensSize]), () => ( null)),
46527
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1147 => _1147.outputTokensSize]), () => ( null)),
46532
46528
  currentCacheHitRatePct: null,
46533
46529
  currentUsageBreakdown: null,
46534
46530
  // Dialog management
@@ -46776,7 +46772,7 @@ function extractIncompleteMessageState(lastMessage) {
46776
46772
  break;
46777
46773
  case "approval_batch": {
46778
46774
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
46779
- (c) => _optionalChain([segment, 'access', _1150 => _1150.data, 'access', _1151 => _1151.executions, 'optionalAccess', _1152 => _1152[c.toolExecutionRequestId], 'optionalAccess', _1153 => _1153.status]) === "done"
46775
+ (c) => _optionalChain([segment, 'access', _1148 => _1148.data, 'access', _1149 => _1149.executions, 'optionalAccess', _1150 => _1150[c.toolExecutionRequestId], 'optionalAccess', _1151 => _1151.status]) === "done"
46780
46776
  );
46781
46777
  if (segment.status !== "rejected" && !allDone) {
46782
46778
  hasIncompleteState = true;
@@ -46844,20 +46840,20 @@ function mergeHistoryWithRealtime(input) {
46844
46840
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
46845
46841
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
46846
46842
  const trailing = processedHistory[processedHistory.length - 1];
46847
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1154 => _1154.role]) === "assistant" ? trailing : null;
46848
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1155 => _1155.content, 'access', _1156 => _1156.find, 'call', _1157 => _1157((s) => s.type === "approval_batch"), 'optionalAccess', _1158 => _1158.data, 'optionalAccess', _1159 => _1159.approvalRequestId]), () => ( null)) : null;
46843
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1152 => _1152.role]) === "assistant" ? trailing : null;
46844
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1153 => _1153.content, 'access', _1154 => _1154.find, 'call', _1155 => _1155((s) => s.type === "approval_batch"), 'optionalAccess', _1156 => _1156.data, 'optionalAccess', _1157 => _1157.approvalRequestId]), () => ( null)) : null;
46849
46845
  let processedToUse = processedHistory;
46850
46846
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
46851
46847
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
46852
46848
  if (historyBatchId) {
46853
46849
  const batchTwins = existingMessages.filter(
46854
46850
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
46855
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1160 => _1160.data, 'optionalAccess', _1161 => _1161.approvalRequestId]) === historyBatchId
46851
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1158 => _1158.data, 'optionalAccess', _1159 => _1159.approvalRequestId]) === historyBatchId
46856
46852
  )
46857
46853
  );
46858
46854
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
46859
46855
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
46860
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1162 => _1162.content])) ? historyTrailingAssistant.content.length : 0;
46856
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1160 => _1160.content])) ? historyTrailingAssistant.content.length : 0;
46861
46857
  const realtimeSize = existingWithSameBatch.content.length;
46862
46858
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
46863
46859
  processedToUse = processedHistory.slice(0, -1);
@@ -46873,16 +46869,16 @@ function mergeHistoryWithRealtime(input) {
46873
46869
  if (pinnedSyntheticIds.has(m.id)) return true;
46874
46870
  if (droppedSyntheticIds.has(m.id)) return false;
46875
46871
  if (processedIds.has(m.id)) return false;
46876
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1163 => _1163.has, 'call', _1164 => _1164(m.id)])) return false;
46872
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1161 => _1161.has, 'call', _1162 => _1162(m.id)])) return false;
46877
46873
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
46878
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1165 => _1165.timestamp, 'optionalAccess', _1166 => _1166.getTime, 'call', _1167 => _1167()]), () => ( 0))) <= historyFetchedAt;
46874
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1163 => _1163.timestamp, 'optionalAccess', _1164 => _1164.getTime, 'call', _1165 => _1165()]), () => ( 0))) <= historyFetchedAt;
46879
46875
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
46880
46876
  }
46881
46877
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
46882
46878
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
46883
46879
  return false;
46884
46880
  }
46885
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1168 => _1168.timestamp, 'optionalAccess', _1169 => _1169.getTime, 'call', _1170 => _1170()]), () => ( 0))) <= historyFetchedAt;
46881
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1166 => _1166.timestamp, 'optionalAccess', _1167 => _1167.getTime, 'call', _1168 => _1168()]), () => ( 0))) <= historyFetchedAt;
46886
46882
  if (covered) return false;
46887
46883
  }
46888
46884
  return true;
@@ -47102,7 +47098,7 @@ function useChatDialogManager({
47102
47098
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
47103
47099
  if (restoreTarget) {
47104
47100
  try {
47105
- await _optionalChain([unarchiveDialog, 'optionalCall', _1171 => _1171(restoreTarget.id)]);
47101
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1169 => _1169(restoreTarget.id)]);
47106
47102
  } catch (err) {
47107
47103
  console.error("[useChatDialogManager] unarchive failed:", err);
47108
47104
  return;
@@ -47206,7 +47202,7 @@ function SourceChip({
47206
47202
  onClose,
47207
47203
  onDiscuss
47208
47204
  }) {
47209
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
47205
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
47210
47206
  const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
47211
47207
  const cta = resolveSourceRowCTA(
47212
47208
  {
@@ -47442,7 +47438,7 @@ function EmbeddableChatInner({
47442
47438
  renderMention
47443
47439
  }) {
47444
47440
  const shellLess = shell === "none";
47445
- const runtime = _chunkL6PSSIUQcjs.useRequiredChatRuntime.call(void 0, );
47441
+ const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
47446
47442
  const source = _nullishCoalesce(runtime.source, () => ( ""));
47447
47443
  const commandsUrl = runtime.endpoints.commandsUrl;
47448
47444
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
@@ -47510,7 +47506,7 @@ function EmbeddableChatInner({
47510
47506
  }),
47511
47507
  [commandsUrl]
47512
47508
  );
47513
- const userName = _optionalChain([identityUser, 'optionalAccess', _1172 => _1172.firstName, 'optionalAccess', _1173 => _1173.trim, 'call', _1174 => _1174()]) || _optionalChain([identityUser, 'optionalAccess', _1175 => _1175.name, 'optionalAccess', _1176 => _1176.split, 'call', _1177 => _1177(" "), 'access', _1178 => _1178[0], 'optionalAccess', _1179 => _1179.trim, 'call', _1180 => _1180()]) || void 0;
47509
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1170 => _1170.firstName, 'optionalAccess', _1171 => _1171.trim, 'call', _1172 => _1172()]) || _optionalChain([identityUser, 'optionalAccess', _1173 => _1173.name, 'optionalAccess', _1174 => _1174.split, 'call', _1175 => _1175(" "), 'access', _1176 => _1176[0], 'optionalAccess', _1177 => _1177.trim, 'call', _1178 => _1178()]) || void 0;
47514
47510
  const effectiveModes = _react.useMemo.call(void 0, () => {
47515
47511
  if (modes) return modes;
47516
47512
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -47519,17 +47515,17 @@ function EmbeddableChatInner({
47519
47515
  const mingoCaps = _react.useMemo.call(void 0, () => {
47520
47516
  if (mingoState) {
47521
47517
  return {
47522
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1181 => _1181.canRename]), () => ( false)),
47523
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1182 => _1182.canArchive]), () => ( false)),
47524
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1183 => _1183.fetchArchivedDialogs]),
47525
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1184 => _1184.unarchiveDialog])
47518
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1179 => _1179.canRename]), () => ( false)),
47519
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1180 => _1180.canArchive]), () => ( false)),
47520
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1181 => _1181.fetchArchivedDialogs]),
47521
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1182 => _1182.unarchiveDialog])
47526
47522
  };
47527
47523
  }
47528
47524
  return {
47529
- canRename: !!_optionalChain([effectiveModes, 'access', _1185 => _1185.mingo, 'optionalAccess', _1186 => _1186.renameDialog]),
47530
- canArchive: !!_optionalChain([effectiveModes, 'access', _1187 => _1187.mingo, 'optionalAccess', _1188 => _1188.archiveDialog]),
47531
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1189 => _1189.mingo, 'optionalAccess', _1190 => _1190.fetchArchivedDialogs]),
47532
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1191 => _1191.mingo, 'optionalAccess', _1192 => _1192.unarchiveDialog])
47525
+ canRename: !!_optionalChain([effectiveModes, 'access', _1183 => _1183.mingo, 'optionalAccess', _1184 => _1184.renameDialog]),
47526
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1185 => _1185.mingo, 'optionalAccess', _1186 => _1186.archiveDialog]),
47527
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1187 => _1187.mingo, 'optionalAccess', _1188 => _1188.fetchArchivedDialogs]),
47528
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1189 => _1189.mingo, 'optionalAccess', _1190 => _1190.unarchiveDialog])
47533
47529
  };
47534
47530
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
47535
47531
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -47541,7 +47537,7 @@ function EmbeddableChatInner({
47541
47537
  if (controlledActiveMode === void 0) {
47542
47538
  setUncontrolledActiveMode(next);
47543
47539
  }
47544
- _optionalChain([onActiveModeChange, 'optionalCall', _1193 => _1193(next)]);
47540
+ _optionalChain([onActiveModeChange, 'optionalCall', _1191 => _1191(next)]);
47545
47541
  },
47546
47542
  [controlledActiveMode, onActiveModeChange]
47547
47543
  );
@@ -47595,7 +47591,7 @@ function EmbeddableChatInner({
47595
47591
  clear: clearAttachments
47596
47592
  } = useChatAttachments();
47597
47593
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
47598
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1194 => _1194.maxItems]), () => ( 10));
47594
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1192 => _1192.maxItems]), () => ( 10));
47599
47595
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
47600
47596
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
47601
47597
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -47612,9 +47608,9 @@ function EmbeddableChatInner({
47612
47608
  }, [activeDialogId, activeMode]);
47613
47609
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
47614
47610
  const m = /* @__PURE__ */ new Map();
47615
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1195 => _1195.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
47611
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1193 => _1193.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
47616
47612
  return m;
47617
- }, [_optionalChain([contextPicker, 'optionalAccess', _1196 => _1196.entityTypes])]);
47613
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1194 => _1194.entityTypes])]);
47618
47614
  const toggleContextItem = _react.useCallback.call(void 0,
47619
47615
  (item) => {
47620
47616
  const key = `${item.type}:${item.id}`;
@@ -47624,7 +47620,7 @@ function EmbeddableChatInner({
47624
47620
  );
47625
47621
  const grows = !alreadySelected && !mentionKeyRef.current;
47626
47622
  if (grows && contextItems.length >= contextMaxItems) return;
47627
- _optionalChain([chatInputRef, 'access', _1197 => _1197.current, 'optionalAccess', _1198 => _1198.commitMention, 'call', _1199 => _1199(mentionTokenOf(key, mentionMarkerByType))]);
47623
+ _optionalChain([chatInputRef, 'access', _1195 => _1195.current, 'optionalAccess', _1196 => _1196.commitMention, 'call', _1197 => _1197(mentionTokenOf(key, mentionMarkerByType))]);
47628
47624
  setContextItems((prev) => {
47629
47625
  const withoutPrevMention = mentionKeyRef.current ? prev.filter((p) => `${p.type}:${p.id}` !== mentionKeyRef.current) : prev;
47630
47626
  const deduped = withoutPrevMention.filter(
@@ -47649,9 +47645,9 @@ function EmbeddableChatInner({
47649
47645
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
47650
47646
  if (mentionKeyRef.current === key) {
47651
47647
  mentionKeyRef.current = null;
47652
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1200 => _1200.current, 'optionalAccess', _1201 => _1201.getValue, 'call', _1202 => _1202()]), () => ( ""));
47648
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1198 => _1198.current, 'optionalAccess', _1199 => _1199.getValue, 'call', _1200 => _1200()]), () => ( ""));
47653
47649
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
47654
- _optionalChain([chatInputRef, 'access', _1203 => _1203.current, 'optionalAccess', _1204 => _1204.setValue, 'call', _1205 => _1205(next)]);
47650
+ _optionalChain([chatInputRef, 'access', _1201 => _1201.current, 'optionalAccess', _1202 => _1202.setValue, 'call', _1203 => _1203(next)]);
47655
47651
  }
47656
47652
  }, [mentionMarkerByType]);
47657
47653
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -47668,7 +47664,7 @@ function EmbeddableChatInner({
47668
47664
  }, []);
47669
47665
  const closeContextPicker = _react.useCallback.call(void 0, () => {
47670
47666
  if (mentionActiveRef.current) {
47671
- _optionalChain([chatInputRef, 'access', _1206 => _1206.current, 'optionalAccess', _1207 => _1207.removeMentionTrigger, 'call', _1208 => _1208()]);
47667
+ _optionalChain([chatInputRef, 'access', _1204 => _1204.current, 'optionalAccess', _1205 => _1205.removeMentionTrigger, 'call', _1206 => _1206()]);
47672
47668
  }
47673
47669
  setContextPickerOpen(false);
47674
47670
  setMentionQuery(null);
@@ -47677,7 +47673,7 @@ function EmbeddableChatInner({
47677
47673
  setMentionQuery(query);
47678
47674
  setContextPickerOpen(query !== null);
47679
47675
  }, []);
47680
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1209 => _1209.entityTypes]);
47676
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1207 => _1207.entityTypes]);
47681
47677
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
47682
47678
  const byType = /* @__PURE__ */ new Map();
47683
47679
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -47855,9 +47851,9 @@ function EmbeddableChatInner({
47855
47851
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
47856
47852
  const lastSources = _react.useMemo.call(void 0, () => {
47857
47853
  if (chatLoading) return void 0;
47858
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1210 => _1210.sources]);
47854
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1208 => _1208.sources]);
47859
47855
  if (!sources || sources.length === 0) return void 0;
47860
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1211 => _1211.content]) || "";
47856
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1209 => _1209.content]) || "";
47861
47857
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
47862
47858
  (m) => parseInt(m[1], 10)
47863
47859
  );
@@ -47904,7 +47900,7 @@ function EmbeddableChatInner({
47904
47900
  ChatPanelHeader,
47905
47901
  {
47906
47902
  showBack: hasConversation || guideCanReturnToMingo,
47907
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1212 => _1212.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
47903
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1210 => _1210.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
47908
47904
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
47909
47905
  isArchivedView: isViewingArchived,
47910
47906
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -48011,7 +48007,7 @@ function EmbeddableChatInner({
48011
48007
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
48012
48008
  subtitleLoading: emptyStateLoading,
48013
48009
  ...guideWelcome,
48014
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1213 => _1213.quickActions]), () => ( guideSuggestedActions)),
48010
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1211 => _1211.quickActions]), () => ( guideSuggestedActions)),
48015
48011
  onQuickAction: (action) => {
48016
48012
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
48017
48013
  },
@@ -49075,4 +49071,4 @@ function EmbeddableChatInner({
49075
49071
 
49076
49072
 
49077
49073
  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;
49078
- //# sourceMappingURL=chunk-BL6XZ2XD.cjs.map
49074
+ //# sourceMappingURL=chunk-LXXZDZGG.cjs.map