@flamingo-stack/openframe-frontend-core 0.0.321 → 0.0.322

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 (90) hide show
  1. package/dist/{chunk-PDOTUMJC.cjs → chunk-27UIZKPP.cjs} +31 -31
  2. package/dist/{chunk-PDOTUMJC.cjs.map → chunk-27UIZKPP.cjs.map} +1 -1
  3. package/dist/{chunk-TFCGMQPK.cjs → chunk-2JFIPRZM.cjs} +25 -25
  4. package/dist/{chunk-TFCGMQPK.cjs.map → chunk-2JFIPRZM.cjs.map} +1 -1
  5. package/dist/{chunk-DEEBJBFQ.js → chunk-2L6XJRWU.js} +2 -2
  6. package/dist/{chunk-WCRJWZUA.js → chunk-2ZMEIVHB.js} +4 -4
  7. package/dist/{chunk-TV6VD6LP.js → chunk-3CUHOXPN.js} +4 -4
  8. package/dist/{chunk-J65CQLX6.js → chunk-3NOGHXE5.js} +2 -2
  9. package/dist/{chunk-CD56IAXU.cjs → chunk-6GHEXJ6H.cjs} +5 -5
  10. package/dist/{chunk-CD56IAXU.cjs.map → chunk-6GHEXJ6H.cjs.map} +1 -1
  11. package/dist/{chunk-WCCZGPPP.cjs → chunk-AOD7KNNL.cjs} +62 -62
  12. package/dist/{chunk-WCCZGPPP.cjs.map → chunk-AOD7KNNL.cjs.map} +1 -1
  13. package/dist/{chunk-MN2WQYXS.cjs → chunk-APGXPHP2.cjs} +15 -15
  14. package/dist/{chunk-MN2WQYXS.cjs.map → chunk-APGXPHP2.cjs.map} +1 -1
  15. package/dist/{chunk-FNK67HTC.js → chunk-HYW3BYDX.js} +2 -2
  16. package/dist/{chunk-6DH2TCRH.js → chunk-KFEIMA2T.js} +2 -2
  17. package/dist/{chunk-563D7EB2.js → chunk-KJNTCTV4.js} +4 -4
  18. package/dist/{chunk-NEY347ME.cjs → chunk-M5RW5ASP.cjs} +26 -26
  19. package/dist/{chunk-NEY347ME.cjs.map → chunk-M5RW5ASP.cjs.map} +1 -1
  20. package/dist/{chunk-Y2TJ64S5.cjs → chunk-MQFGEYOG.cjs} +12 -12
  21. package/dist/{chunk-Y2TJ64S5.cjs.map → chunk-MQFGEYOG.cjs.map} +1 -1
  22. package/dist/{chunk-TPJJJ6KC.js → chunk-MQHD6CTN.js} +145 -90
  23. package/dist/chunk-MQHD6CTN.js.map +1 -0
  24. package/dist/{chunk-7M3QIYFW.cjs → chunk-NCFCQWMH.cjs} +56 -56
  25. package/dist/{chunk-7M3QIYFW.cjs.map → chunk-NCFCQWMH.cjs.map} +1 -1
  26. package/dist/{chunk-GAQAPTBU.cjs → chunk-NTEAD4ZM.cjs} +37 -37
  27. package/dist/{chunk-GAQAPTBU.cjs.map → chunk-NTEAD4ZM.cjs.map} +1 -1
  28. package/dist/{chunk-VNWWOPIY.js → chunk-PZYSR23M.js} +2 -2
  29. package/dist/{chunk-HALW7FPF.js → chunk-S3X2KEFA.js} +2 -2
  30. package/dist/{chunk-ZFER75HU.cjs → chunk-S6W5YPAB.cjs} +9 -9
  31. package/dist/{chunk-ZFER75HU.cjs.map → chunk-S6W5YPAB.cjs.map} +1 -1
  32. package/dist/{chunk-7C5G45KU.cjs → chunk-UFUOM6ZT.cjs} +732 -677
  33. package/dist/chunk-UFUOM6ZT.cjs.map +1 -0
  34. package/dist/{chunk-V4U7ASRM.js → chunk-WQ4OIM4E.js} +2 -2
  35. package/dist/{chunk-BRERE4E5.js → chunk-XF3GIE5U.js} +4 -4
  36. package/dist/{chunk-5HQIFRRE.cjs → chunk-YKIU2GXU.cjs} +7 -7
  37. package/dist/{chunk-5HQIFRRE.cjs.map → chunk-YKIU2GXU.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/embeddable-chat.d.ts +2 -0
  41. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  42. package/dist/components/chat/index.cjs +2 -2
  43. package/dist/components/chat/index.js +1 -1
  44. package/dist/components/chat/mingo-chat-history.d.ts +11 -2
  45. package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
  46. package/dist/components/chat/mingo-welcome.d.ts +5 -1
  47. package/dist/components/chat/mingo-welcome.d.ts.map +1 -1
  48. package/dist/components/contact/index.cjs +3 -3
  49. package/dist/components/contact/index.js +2 -2
  50. package/dist/components/docs/index.cjs +5 -5
  51. package/dist/components/docs/index.js +4 -4
  52. package/dist/components/embeds/index.cjs +3 -3
  53. package/dist/components/embeds/index.js +2 -2
  54. package/dist/components/faq/index.cjs +3 -3
  55. package/dist/components/faq/index.js +2 -2
  56. package/dist/components/features/index.cjs +2 -2
  57. package/dist/components/features/index.js +1 -1
  58. package/dist/components/help-center-pages/index.cjs +20 -20
  59. package/dist/components/help-center-pages/index.js +11 -11
  60. package/dist/components/index.cjs +120 -120
  61. package/dist/components/index.js +9 -9
  62. package/dist/components/navigation/index.cjs +2 -2
  63. package/dist/components/navigation/index.js +1 -1
  64. package/dist/components/onboarding-guides/index.cjs +5 -5
  65. package/dist/components/onboarding-guides/index.js +4 -4
  66. package/dist/components/related-content/index.cjs +3 -3
  67. package/dist/components/related-content/index.js +2 -2
  68. package/dist/components/tickets/index.cjs +5 -5
  69. package/dist/components/tickets/index.js +4 -4
  70. package/dist/components/ui/index.cjs +2 -2
  71. package/dist/components/ui/index.js +1 -1
  72. package/dist/index.cjs +2 -2
  73. package/dist/index.js +1 -1
  74. package/package.json +1 -1
  75. package/src/components/chat/embeddable-chat.tsx +15 -1
  76. package/src/components/chat/mingo-chat-history.tsx +136 -53
  77. package/src/components/chat/mingo-welcome.tsx +6 -1
  78. package/dist/chunk-7C5G45KU.cjs.map +0 -1
  79. package/dist/chunk-TPJJJ6KC.js.map +0 -1
  80. /package/dist/{chunk-DEEBJBFQ.js.map → chunk-2L6XJRWU.js.map} +0 -0
  81. /package/dist/{chunk-WCRJWZUA.js.map → chunk-2ZMEIVHB.js.map} +0 -0
  82. /package/dist/{chunk-TV6VD6LP.js.map → chunk-3CUHOXPN.js.map} +0 -0
  83. /package/dist/{chunk-J65CQLX6.js.map → chunk-3NOGHXE5.js.map} +0 -0
  84. /package/dist/{chunk-FNK67HTC.js.map → chunk-HYW3BYDX.js.map} +0 -0
  85. /package/dist/{chunk-6DH2TCRH.js.map → chunk-KFEIMA2T.js.map} +0 -0
  86. /package/dist/{chunk-563D7EB2.js.map → chunk-KJNTCTV4.js.map} +0 -0
  87. /package/dist/{chunk-VNWWOPIY.js.map → chunk-PZYSR23M.js.map} +0 -0
  88. /package/dist/{chunk-HALW7FPF.js.map → chunk-S3X2KEFA.js.map} +0 -0
  89. /package/dist/{chunk-V4U7ASRM.js.map → chunk-WQ4OIM4E.js.map} +0 -0
  90. /package/dist/{chunk-BRERE4E5.js.map → chunk-XF3GIE5U.js.map} +0 -0
@@ -6143,12 +6143,15 @@ function MingoChatHistoryRow({
6143
6143
  }
6144
6144
  );
6145
6145
  }
6146
- function MingoChatHistorySkeleton({ className }) {
6146
+ function MingoChatHistorySkeleton({
6147
+ className,
6148
+ searchable = false
6149
+ }) {
6147
6150
  const groups = [
6148
6151
  { withBadge: 2, widths: ["w-3/5", "w-4/5", "w-2/5", "w-3/4"] },
6149
6152
  { withBadge: 0, widths: ["w-1/2", "w-3/5", "w-2/3"] }
6150
6153
  ];
6151
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6154
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6152
6155
  "div",
6153
6156
  {
6154
6157
  "aria-hidden": true,
@@ -6156,20 +6159,51 @@ function MingoChatHistorySkeleton({ className }) {
6156
6159
  "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-hidden",
6157
6160
  className
6158
6161
  ),
6159
- children: groups.map((group, g) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
6160
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 animate-pulse rounded bg-ods-border" }),
6161
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.widths.map((w, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6162
- "div",
6163
- {
6164
- className: "flex h-12 items-center gap-[var(--spacing-system-xsf)] bg-ods-bg border-b border-ods-border px-[var(--spacing-system-s)] last:border-b-0",
6165
- children: [
6166
- i < group.withBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 shrink-0 animate-pulse rounded-md bg-ods-border" }),
6167
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "h-4 animate-pulse rounded bg-ods-border", w) })
6168
- ]
6169
- },
6170
- i
6171
- )) })
6172
- ] }, g))
6162
+ children: [
6163
+ searchable && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-11 md:h-12 shrink-0 items-center gap-2 rounded-[6px] border border-ods-border bg-ods-card px-3", children: [
6164
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "size-4 md:size-6 shrink-0 animate-pulse rounded bg-ods-border" }),
6165
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-4 w-32 animate-pulse rounded bg-ods-border" })
6166
+ ] }),
6167
+ groups.map((group, g) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-xxs)]", children: [
6168
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-3 w-16 animate-pulse rounded bg-ods-border" }),
6169
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.widths.map((w, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6170
+ "div",
6171
+ {
6172
+ className: "flex h-12 items-center gap-[var(--spacing-system-xsf)] bg-ods-bg border-b border-ods-border px-[var(--spacing-system-s)] last:border-b-0",
6173
+ children: [
6174
+ i < group.withBadge && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 shrink-0 animate-pulse rounded-md bg-ods-border" }),
6175
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "h-4 animate-pulse rounded bg-ods-border", w) })
6176
+ ]
6177
+ },
6178
+ i
6179
+ )) })
6180
+ ] }, g))
6181
+ ]
6182
+ }
6183
+ );
6184
+ }
6185
+ function DialogSearchBar({
6186
+ initialValue,
6187
+ onSearchChange
6188
+ }) {
6189
+ const [value, setValue] = React13.useState(_nullishCoalesce(initialValue, () => ( "")));
6190
+ const debounced = _chunk27IO7V3Pcjs.useDebounce.call(void 0, value, 300);
6191
+ const lastEmitted = React13.useRef(_nullishCoalesce(initialValue, () => ( "")));
6192
+ React13.useEffect(() => {
6193
+ if (debounced === lastEmitted.current) return;
6194
+ lastEmitted.current = debounced;
6195
+ onSearchChange(debounced);
6196
+ }, [debounced, onSearchChange]);
6197
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6198
+ _chunkQJGRP2YEcjs.Input,
6199
+ {
6200
+ type: "text",
6201
+ value,
6202
+ onChange: (e) => setValue(e.target.value),
6203
+ placeholder: "Search for Chats",
6204
+ "aria-label": "Search chats",
6205
+ startAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}),
6206
+ className: "shrink-0"
6173
6207
  }
6174
6208
  );
6175
6209
  }
@@ -6179,12 +6213,15 @@ function MingoChatHistory({
6179
6213
  onSelectDialog,
6180
6214
  onRequestRename,
6181
6215
  onRequestArchive,
6216
+ searchQuery,
6217
+ onSearchChange,
6182
6218
  hasMore = false,
6183
6219
  isLoadingMore = false,
6184
6220
  onLoadMore,
6185
6221
  className
6186
6222
  }) {
6187
6223
  const groups = React13.useMemo(() => groupDialogs(dialogs), [dialogs]);
6224
+ const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _98 => _98.trim, 'call', _99 => _99()]);
6188
6225
  const scrollRef = React13.useRef(null);
6189
6226
  const [fade, setFade] = React13.useState({ top: false, bottom: false });
6190
6227
  const updateFade = React13.useCallback(() => {
@@ -6215,7 +6252,7 @@ function MingoChatHistory({
6215
6252
  const io = new IntersectionObserver(
6216
6253
  ([entry]) => {
6217
6254
  if (entry.isIntersecting && !isLoadingMoreRef.current) {
6218
- _optionalChain([onLoadMoreRef, 'access', _98 => _98.current, 'optionalCall', _99 => _99()]);
6255
+ _optionalChain([onLoadMoreRef, 'access', _100 => _100.current, 'optionalCall', _101 => _101()]);
6219
6256
  }
6220
6257
  },
6221
6258
  { root, rootMargin: "120px", threshold: 0.1 }
@@ -6223,65 +6260,68 @@ function MingoChatHistory({
6223
6260
  io.observe(sentinel);
6224
6261
  return () => io.disconnect();
6225
6262
  }, [hasMore]);
6226
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative flex flex-1 min-h-0 flex-col", className), children: [
6227
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6228
- "div",
6229
- {
6230
- ref: scrollRef,
6231
- onScroll: updateFade,
6232
- className: "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-y-auto",
6233
- children: [
6234
- groups.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6235
- "div",
6236
- {
6237
- className: "flex flex-col gap-[var(--spacing-system-xxs)]",
6238
- children: [
6239
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: group.label }),
6240
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.items.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6241
- MingoChatHistoryRow,
6242
- {
6243
- dialog,
6244
- isActive: dialog.id === activeDialogId,
6245
- onSelect: onSelectDialog,
6246
- onRequestRename,
6247
- onRequestArchive
6248
- },
6249
- dialog.id
6250
- )) })
6251
- ]
6252
- },
6253
- group.key
6254
- )),
6255
- hasMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-px shrink-0" }) : null
6256
- ]
6257
- }
6258
- ),
6259
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6260
- "div",
6261
- {
6262
- "aria-hidden": true,
6263
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
6264
- "pointer-events-none absolute inset-x-0 top-0 h-12 transition-opacity duration-150",
6265
- fade.top ? "opacity-100" : "opacity-0"
6266
- ),
6267
- style: {
6268
- background: "linear-gradient(0deg, transparent 0%, var(--color-bg-card) 100%)"
6263
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "relative flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)]", className), children: [
6264
+ onSearchChange ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DialogSearchBar, { initialValue: searchQuery, onSearchChange }) : null,
6265
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
6266
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6267
+ "div",
6268
+ {
6269
+ ref: scrollRef,
6270
+ onScroll: updateFade,
6271
+ className: "flex flex-1 min-h-0 flex-col gap-[var(--spacing-system-m)] overflow-y-auto",
6272
+ children: [
6273
+ noSearchResults ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "py-[var(--spacing-system-m)] text-center text-h5 text-ods-text-secondary", children: "No chats found" }) : groups.map((group) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6274
+ "div",
6275
+ {
6276
+ className: "flex flex-col gap-[var(--spacing-system-xxs)]",
6277
+ children: [
6278
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 text-ods-text-secondary", children: group.label }),
6279
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden rounded-md border border-ods-border", children: group.items.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6280
+ MingoChatHistoryRow,
6281
+ {
6282
+ dialog,
6283
+ isActive: dialog.id === activeDialogId,
6284
+ onSelect: onSelectDialog,
6285
+ onRequestRename,
6286
+ onRequestArchive
6287
+ },
6288
+ dialog.id
6289
+ )) })
6290
+ ]
6291
+ },
6292
+ group.key
6293
+ )),
6294
+ hasMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-px shrink-0" }) : null
6295
+ ]
6269
6296
  }
6270
- }
6271
- ),
6272
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6273
- "div",
6274
- {
6275
- "aria-hidden": true,
6276
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
6277
- "pointer-events-none absolute inset-x-0 bottom-0 h-12 transition-opacity duration-150",
6278
- fade.bottom ? "opacity-100" : "opacity-0"
6279
- ),
6280
- style: {
6281
- background: "linear-gradient(180deg, transparent 0%, var(--color-bg-card) 100%)"
6297
+ ),
6298
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6299
+ "div",
6300
+ {
6301
+ "aria-hidden": true,
6302
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
6303
+ "pointer-events-none absolute inset-x-0 top-0 h-12 transition-opacity duration-150",
6304
+ fade.top ? "opacity-100" : "opacity-0"
6305
+ ),
6306
+ style: {
6307
+ background: "linear-gradient(0deg, transparent 0%, var(--color-bg-card) 100%)"
6308
+ }
6282
6309
  }
6283
- }
6284
- )
6310
+ ),
6311
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6312
+ "div",
6313
+ {
6314
+ "aria-hidden": true,
6315
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
6316
+ "pointer-events-none absolute inset-x-0 bottom-0 h-12 transition-opacity duration-150",
6317
+ fade.bottom ? "opacity-100" : "opacity-0"
6318
+ ),
6319
+ style: {
6320
+ background: "linear-gradient(180deg, transparent 0%, var(--color-bg-card) 100%)"
6321
+ }
6322
+ }
6323
+ )
6324
+ ] })
6285
6325
  ] });
6286
6326
  }
6287
6327
 
@@ -6330,6 +6370,7 @@ function MingoWelcome({
6330
6370
  isLoadingHistory = false,
6331
6371
  loadError = false,
6332
6372
  onRetry,
6373
+ historySearchable = false,
6333
6374
  onStartGuideChat,
6334
6375
  className
6335
6376
  }) {
@@ -6401,7 +6442,7 @@ function MingoWelcome({
6401
6442
  children: "Try again"
6402
6443
  }
6403
6444
  )
6404
- ] }) : isLoadingHistory ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoChatHistorySkeleton, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
6445
+ ] }) : isLoadingHistory ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoChatHistorySkeleton, { searchable: historySearchable }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex flex-1 min-h-0 flex-col", children: [
6405
6446
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6406
6447
  "div",
6407
6448
  {
@@ -6558,7 +6599,7 @@ function GuideWelcome({
6558
6599
  () => quickActions.map((action) => ({
6559
6600
  id: action.id,
6560
6601
  label: action.label,
6561
- onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _100 => _100(action)])
6602
+ onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _102 => _102(action)])
6562
6603
  })),
6563
6604
  [quickActions, onQuickAction]
6564
6605
  );
@@ -6999,7 +7040,7 @@ function ChatDialogModals({
6999
7040
  RenameChatModal,
7000
7041
  {
7001
7042
  isOpen: renameTarget != null,
7002
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _101 => _101.title]), () => ( "")),
7043
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _103 => _103.title]), () => ( "")),
7003
7044
  onClose: () => setRenameTarget(null),
7004
7045
  onSave: onConfirmRename
7005
7046
  }
@@ -7263,7 +7304,7 @@ function ChatAttachmentAddButton({
7263
7304
  const canAddMore = slotsAvailable > 0 && !disabled;
7264
7305
  const handlePick = () => {
7265
7306
  if (!canAddMore) return;
7266
- _optionalChain([fileInputRef, 'access', _102 => _102.current, 'optionalAccess', _103 => _103.click, 'call', _104 => _104()]);
7307
+ _optionalChain([fileInputRef, 'access', _104 => _104.current, 'optionalAccess', _105 => _105.click, 'call', _106 => _106()]);
7267
7308
  };
7268
7309
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7269
7310
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -7629,7 +7670,7 @@ function ChatComposer({
7629
7670
  }) {
7630
7671
  const contextEnabled = !!contextPicker && !archived;
7631
7672
  const selected = _nullishCoalesce(selectedContextItems, () => ( []));
7632
- const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _105 => _105.entityTypes]);
7673
+ const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _107 => _107.entityTypes]);
7633
7674
  const iconByType = React23.useMemo(() => {
7634
7675
  const map = /* @__PURE__ */ new Map();
7635
7676
  for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
@@ -7658,7 +7699,7 @@ function ChatComposer({
7658
7699
  startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7659
7700
  ChatComposerPlusMenu,
7660
7701
  {
7661
- onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _106 => _106()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _107 => _107()]),
7702
+ onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _108 => _108()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _109 => _109()]),
7662
7703
  open: contextPickerOpen,
7663
7704
  disabled: attachmentsDisabled,
7664
7705
  dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -7667,8 +7708,8 @@ function ChatComposer({
7667
7708
  open: contextPickerOpen,
7668
7709
  config: contextPicker,
7669
7710
  selectedItems: selected,
7670
- onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _108 => _108(item)]),
7671
- onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _109 => _109()]),
7711
+ onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _110 => _110(item)]),
7712
+ onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _111 => _111()]),
7672
7713
  mentionQuery
7673
7714
  }
7674
7715
  ) : void 0
@@ -7873,8 +7914,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
7873
7914
  var DialogListItem = _react.forwardRef.call(void 0,
7874
7915
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
7875
7916
  const handleClick = (e) => {
7876
- _optionalChain([onDialogSelect, 'optionalCall', _110 => _110(dialog.id)]);
7877
- _optionalChain([onClick, 'optionalCall', _111 => _111(e)]);
7917
+ _optionalChain([onDialogSelect, 'optionalCall', _112 => _112(dialog.id)]);
7918
+ _optionalChain([onClick, 'optionalCall', _113 => _113(e)]);
7878
7919
  };
7879
7920
  const formatTimestamp2 = (timestamp) => {
7880
7921
  if (!timestamp) return "";
@@ -7933,7 +7974,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
7933
7974
  (entries) => {
7934
7975
  const [entry] = entries;
7935
7976
  if (entry.isIntersecting && !isFetchingRef.current) {
7936
- _optionalChain([onLoadMoreRef, 'access', _112 => _112.current, 'optionalCall', _113 => _113()]);
7977
+ _optionalChain([onLoadMoreRef, 'access', _114 => _114.current, 'optionalCall', _115 => _115()]);
7937
7978
  }
7938
7979
  },
7939
7980
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -8049,7 +8090,7 @@ function isSameOriginAbsoluteHref(href) {
8049
8090
  function computeIsNewTab(runtime, href, targetPlatform) {
8050
8091
  if (!href) return false;
8051
8092
  if (runtime.navigation.mode === "embed") return !isSameOriginAbsoluteHref(href);
8052
- return _nullishCoalesce(_optionalChain([runtime, 'access', _114 => _114.navigation, 'access', _115 => _115.decideNewTab, 'optionalCall', _116 => _116({ href, targetPlatform })]), () => ( decideNewTab({
8093
+ return _nullishCoalesce(_optionalChain([runtime, 'access', _116 => _116.navigation, 'access', _117 => _117.decideNewTab, 'optionalCall', _118 => _118({ href, targetPlatform })]), () => ( decideNewTab({
8053
8094
  href,
8054
8095
  targetPlatform,
8055
8096
  currentSource: _nullishCoalesce(runtime.source, () => ( ""))
@@ -8113,7 +8154,7 @@ function resolveExternalNavigation(args) {
8113
8154
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
8114
8155
  const isNewTab = runtime ? computeIsNewTab(runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
8115
8156
  if (isNewTab) {
8116
- if (_optionalChain([runtime, 'optionalAccess', _117 => _117.navigation, 'access', _118 => _118.openExternal])) runtime.navigation.openExternal(href);
8157
+ if (_optionalChain([runtime, 'optionalAccess', _119 => _119.navigation, 'access', _120 => _120.openExternal])) runtime.navigation.openExternal(href);
8117
8158
  else window.open(href, "_blank", NEW_TAB_FEATURES);
8118
8159
  return;
8119
8160
  }
@@ -8121,7 +8162,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
8121
8162
  if (target.includes("#") && _chunk27IO7V3Pcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunk27IO7V3Pcjs.STICKY_HEADER_OFFSET_PX })) {
8122
8163
  return;
8123
8164
  }
8124
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _119 => _119.navigation, 'access', _120 => _120.navigate, 'optionalCall', _121 => _121({ href, path, targetPlatform })]), () => ( false));
8165
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _121 => _121.navigation, 'access', _122 => _122.navigate, 'optionalCall', _123 => _123({ href, path, targetPlatform })]), () => ( false));
8125
8166
  if (!handled) {
8126
8167
  if (fallbackNavigate) fallbackNavigate(target);
8127
8168
  else window.location.assign(target);
@@ -8186,7 +8227,7 @@ function NavLinkAnchorViaRuntime({
8186
8227
  path,
8187
8228
  targetPlatform
8188
8229
  }, router.push);
8189
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _122 => _122.closeChat])) panel.closeChat();
8230
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _124 => _124.closeChat])) panel.closeChat();
8190
8231
  };
8191
8232
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8192
8233
  "a",
@@ -8311,7 +8352,7 @@ function EntityAuthorCard({
8311
8352
  renderEmptyAuthor = false,
8312
8353
  className
8313
8354
  }) {
8314
- const hasAuthor = !!_optionalChain([author, 'optionalAccess', _123 => _123.full_name]);
8355
+ const hasAuthor = !!_optionalChain([author, 'optionalAccess', _125 => _125.full_name]);
8315
8356
  if (!hasAuthor && !renderEmptyAuthor) return null;
8316
8357
  const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
8317
8358
  const formatted = publishedAt ? formatDate(publishedAt) : "";
@@ -8647,8 +8688,8 @@ function AdminContentCard({
8647
8688
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['DM_Sans'] font-bold text-ods-text-primary text-[18px] leading-snug line-clamp-2 break-words", children: title }),
8648
8689
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
8649
8690
  summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-relaxed text-ods-text-secondary line-clamp-2", children: summary }),
8650
- (Number(_optionalChain([platforms, 'optionalAccess', _124 => _124.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
8651
- _optionalChain([platforms, 'optionalAccess', _125 => _125.map, 'call', _126 => _126((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8691
+ (Number(_optionalChain([platforms, 'optionalAccess', _126 => _126.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
8692
+ _optionalChain([platforms, 'optionalAccess', _127 => _127.map, 'call', _128 => _128((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8652
8693
  PlatformBadge,
8653
8694
  {
8654
8695
  platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
@@ -8704,8 +8745,8 @@ function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, classNa
8704
8745
  ) : null,
8705
8746
  meta: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8706
8747
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2 min-w-0", children: [
8707
- _optionalChain([entry, 'access', _127 => _127.author, 'optionalAccess', _128 => _128.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: _nullishCoalesce(getProxiedImageUrl2(entry.author.avatar_url), () => ( entry.author.avatar_url)), alt: "", className: "h-5 w-5 rounded-full object-cover shrink-0" }) : null,
8708
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(_optionalChain([entry, 'access', _129 => _129.author, 'optionalAccess', _130 => _130.full_name]), () => ( "")) })
8748
+ _optionalChain([entry, 'access', _129 => _129.author, 'optionalAccess', _130 => _130.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: _nullishCoalesce(getProxiedImageUrl2(entry.author.avatar_url), () => ( entry.author.avatar_url)), alt: "", className: "h-5 w-5 rounded-full object-cover shrink-0" }) : null,
8749
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(_optionalChain([entry, 'access', _131 => _131.author, 'optionalAccess', _132 => _132.full_name]), () => ( "")) })
8709
8750
  ] }),
8710
8751
  month ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: month }) : null
8711
8752
  ] }),
@@ -8790,7 +8831,7 @@ function fetchPriorityProp(priority) {
8790
8831
 
8791
8832
  if (typeof window !== "undefined") {
8792
8833
  const w = window;
8793
- if (!_optionalChain([w, 'access', _131 => _131.chrome, 'optionalAccess', _132 => _132.cast])) {
8834
+ if (!_optionalChain([w, 'access', _133 => _133.chrome, 'optionalAccess', _134 => _134.cast])) {
8794
8835
  w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
8795
8836
  }
8796
8837
  }
@@ -8980,7 +9021,7 @@ function YouTubeFacadeInner({
8980
9021
  const iframe = iframeRef.current;
8981
9022
  if (!iframe) return;
8982
9023
  function subscribe() {
8983
- _optionalChain([iframe, 'optionalAccess', _133 => _133.contentWindow, 'optionalAccess', _134 => _134.postMessage, 'call', _135 => _135(
9024
+ _optionalChain([iframe, 'optionalAccess', _135 => _135.contentWindow, 'optionalAccess', _136 => _136.postMessage, 'call', _137 => _137(
8984
9025
  '{"event":"listening"}',
8985
9026
  YT_NOCOOKIE_ORIGIN
8986
9027
  )]);
@@ -8998,13 +9039,13 @@ function YouTubeFacadeInner({
8998
9039
  return;
8999
9040
  }
9000
9041
  if (!payload || payload.event !== "infoDelivery") return;
9001
- const state = _optionalChain([payload, 'access', _136 => _136.info, 'optionalAccess', _137 => _137.playerState]);
9042
+ const state = _optionalChain([payload, 'access', _138 => _138.info, 'optionalAccess', _139 => _139.playerState]);
9002
9043
  if (typeof state !== "number") return;
9003
9044
  if (state === YT_STATE_PLAYING) {
9004
9045
  if (blurTimer !== null) return;
9005
9046
  blurTimer = setTimeout(() => {
9006
9047
  blurTimer = null;
9007
- _optionalChain([iframeRef, 'access', _138 => _138.current, 'optionalAccess', _139 => _139.blur, 'call', _140 => _140()]);
9048
+ _optionalChain([iframeRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.blur, 'call', _142 => _142()]);
9008
9049
  }, YT_PLAYING_BLUR_DELAY_MS);
9009
9050
  return;
9010
9051
  }
@@ -9610,7 +9651,7 @@ function ProductReleaseCard({
9610
9651
  changelogCounts
9611
9652
  }) {
9612
9653
  if (size === "lg") {
9613
- const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _141 => _141.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _142 => _142.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _143 => _143.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _144 => _144.breaking]), () => ( 0)));
9654
+ const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _143 => _143.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _144 => _144.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _145 => _145.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _146 => _146.breaking]), () => ( 0)));
9614
9655
  const valueCells = [
9615
9656
  releaseType && releaseTypeBadgeColor ? {
9616
9657
  value: releaseType.toUpperCase(),
@@ -9629,7 +9670,7 @@ function ProductReleaseCard({
9629
9670
  uppercase: false
9630
9671
  } : { value: "\u2014", label: "Released", uppercase: false }
9631
9672
  ];
9632
- const effectiveAuthor = _optionalChain([author, 'optionalAccess', _145 => _145.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
9673
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _147 => _147.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
9633
9674
  const gridColsClass = "md:grid-cols-4";
9634
9675
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
9635
9676
  const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -10042,10 +10083,10 @@ function buildProductReleaseCardProps(item) {
10042
10083
  job_title: release.author.job_title
10043
10084
  } : void 0,
10044
10085
  changelogCounts: {
10045
- features: _nullishCoalesce(_optionalChain([release, 'access', _146 => _146.features_added, 'optionalAccess', _147 => _147.length]), () => ( 0)),
10046
- fixes: _nullishCoalesce(_optionalChain([release, 'access', _148 => _148.bugs_fixed, 'optionalAccess', _149 => _149.length]), () => ( 0)),
10047
- improvements: _nullishCoalesce(_optionalChain([release, 'access', _150 => _150.improvements, 'optionalAccess', _151 => _151.length]), () => ( 0)),
10048
- breaking: _nullishCoalesce(_optionalChain([release, 'access', _152 => _152.breaking_changes, 'optionalAccess', _153 => _153.length]), () => ( 0))
10086
+ features: _nullishCoalesce(_optionalChain([release, 'access', _148 => _148.features_added, 'optionalAccess', _149 => _149.length]), () => ( 0)),
10087
+ fixes: _nullishCoalesce(_optionalChain([release, 'access', _150 => _150.bugs_fixed, 'optionalAccess', _151 => _151.length]), () => ( 0)),
10088
+ improvements: _nullishCoalesce(_optionalChain([release, 'access', _152 => _152.improvements, 'optionalAccess', _153 => _153.length]), () => ( 0)),
10089
+ breaking: _nullishCoalesce(_optionalChain([release, 'access', _154 => _154.breaking_changes, 'optionalAccess', _155 => _155.length]), () => ( 0))
10049
10090
  }
10050
10091
  };
10051
10092
  }
@@ -10173,7 +10214,7 @@ function BlogCard({
10173
10214
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
10174
10215
  if (size === "sm") {
10175
10216
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric", timeZone: "UTC" }) : "";
10176
- const firstCategory = _optionalChain([post, 'access', _154 => _154.categories, 'optionalAccess', _155 => _155.find, 'call', _156 => _156((c) => c && c.name), 'optionalAccess', _157 => _157.name]);
10217
+ const firstCategory = _optionalChain([post, 'access', _156 => _156.categories, 'optionalAccess', _157 => _157.find, 'call', _158 => _158((c) => c && c.name), 'optionalAccess', _159 => _159.name]);
10177
10218
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10178
10219
  "a",
10179
10220
  {
@@ -10379,14 +10420,14 @@ function CaseStudyCard({
10379
10420
  "img",
10380
10421
  {
10381
10422
  src: coverImage,
10382
- alt: `${_optionalChain([study, 'access', _158 => _158.msp, 'optionalAccess', _159 => _159.name]) || study.title} cover`,
10423
+ alt: `${_optionalChain([study, 'access', _160 => _160.msp, 'optionalAccess', _161 => _161.name]) || study.title} cover`,
10383
10424
  className: "absolute inset-0 block w-full h-full object-contain",
10384
10425
  onError: hideOnError
10385
10426
  }
10386
10427
  ) : null }),
10387
10428
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
10388
10429
  /* @__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 }) }),
10389
- /* @__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', _160 => _160.msp, 'optionalAccess', _161 => _161.name]), _optionalChain([study, 'access', _162 => _162.user, 'optionalAccess', _163 => _163.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
10430
+ /* @__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', _162 => _162.msp, 'optionalAccess', _163 => _163.name]), _optionalChain([study, 'access', _164 => _164.user, 'optionalAccess', _165 => _165.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
10390
10431
  /* @__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 }) })
10391
10432
  ] })
10392
10433
  ] });
@@ -10396,7 +10437,7 @@ function CaseStudyCard({
10396
10437
  _chunkXL4V2PYGcjs.next_image_default,
10397
10438
  {
10398
10439
  src: coverImage,
10399
- alt: _optionalChain([study, 'access', _164 => _164.msp, 'optionalAccess', _165 => _165.name]) || study.title,
10440
+ alt: _optionalChain([study, 'access', _166 => _166.msp, 'optionalAccess', _167 => _167.name]) || study.title,
10400
10441
  className: "w-full h-full object-cover",
10401
10442
  sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
10402
10443
  fill: true,
@@ -10407,18 +10448,18 @@ function CaseStudyCard({
10407
10448
  /* @__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 }) }),
10408
10449
  /* @__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: [
10409
10450
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
10410
- _optionalChain([study, 'access', _166 => _166.user, 'optionalAccess', _167 => _167.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10451
+ _optionalChain([study, 'access', _168 => _168.user, 'optionalAccess', _169 => _169.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10411
10452
  _chunkXL4V2PYGcjs.next_image_default,
10412
10453
  {
10413
10454
  src: study.user.avatar_url,
10414
- alt: _optionalChain([study, 'access', _168 => _168.user, 'optionalAccess', _169 => _169.full_name]) || "User",
10455
+ alt: _optionalChain([study, 'access', _170 => _170.user, 'optionalAccess', _171 => _171.full_name]) || "User",
10415
10456
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
10416
10457
  width: 48,
10417
10458
  height: 48,
10418
10459
  unoptimized: true
10419
10460
  }
10420
- ) : /* @__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', _170 => _170.user, 'optionalAccess', _171 => _171.full_name]) || "A").charAt(0).toUpperCase() }) }),
10421
- _optionalChain([study, 'access', _172 => _172.msp, 'optionalAccess', _173 => _173.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,
10461
+ ) : /* @__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', _172 => _172.user, 'optionalAccess', _173 => _173.full_name]) || "A").charAt(0).toUpperCase() }) }),
10462
+ _optionalChain([study, 'access', _174 => _174.msp, 'optionalAccess', _175 => _175.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,
10422
10463
  _chunkXL4V2PYGcjs.next_image_default,
10423
10464
  {
10424
10465
  src: study.msp.icon_url,
@@ -10432,13 +10473,13 @@ function CaseStudyCard({
10432
10473
  ] }),
10433
10474
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
10434
10475
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
10435
- _optionalChain([study, 'access', _174 => _174.user, 'optionalAccess', _175 => _175.full_name]) || "Anonymous",
10436
- _optionalChain([study, 'access', _176 => _176.msp, 'optionalAccess', _177 => _177.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10476
+ _optionalChain([study, 'access', _176 => _176.user, 'optionalAccess', _177 => _177.full_name]) || "Anonymous",
10477
+ _optionalChain([study, 'access', _178 => _178.msp, 'optionalAccess', _179 => _179.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10437
10478
  " \u2022 ",
10438
10479
  study.msp.name
10439
10480
  ] })
10440
10481
  ] }),
10441
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _178 => _178.user, 'optionalAccess', _179 => _179.job_title]) || "\xA0" })
10482
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _180 => _180.user, 'optionalAccess', _181 => _181.job_title]) || "\xA0" })
10442
10483
  ] })
10443
10484
  ] }) })
10444
10485
  ] }) });
@@ -10521,7 +10562,7 @@ function CustomerInterviewCard({
10521
10562
  ] }),
10522
10563
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
10523
10564
  /* @__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 }) }),
10524
- /* @__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', _180 => _180.user, 'optionalAccess', _181 => _181.full_name]), _optionalChain([interview, 'access', _182 => _182.msp, 'optionalAccess', _183 => _183.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
10565
+ /* @__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', _182 => _182.user, 'optionalAccess', _183 => _183.full_name]), _optionalChain([interview, 'access', _184 => _184.msp, 'optionalAccess', _185 => _185.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
10525
10566
  /* @__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 }) })
10526
10567
  ] })
10527
10568
  ] });
@@ -10543,15 +10584,15 @@ function CustomerInterviewCard({
10543
10584
  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 }) }),
10544
10585
  /* @__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: [
10545
10586
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
10546
- _optionalChain([interview, 'access', _184 => _184.user, 'optionalAccess', _185 => _185.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10587
+ _optionalChain([interview, 'access', _186 => _186.user, 'optionalAccess', _187 => _187.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10547
10588
  "img",
10548
10589
  {
10549
10590
  src: interview.user.avatar_url,
10550
- alt: _optionalChain([interview, 'access', _186 => _186.user, 'optionalAccess', _187 => _187.full_name]) || "Customer",
10591
+ alt: _optionalChain([interview, 'access', _188 => _188.user, 'optionalAccess', _189 => _189.full_name]) || "Customer",
10551
10592
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
10552
10593
  }
10553
- ) : /* @__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', _188 => _188.user, 'optionalAccess', _189 => _189.full_name]) || "A").charAt(0).toUpperCase() }) }),
10554
- _optionalChain([interview, 'access', _190 => _190.msp, 'optionalAccess', _191 => _191.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,
10594
+ ) : /* @__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', _190 => _190.user, 'optionalAccess', _191 => _191.full_name]) || "A").charAt(0).toUpperCase() }) }),
10595
+ _optionalChain([interview, 'access', _192 => _192.msp, 'optionalAccess', _193 => _193.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,
10555
10596
  "img",
10556
10597
  {
10557
10598
  src: interview.msp.icon_url,
@@ -10562,13 +10603,13 @@ function CustomerInterviewCard({
10562
10603
  ] }),
10563
10604
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
10564
10605
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
10565
- _optionalChain([interview, 'access', _192 => _192.user, 'optionalAccess', _193 => _193.full_name]) || "Anonymous",
10566
- _optionalChain([interview, 'access', _194 => _194.msp, 'optionalAccess', _195 => _195.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10606
+ _optionalChain([interview, 'access', _194 => _194.user, 'optionalAccess', _195 => _195.full_name]) || "Anonymous",
10607
+ _optionalChain([interview, 'access', _196 => _196.msp, 'optionalAccess', _197 => _197.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10567
10608
  " \u2022 ",
10568
10609
  interview.msp.name
10569
10610
  ] })
10570
10611
  ] }),
10571
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _196 => _196.user, 'optionalAccess', _197 => _197.job_title]) || " " })
10612
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _198 => _198.user, 'optionalAccess', _199 => _199.job_title]) || " " })
10572
10613
  ] })
10573
10614
  ] }) })
10574
10615
  ] }) });
@@ -10581,7 +10622,7 @@ function CustomerInterviewCard({
10581
10622
  function formatInvestorUpdatePeriod(start, end, options) {
10582
10623
  if (!start && !end) return "";
10583
10624
  const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
10584
- month: _optionalChain([options, 'optionalAccess', _198 => _198.monthFormat]) || "short",
10625
+ month: _optionalChain([options, 'optionalAccess', _200 => _200.monthFormat]) || "short",
10585
10626
  year: "numeric",
10586
10627
  // Pin to UTC so SSR (Vercel = UTC) and the client agree (React #418).
10587
10628
  timeZone: "UTC"
@@ -10673,7 +10714,7 @@ function InvestorUpdateCard({
10673
10714
  imageUrl: update.featured_image,
10674
10715
  placeholderUrl,
10675
10716
  title: update.title || `Update #${update.update_number || "?"}`,
10676
- summary: _optionalChain([update, 'access', _199 => _199.strategic_update, 'optionalAccess', _200 => _200.slice, 'call', _201 => _201(0, 120)]) || _optionalChain([update, 'access', _202 => _202.content, 'optionalAccess', _203 => _203.slice, 'call', _204 => _204(0, 120)]) || "No description",
10717
+ summary: _optionalChain([update, 'access', _201 => _201.strategic_update, 'optionalAccess', _202 => _202.slice, 'call', _203 => _203(0, 120)]) || _optionalChain([update, 'access', _204 => _204.content, 'optionalAccess', _205 => _205.slice, 'call', _206 => _206(0, 120)]) || "No description",
10677
10718
  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: [
10678
10719
  "#",
10679
10720
  update.update_number
@@ -10865,7 +10906,7 @@ function OnboardingGuideCard({
10865
10906
  const compactCover = coverImage || placeholderUrl || null;
10866
10907
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
10867
10908
  const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
10868
- const author = _optionalChain([guide, 'access', _205 => _205.author, 'optionalAccess', _206 => _206.full_name, 'optionalAccess', _207 => _207.trim, 'call', _208 => _208()]) || "";
10909
+ const author = _optionalChain([guide, 'access', _207 => _207.author, 'optionalAccess', _208 => _208.full_name, 'optionalAccess', _209 => _209.trim, 'call', _210 => _210()]) || "";
10869
10910
  const subtitleParts = [
10870
10911
  `Step ${guide.step_order}`,
10871
10912
  guide.section,
@@ -11238,7 +11279,7 @@ function AutocompleteInner(props, ref) {
11238
11279
  if (!isInputControlled) {
11239
11280
  setInternalInputValue(value);
11240
11281
  }
11241
- _optionalChain([onInputChange, 'optionalCall', _209 => _209(value, reason)]);
11282
+ _optionalChain([onInputChange, 'optionalCall', _211 => _211(value, reason)]);
11242
11283
  };
11243
11284
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
11244
11285
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
@@ -11266,8 +11307,8 @@ function AutocompleteInner(props, ref) {
11266
11307
  if (!showHiddenTags) return;
11267
11308
  const handleClick = (e) => {
11268
11309
  const target = e.target;
11269
- const inButton = _optionalChain([hiddenTagsRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.contains, 'call', _212 => _212(target)]);
11270
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _213 => _213.current, 'optionalAccess', _214 => _214.contains, 'call', _215 => _215(target)]);
11310
+ const inButton = _optionalChain([hiddenTagsRef, 'access', _212 => _212.current, 'optionalAccess', _213 => _213.contains, 'call', _214 => _214(target)]);
11311
+ const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _215 => _215.current, 'optionalAccess', _216 => _216.contains, 'call', _217 => _217(target)]);
11271
11312
  if (!inButton && !inPopup) {
11272
11313
  setShowHiddenTags(false);
11273
11314
  }
@@ -11311,7 +11352,7 @@ function AutocompleteInner(props, ref) {
11311
11352
  }
11312
11353
  updateInputValue("", "reset");
11313
11354
  setIsOpen(false);
11314
- _optionalChain([onCreateOption, 'optionalCall', _216 => _216(trimmed)]);
11355
+ _optionalChain([onCreateOption, 'optionalCall', _218 => _218(trimmed)]);
11315
11356
  };
11316
11357
  _react.useEffect.call(void 0, () => {
11317
11358
  setHighlightedIndex(-1);
@@ -11335,7 +11376,7 @@ function AutocompleteInner(props, ref) {
11335
11376
  props.onChange([...valueArray, option.value]);
11336
11377
  }
11337
11378
  updateInputValue("", "reset");
11338
- _optionalChain([autoLimitTags, 'access', _217 => _217.inputRef, 'access', _218 => _218.current, 'optionalAccess', _219 => _219.focus, 'call', _220 => _220()]);
11379
+ _optionalChain([autoLimitTags, 'access', _219 => _219.inputRef, 'access', _220 => _220.current, 'optionalAccess', _221 => _221.focus, 'call', _222 => _222()]);
11339
11380
  } else {
11340
11381
  ;
11341
11382
  props.onChange(option.value);
@@ -11356,7 +11397,7 @@ function AutocompleteInner(props, ref) {
11356
11397
  if (!isInputControlled) {
11357
11398
  setInternalInputValue("");
11358
11399
  }
11359
- _optionalChain([onInputChange, 'optionalCall', _221 => _221("", "clear")]);
11400
+ _optionalChain([onInputChange, 'optionalCall', _223 => _223("", "clear")]);
11360
11401
  setIsOpen(false);
11361
11402
  };
11362
11403
  const handleKeyDown = (e) => {
@@ -11430,7 +11471,7 @@ function AutocompleteInner(props, ref) {
11430
11471
  ),
11431
11472
  onClick: () => {
11432
11473
  if (!disabled) {
11433
- _optionalChain([autoLimitTags, 'access', _222 => _222.inputRef, 'access', _223 => _223.current, 'optionalAccess', _224 => _224.focus, 'call', _225 => _225()]);
11474
+ _optionalChain([autoLimitTags, 'access', _224 => _224.inputRef, 'access', _225 => _225.current, 'optionalAccess', _226 => _226.focus, 'call', _227 => _227()]);
11434
11475
  openDropdown();
11435
11476
  }
11436
11477
  },
@@ -11546,10 +11587,10 @@ function AutocompleteInner(props, ref) {
11546
11587
  align: "start",
11547
11588
  onOpenAutoFocus: (e) => {
11548
11589
  e.preventDefault();
11549
- _optionalChain([autoLimitTags, 'access', _226 => _226.inputRef, 'access', _227 => _227.current, 'optionalAccess', _228 => _228.focus, 'call', _229 => _229()]);
11590
+ _optionalChain([autoLimitTags, 'access', _228 => _228.inputRef, 'access', _229 => _229.current, 'optionalAccess', _230 => _230.focus, 'call', _231 => _231()]);
11550
11591
  },
11551
11592
  onInteractOutside: (e) => {
11552
- if (_optionalChain([containerRef, 'access', _230 => _230.current, 'optionalAccess', _231 => _231.contains, 'call', _232 => _232(e.target)])) {
11593
+ if (_optionalChain([containerRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.contains, 'call', _234 => _234(e.target)])) {
11553
11594
  e.preventDefault();
11554
11595
  }
11555
11596
  },
@@ -11942,7 +11983,7 @@ var defaultFormatDate = (date) => {
11942
11983
  });
11943
11984
  };
11944
11985
  var formatDateRange2 = (range, formatFn) => {
11945
- if (!_optionalChain([range, 'optionalAccess', _233 => _233.from])) return "";
11986
+ if (!_optionalChain([range, 'optionalAccess', _235 => _235.from])) return "";
11946
11987
  if (!range.to) return formatFn(range.from);
11947
11988
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
11948
11989
  };
@@ -11976,16 +12017,16 @@ function DatePickerCalendar({
11976
12017
  );
11977
12018
  const [hoveredDate, setHoveredDate] = React38.useState(void 0);
11978
12019
  const rangeSelected = draftRange;
11979
- const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _234 => _234.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _235 => _235.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
12020
+ const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _236 => _236.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _237 => _237.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
11980
12021
  const isPreviewDate = (date) => {
11981
- if (!_optionalChain([draftRange, 'optionalAccess', _236 => _236.from]) || draftRange.to || !hoveredDate) return false;
12022
+ if (!_optionalChain([draftRange, 'optionalAccess', _238 => _238.from]) || draftRange.to || !hoveredDate) return false;
11982
12023
  const start = Math.min(draftRange.from.getTime(), hoveredDate.getTime());
11983
12024
  const end = Math.max(draftRange.from.getTime(), hoveredDate.getTime());
11984
12025
  return date.getTime() >= start && date.getTime() <= end;
11985
12026
  };
11986
12027
  const handleRangeSelect = (triggerDate) => {
11987
12028
  if (!triggerDate) return;
11988
- if (!_optionalChain([draftRange, 'optionalAccess', _237 => _237.from]) || draftRange.to) {
12029
+ if (!_optionalChain([draftRange, 'optionalAccess', _239 => _239.from]) || draftRange.to) {
11989
12030
  setDraftRange({ from: triggerDate, to: void 0 });
11990
12031
  return;
11991
12032
  }
@@ -12045,7 +12086,7 @@ function DatePickerCalendar({
12045
12086
  range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
12046
12087
  };
12047
12088
  const [month, setMonth] = React38.useState(
12048
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _238 => _238.from]) || today
12089
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _240 => _240.from]) || today
12049
12090
  );
12050
12091
  const handlePreviousMonth = () => {
12051
12092
  setMonth((prev) => {
@@ -12277,14 +12318,14 @@ function DatePicker(props) {
12277
12318
  }, [props.mode, props.value, formatDate2]);
12278
12319
  const handleSelect = (value) => {
12279
12320
  if (props.mode === "single") {
12280
- _optionalChain([props, 'access', _239 => _239.onChange, 'optionalCall', _240 => _240(value)]);
12321
+ _optionalChain([props, 'access', _241 => _241.onChange, 'optionalCall', _242 => _242(value)]);
12281
12322
  if (value) {
12282
12323
  setOpen(false);
12283
12324
  }
12284
12325
  } else {
12285
12326
  const range = value;
12286
- _optionalChain([props, 'access', _241 => _241.onChange, 'optionalCall', _242 => _242(range)]);
12287
- if (_optionalChain([range, 'optionalAccess', _243 => _243.from]) && _optionalChain([range, 'optionalAccess', _244 => _244.to])) {
12327
+ _optionalChain([props, 'access', _243 => _243.onChange, 'optionalCall', _244 => _244(range)]);
12328
+ if (_optionalChain([range, 'optionalAccess', _245 => _245.from]) && _optionalChain([range, 'optionalAccess', _246 => _246.to])) {
12288
12329
  setOpen(false);
12289
12330
  }
12290
12331
  }
@@ -12391,7 +12432,7 @@ function DatePickerInput({
12391
12432
  if (newDate && value) {
12392
12433
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
12393
12434
  }
12394
- _optionalChain([onChange, 'optionalCall', _245 => _245(newDate)]);
12435
+ _optionalChain([onChange, 'optionalCall', _247 => _247(newDate)]);
12395
12436
  if (newDate) {
12396
12437
  setOpen(false);
12397
12438
  }
@@ -12408,12 +12449,12 @@ function DatePickerInput({
12408
12449
  }
12409
12450
  }
12410
12451
  date.setHours(hours);
12411
- _optionalChain([onChange, 'optionalCall', _246 => _246(date)]);
12452
+ _optionalChain([onChange, 'optionalCall', _248 => _248(date)]);
12412
12453
  };
12413
12454
  const handleMinuteChange = (newMinute) => {
12414
12455
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
12415
12456
  date.setMinutes(parseInt(newMinute, 10));
12416
- _optionalChain([onChange, 'optionalCall', _247 => _247(date)]);
12457
+ _optionalChain([onChange, 'optionalCall', _249 => _249(date)]);
12417
12458
  };
12418
12459
  const handlePeriodChange = (newPeriod) => {
12419
12460
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -12424,7 +12465,7 @@ function DatePickerInput({
12424
12465
  hours += 12;
12425
12466
  }
12426
12467
  date.setHours(hours);
12427
- _optionalChain([onChange, 'optionalCall', _248 => _248(date)]);
12468
+ _optionalChain([onChange, 'optionalCall', _250 => _250(date)]);
12428
12469
  };
12429
12470
  const hourOptions = React38.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
12430
12471
  const minuteOptions = React38.useMemo(() => generateMinuteOptions(), []);
@@ -12585,7 +12626,7 @@ function DatePickerInputSimple({
12585
12626
  if (newDate && value) {
12586
12627
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
12587
12628
  }
12588
- _optionalChain([onChange, 'optionalCall', _249 => _249(newDate)]);
12629
+ _optionalChain([onChange, 'optionalCall', _251 => _251(newDate)]);
12589
12630
  if (newDate) {
12590
12631
  setOpen(false);
12591
12632
  }
@@ -12594,7 +12635,7 @@ function DatePickerInputSimple({
12594
12635
  const [hours, minutes] = newTime.split(":").map(Number);
12595
12636
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
12596
12637
  date.setHours(hours, minutes, 0, 0);
12597
- _optionalChain([onChange, 'optionalCall', _250 => _250(date)]);
12638
+ _optionalChain([onChange, 'optionalCall', _252 => _252(date)]);
12598
12639
  };
12599
12640
  const timeOptions = React38.useMemo(
12600
12641
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -12688,7 +12729,7 @@ function DurationInput({ value, onChange, invalid, className }) {
12688
12729
  setSegments((prev) => compose(prev) === value ? prev : split(value));
12689
12730
  }, [value]);
12690
12731
  const focusSegment = (i) => {
12691
- const el = _optionalChain([refs, 'access', _251 => _251[i], 'optionalAccess', _252 => _252.current]);
12732
+ const el = _optionalChain([refs, 'access', _253 => _253[i], 'optionalAccess', _254 => _254.current]);
12692
12733
  if (!el) return;
12693
12734
  el.focus();
12694
12735
  el.select();
@@ -13178,7 +13219,7 @@ var NoData = React112.default.forwardRef(function NoData2({
13178
13219
  ...props
13179
13220
  }, ref) {
13180
13221
  const hasMessage = !!(icon || title || description);
13181
- const hasActions = !!_optionalChain([actions, 'optionalAccess', _253 => _253.length]);
13222
+ const hasActions = !!_optionalChain([actions, 'optionalAccess', _255 => _255.length]);
13182
13223
  const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13183
13224
  _chunkQJGRP2YEcjs.Button,
13184
13225
  {
@@ -13186,7 +13227,7 @@ var NoData = React112.default.forwardRef(function NoData2({
13186
13227
  leftIcon: buttonIcon,
13187
13228
  onClick: onButtonClick,
13188
13229
  ...buttonProps,
13189
- className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _254 => _254.className])),
13230
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _256 => _256.className])),
13190
13231
  children: buttonLabel
13191
13232
  }
13192
13233
  ) : null)));
@@ -13421,7 +13462,7 @@ var Switch = React47.forwardRef(({ className, checked, onCheckedChange, ...props
13421
13462
  }, [checked]);
13422
13463
  const handleCheckedChange = (newChecked) => {
13423
13464
  setIsChecked(newChecked);
13424
- _optionalChain([onCheckedChange, 'optionalCall', _255 => _255(newChecked)]);
13465
+ _optionalChain([onCheckedChange, 'optionalCall', _257 => _257(newChecked)]);
13425
13466
  };
13426
13467
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13427
13468
  SwitchPrimitives.Root,
@@ -13630,7 +13671,7 @@ function TagsManager({
13630
13671
  const name = search.trim();
13631
13672
  if (!name) return;
13632
13673
  const result = await onCreateTag(name);
13633
- if (_optionalChain([result, 'optionalAccess', _256 => _256.id])) {
13674
+ if (_optionalChain([result, 'optionalAccess', _258 => _258.id])) {
13634
13675
  onChange([...selectedIds, result.id]);
13635
13676
  setSearch("");
13636
13677
  }
@@ -13638,7 +13679,7 @@ function TagsManager({
13638
13679
  const startEdit = React49.useCallback((id, name) => {
13639
13680
  setEditingId(id);
13640
13681
  setEditingName(name);
13641
- setTimeout(() => _optionalChain([editInputRef, 'access', _257 => _257.current, 'optionalAccess', _258 => _258.focus, 'call', _259 => _259()]), 0);
13682
+ setTimeout(() => _optionalChain([editInputRef, 'access', _259 => _259.current, 'optionalAccess', _260 => _260.focus, 'call', _261 => _261()]), 0);
13642
13683
  }, []);
13643
13684
  const confirmEdit = React49.useCallback(async () => {
13644
13685
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -13665,7 +13706,7 @@ function TagsManager({
13665
13706
  e.stopPropagation();
13666
13707
  onChange([]);
13667
13708
  setSearch("");
13668
- _optionalChain([inputRef, 'access', _260 => _260.current, 'optionalAccess', _261 => _261.focus, 'call', _262 => _262()]);
13709
+ _optionalChain([inputRef, 'access', _262 => _262.current, 'optionalAccess', _263 => _263.focus, 'call', _264 => _264()]);
13669
13710
  },
13670
13711
  [onChange]
13671
13712
  );
@@ -13764,10 +13805,10 @@ function TagsManager({
13764
13805
  align: "start",
13765
13806
  onOpenAutoFocus: (e) => {
13766
13807
  e.preventDefault();
13767
- _optionalChain([inputRef, 'access', _263 => _263.current, 'optionalAccess', _264 => _264.focus, 'call', _265 => _265()]);
13808
+ _optionalChain([inputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]);
13768
13809
  },
13769
13810
  onInteractOutside: (e) => {
13770
- if (_optionalChain([containerRef, 'access', _266 => _266.current, 'optionalAccess', _267 => _267.contains, 'call', _268 => _268(e.target)])) {
13811
+ if (_optionalChain([containerRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.contains, 'call', _270 => _270(e.target)])) {
13771
13812
  e.preventDefault();
13772
13813
  }
13773
13814
  },
@@ -14052,7 +14093,7 @@ var Textarea = React50.forwardRef(
14052
14093
  "button",
14053
14094
  {
14054
14095
  type: "button",
14055
- "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _269 => _269["aria-label"]]), () => ( "Submit")),
14096
+ "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _271 => _271["aria-label"]]), () => ( "Submit")),
14056
14097
  ...endIconButtonProps,
14057
14098
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
14058
14099
  // `h-6` matches the textarea's `leading-6` line box so the icon's
@@ -14066,7 +14107,7 @@ var Textarea = React50.forwardRef(
14066
14107
  "cursor-pointer hover:text-ods-text-primary",
14067
14108
  "focus-visible:outline-none focus-visible:text-ods-accent",
14068
14109
  "disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
14069
- _optionalChain([endIconButtonProps, 'optionalAccess', _270 => _270.className])
14110
+ _optionalChain([endIconButtonProps, 'optionalAccess', _272 => _272.className])
14070
14111
  ),
14071
14112
  children: endIcon
14072
14113
  }
@@ -15303,19 +15344,19 @@ function TabNavigation({
15303
15344
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
15304
15345
  const getInitialTab = () => {
15305
15346
  if (isUrlSyncEnabled) {
15306
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _271 => _271.get, 'call', _272 => _272(paramName)]) || "";
15347
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _273 => _273.get, 'call', _274 => _274(paramName)]) || "";
15307
15348
  if (validTabIds.has(fromUrl)) {
15308
15349
  return fromUrl;
15309
15350
  }
15310
15351
  }
15311
- return defaultTab || _optionalChain([tabs, 'access', _273 => _273[0], 'optionalAccess', _274 => _274.id]) || "";
15352
+ return defaultTab || _optionalChain([tabs, 'access', _275 => _275[0], 'optionalAccess', _276 => _276.id]) || "";
15312
15353
  };
15313
15354
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
15314
15355
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
15315
15356
  _react.useEffect.call(void 0, () => {
15316
15357
  if (!isUrlSyncEnabled) return;
15317
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _275 => _275.get, 'call', _276 => _276(paramName)]) || "";
15318
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _277 => _277[0], 'optionalAccess', _278 => _278.id]) || "";
15358
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _277 => _277.get, 'call', _278 => _278(paramName)]) || "";
15359
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _279 => _279[0], 'optionalAccess', _280 => _280.id]) || "";
15319
15360
  if (nextTab !== internalActiveTab) {
15320
15361
  setInternalActiveTab(nextTab);
15321
15362
  }
@@ -15323,13 +15364,13 @@ function TabNavigation({
15323
15364
  const handleTabChange = (tabId) => {
15324
15365
  if (isUrlSyncEnabled) {
15325
15366
  setInternalActiveTab(tabId);
15326
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _279 => _279.toString, 'call', _280 => _280()]));
15367
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _281 => _281.toString, 'call', _282 => _282()]));
15327
15368
  params.set(paramName, tabId);
15328
15369
  const method = replaceState ? "replace" : "push";
15329
15370
  router[method](`${pathname}?${params.toString()}`);
15330
- _optionalChain([controlledOnTabChange, 'optionalCall', _281 => _281(tabId)]);
15371
+ _optionalChain([controlledOnTabChange, 'optionalCall', _283 => _283(tabId)]);
15331
15372
  } else {
15332
- _optionalChain([controlledOnTabChange, 'optionalCall', _282 => _282(tabId)]);
15373
+ _optionalChain([controlledOnTabChange, 'optionalCall', _284 => _284(tabId)]);
15333
15374
  }
15334
15375
  };
15335
15376
  const scrollRef = _react.useRef.call(void 0, null);
@@ -15417,7 +15458,7 @@ function TabNavigation({
15417
15458
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
15418
15459
  var getTabComponent = (tabs, tabId) => {
15419
15460
  const tab = getTabById(tabs, tabId);
15420
- return _optionalChain([tab, 'optionalAccess', _283 => _283.component]) || null;
15461
+ return _optionalChain([tab, 'optionalAccess', _285 => _285.component]) || null;
15421
15462
  };
15422
15463
 
15423
15464
  // src/components/ui/alert.tsx
@@ -15668,13 +15709,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
15668
15709
  errorData = await response.json();
15669
15710
  } catch (e19) {
15670
15711
  }
15671
- if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _284 => _284.error]) && _optionalChain([errorData, 'optionalAccess', _285 => _285.message])) {
15712
+ if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _286 => _286.error]) && _optionalChain([errorData, 'optionalAccess', _287 => _287.message])) {
15672
15713
  console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
15673
15714
  onError(errorData.message);
15674
15715
  onLoading(false);
15675
15716
  return;
15676
15717
  }
15677
- if (_optionalChain([errorData, 'optionalAccess', _286 => _286.error])) {
15718
+ if (_optionalChain([errorData, 'optionalAccess', _288 => _288.error])) {
15678
15719
  throw new Error(`Server error: ${errorData.error}`);
15679
15720
  }
15680
15721
  throw new Error(`Server proxy failed: ${response.status}`);
@@ -16126,7 +16167,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16126
16167
  apiEndpoint: redditProxyUrl,
16127
16168
  dataValidator: validateRedditData,
16128
16169
  onDataUpdate: (data) => {
16129
- if (_optionalChain([data, 'access', _287 => _287[0], 'optionalAccess', _288 => _288.data, 'optionalAccess', _289 => _289.children, 'optionalAccess', _290 => _290[0], 'optionalAccess', _291 => _291.data])) {
16170
+ if (_optionalChain([data, 'access', _289 => _289[0], 'optionalAccess', _290 => _290.data, 'optionalAccess', _291 => _291.children, 'optionalAccess', _292 => _292[0], 'optionalAccess', _293 => _293.data])) {
16130
16171
  setRedditData(data[0].data.children[0].data);
16131
16172
  }
16132
16173
  },
@@ -16197,11 +16238,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16197
16238
  gallery_data: redditData.gallery_data,
16198
16239
  media_metadata: redditData.media_metadata
16199
16240
  });
16200
- const video = _optionalChain([redditData, 'access', _292 => _292.media, 'optionalAccess', _293 => _293.reddit_video]) || _optionalChain([redditData, 'access', _294 => _294.secure_media, 'optionalAccess', _295 => _295.reddit_video]);
16241
+ const video = _optionalChain([redditData, 'access', _294 => _294.media, 'optionalAccess', _295 => _295.reddit_video]) || _optionalChain([redditData, 'access', _296 => _296.secure_media, 'optionalAccess', _297 => _297.reddit_video]);
16201
16242
  if (video && video.fallback_url) {
16202
16243
  console.log("\u{1F4F9} Found Reddit video:", video);
16203
16244
  let posterUrl = "";
16204
- if (_optionalChain([redditData, 'access', _296 => _296.preview, 'optionalAccess', _297 => _297.images, 'optionalAccess', _298 => _298[0], 'optionalAccess', _299 => _299.source, 'optionalAccess', _300 => _300.url])) {
16245
+ if (_optionalChain([redditData, 'access', _298 => _298.preview, 'optionalAccess', _299 => _299.images, 'optionalAccess', _300 => _300[0], 'optionalAccess', _301 => _301.source, 'optionalAccess', _302 => _302.url])) {
16205
16246
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
16206
16247
  console.log("\u2705 Using preview image as video poster:", posterUrl);
16207
16248
  } else {
@@ -16254,7 +16295,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16254
16295
  return media;
16255
16296
  }
16256
16297
  }
16257
- if (_optionalChain([redditData, 'access', _301 => _301.preview, 'optionalAccess', _302 => _302.images, 'optionalAccess', _303 => _303[0]]) && !redditData.is_video) {
16298
+ if (_optionalChain([redditData, 'access', _303 => _303.preview, 'optionalAccess', _304 => _304.images, 'optionalAccess', _305 => _305[0]]) && !redditData.is_video) {
16258
16299
  const imageData = redditData.preview.images[0];
16259
16300
  console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
16260
16301
  let source = imageData.source;
@@ -16289,7 +16330,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16289
16330
  } else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
16290
16331
  console.log("\u{1F3AC} Found direct video URL");
16291
16332
  let posterUrl = "";
16292
- if (_optionalChain([redditData, 'access', _304 => _304.preview, 'optionalAccess', _305 => _305.images, 'optionalAccess', _306 => _306[0], 'optionalAccess', _307 => _307.source, 'optionalAccess', _308 => _308.url])) {
16333
+ if (_optionalChain([redditData, 'access', _306 => _306.preview, 'optionalAccess', _307 => _307.images, 'optionalAccess', _308 => _308[0], 'optionalAccess', _309 => _309.source, 'optionalAccess', _310 => _310.url])) {
16293
16334
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
16294
16335
  }
16295
16336
  media.push({
@@ -16302,7 +16343,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16302
16343
  });
16303
16344
  } else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
16304
16345
  console.log("\u{1F310} Found Imgur link");
16305
- const imgurId = _optionalChain([directUrl, 'access', _309 => _309.match, 'call', _310 => _310(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _311 => _311[1]]);
16346
+ const imgurId = _optionalChain([directUrl, 'access', _311 => _311.match, 'call', _312 => _312(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _313 => _313[1]]);
16306
16347
  if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
16307
16348
  media.push({
16308
16349
  type: "image",
@@ -16451,7 +16492,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16451
16492
  const [loading, setLoading] = _react.useState.call(void 0, true);
16452
16493
  const [error, setError] = _react.useState.call(void 0, null);
16453
16494
  const initializationDone = _react.useRef.call(void 0, false);
16454
- const extractedTweetId = tweetId || _optionalChain([url, 'access', _312 => _312.match, 'call', _313 => _313(/status\/(\d+)/), 'optionalAccess', _314 => _314[1]]);
16495
+ const extractedTweetId = tweetId || _optionalChain([url, 'access', _314 => _314.match, 'call', _315 => _315(/status\/(\d+)/), 'optionalAccess', _316 => _316[1]]);
16455
16496
  const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
16456
16497
  _react.useEffect.call(void 0, () => {
16457
16498
  if (initializationDone.current) return;
@@ -16518,10 +16559,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16518
16559
  const parser = new DOMParser();
16519
16560
  const doc = parser.parseFromString(tweetData.html, "text/html");
16520
16561
  const blockquote = doc.querySelector("blockquote");
16521
- const fullText = _optionalChain([blockquote, 'optionalAccess', _315 => _315.textContent]) || "";
16562
+ const fullText = _optionalChain([blockquote, 'optionalAccess', _317 => _317.textContent]) || "";
16522
16563
  const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
16523
16564
  const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
16524
- const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _316 => _316.querySelectorAll, 'call', _317 => _317("a")]) || []).map((link) => ({
16565
+ const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _318 => _318.querySelectorAll, 'call', _319 => _319("a")]) || []).map((link) => ({
16525
16566
  url: link.href,
16526
16567
  text: link.textContent || link.href
16527
16568
  })).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
@@ -16776,7 +16817,7 @@ var OGLinkPreview = ({
16776
16817
  const response = await fetch(endpoint);
16777
16818
  if (response.ok) {
16778
16819
  const data = await response.json();
16779
- if (_optionalChain([data, 'optionalAccess', _318 => _318.title]) && data.title !== "Link Preview Unavailable") {
16820
+ if (_optionalChain([data, 'optionalAccess', _320 => _320.title]) && data.title !== "Link Preview Unavailable") {
16780
16821
  setOgData(data);
16781
16822
  } else {
16782
16823
  setError(true);
@@ -16803,8 +16844,8 @@ var OGLinkPreview = ({
16803
16844
  type: "website",
16804
16845
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
16805
16846
  } : null)));
16806
- const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _319 => _319.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16807
- const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _320 => _320.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _321 => _321.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
16847
+ const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _321 => _321.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16848
+ const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _322 => _322.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _323 => _323.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
16808
16849
  const hasImage = !!resolvedImageUrl;
16809
16850
  const isFallbackImage = resolvedImageUrl === fallbackImage;
16810
16851
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
@@ -17050,9 +17091,9 @@ function toFigmaEmbedUrl(url, opts) {
17050
17091
  if (match2) {
17051
17092
  const [, urlType, fileKey, titleSlug, queryString] = match2;
17052
17093
  const isSlides = urlType === "slides" || urlType === "deck";
17053
- const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _322 => _322.slidesView]) === "browse" ? "slides" : "deck" : "design";
17094
+ const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _324 => _324.slidesView]) === "browse" ? "slides" : "deck" : "design";
17054
17095
  const pathSuffix = titleSlug ? `/${titleSlug}` : "";
17055
- const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _323 => _323.replace, 'call', _324 => _324(/^\?/, "")]) || "");
17096
+ const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _325 => _325.replace, 'call', _326 => _326(/^\?/, "")]) || "");
17056
17097
  if (!params.has("embed-host")) {
17057
17098
  params.set("embed-host", "flamingo");
17058
17099
  }
@@ -17133,7 +17174,7 @@ function EmbedIframe({
17133
17174
  allow,
17134
17175
  referrerPolicy,
17135
17176
  loading,
17136
- allowFullScreen: _optionalChain([allow, 'optionalAccess', _325 => _325.includes, 'call', _326 => _326("fullscreen")]) ? void 0 : allowFullScreen
17177
+ allowFullScreen: _optionalChain([allow, 'optionalAccess', _327 => _327.includes, 'call', _328 => _328("fullscreen")]) ? void 0 : allowFullScreen
17137
17178
  },
17138
17179
  src
17139
17180
  )
@@ -17884,7 +17925,7 @@ var RichMarkdownInner = ({
17884
17925
  const extractText2 = (node) => {
17885
17926
  if (typeof node === "string") return node;
17886
17927
  if (Array.isArray(node)) return node.map(extractText2).join("");
17887
- if (_optionalChain([node, 'optionalAccess', _327 => _327.props, 'optionalAccess', _328 => _328.children])) return extractText2(node.props.children);
17928
+ if (_optionalChain([node, 'optionalAccess', _329 => _329.props, 'optionalAccess', _330 => _330.children])) return extractText2(node.props.children);
17888
17929
  return "";
17889
17930
  };
17890
17931
  const text = extractText2(children);
@@ -17900,7 +17941,7 @@ var RichMarkdownInner = ({
17900
17941
  const extractText2 = (node) => {
17901
17942
  if (typeof node === "string") return node;
17902
17943
  if (Array.isArray(node)) return node.map(extractText2).join("");
17903
- if (_optionalChain([node, 'optionalAccess', _329 => _329.props, 'optionalAccess', _330 => _330.children])) return extractText2(node.props.children);
17944
+ if (_optionalChain([node, 'optionalAccess', _331 => _331.props, 'optionalAccess', _332 => _332.children])) return extractText2(node.props.children);
17904
17945
  return "";
17905
17946
  };
17906
17947
  const text = extractText2(children);
@@ -17918,7 +17959,7 @@ var RichMarkdownInner = ({
17918
17959
  const extractText2 = (node) => {
17919
17960
  if (typeof node === "string") return node;
17920
17961
  if (Array.isArray(node)) return node.map(extractText2).join("");
17921
- if (_optionalChain([node, 'optionalAccess', _331 => _331.props, 'optionalAccess', _332 => _332.children])) return extractText2(node.props.children);
17962
+ if (_optionalChain([node, 'optionalAccess', _333 => _333.props, 'optionalAccess', _334 => _334.children])) return extractText2(node.props.children);
17922
17963
  return "";
17923
17964
  };
17924
17965
  const text = extractText2(children);
@@ -17936,7 +17977,7 @@ var RichMarkdownInner = ({
17936
17977
  const extractText2 = (node) => {
17937
17978
  if (typeof node === "string") return node;
17938
17979
  if (Array.isArray(node)) return node.map(extractText2).join("");
17939
- if (_optionalChain([node, 'optionalAccess', _333 => _333.props, 'optionalAccess', _334 => _334.children])) return extractText2(node.props.children);
17980
+ if (_optionalChain([node, 'optionalAccess', _335 => _335.props, 'optionalAccess', _336 => _336.children])) return extractText2(node.props.children);
17940
17981
  return "";
17941
17982
  };
17942
17983
  const text = extractText2(children);
@@ -17954,7 +17995,7 @@ var RichMarkdownInner = ({
17954
17995
  const extractText2 = (node) => {
17955
17996
  if (typeof node === "string") return node;
17956
17997
  if (Array.isArray(node)) return node.map(extractText2).join("");
17957
- if (_optionalChain([node, 'optionalAccess', _335 => _335.props, 'optionalAccess', _336 => _336.children])) return extractText2(node.props.children);
17998
+ if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
17958
17999
  return "";
17959
18000
  };
17960
18001
  const text = extractText2(children);
@@ -17972,7 +18013,7 @@ var RichMarkdownInner = ({
17972
18013
  const extractText2 = (node) => {
17973
18014
  if (typeof node === "string") return node;
17974
18015
  if (Array.isArray(node)) return node.map(extractText2).join("");
17975
- if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
18016
+ if (_optionalChain([node, 'optionalAccess', _339 => _339.props, 'optionalAccess', _340 => _340.children])) return extractText2(node.props.children);
17976
18017
  return "";
17977
18018
  };
17978
18019
  const text = extractText2(children);
@@ -18048,8 +18089,8 @@ var RichMarkdownInner = ({
18048
18089
  {
18049
18090
  href,
18050
18091
  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 || ""}`,
18051
- target: _optionalChain([href, 'optionalAccess', _339 => _339.startsWith, 'call', _340 => _340("http")]) ? "_blank" : void 0,
18052
- rel: _optionalChain([href, 'optionalAccess', _341 => _341.startsWith, 'call', _342 => _342("http")]) ? "noopener noreferrer" : void 0,
18092
+ target: _optionalChain([href, 'optionalAccess', _341 => _341.startsWith, 'call', _342 => _342("http")]) ? "_blank" : void 0,
18093
+ rel: _optionalChain([href, 'optionalAccess', _343 => _343.startsWith, 'call', _344 => _344("http")]) ? "noopener noreferrer" : void 0,
18053
18094
  children
18054
18095
  }
18055
18096
  );
@@ -18173,7 +18214,7 @@ function ReleaseChangelogSection({
18173
18214
  className: "overflow-hidden transition-[max-height] duration-500",
18174
18215
  style: {
18175
18216
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
18176
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _343 => _343.current, 'optionalAccess', _344 => _344.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
18217
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _345 => _345.current, 'optionalAccess', _346 => _346.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
18177
18218
  ...previewNeedsFade && !previewExpanded ? {
18178
18219
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
18179
18220
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -18610,16 +18651,16 @@ function FilterModal({
18610
18651
  };
18611
18652
  const handleReset = () => {
18612
18653
  onFilterChange({});
18613
- _optionalChain([onTagsChange, 'optionalCall', _345 => _345([])]);
18654
+ _optionalChain([onTagsChange, 'optionalCall', _347 => _347([])]);
18614
18655
  onClose();
18615
18656
  };
18616
18657
  const handleApply = () => {
18617
18658
  onFilterChange(selectedFilters);
18618
- _optionalChain([onTagsChange, 'optionalCall', _346 => _346(pendingTags)]);
18659
+ _optionalChain([onTagsChange, 'optionalCall', _348 => _348(pendingTags)]);
18619
18660
  onClose();
18620
18661
  };
18621
18662
  const getColumnDirection = (columnKey) => {
18622
- return _optionalChain([sortConfig, 'optionalAccess', _347 => _347.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
18663
+ return _optionalChain([sortConfig, 'optionalAccess', _349 => _349.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
18623
18664
  };
18624
18665
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
18625
18666
  const hasFilterGroups = filterGroups.length > 0;
@@ -18668,7 +18709,7 @@ function FilterModal({
18668
18709
  {
18669
18710
  column,
18670
18711
  currentDirection: getColumnDirection(column.key),
18671
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _348 => _348(column.key, direction)]),
18712
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _350 => _350(column.key, direction)]),
18672
18713
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
18673
18714
  },
18674
18715
  column.key
@@ -18846,7 +18887,7 @@ function IconButtonsVariant({
18846
18887
  }) {
18847
18888
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
18848
18889
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18849
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _349 => _349[0], 'access', _350 => _350.submenu, 'optionalAccess', _351 => _351.length]);
18890
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _351 => _351[0], 'access', _352 => _352.submenu, 'optionalAccess', _353 => _353.length]);
18850
18891
  const singleAction = isSingleAction ? actions[0] : null;
18851
18892
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
18852
18893
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -20002,7 +20043,7 @@ function getShellIcon(shellType) {
20002
20043
  if (!shellType) return void 0;
20003
20044
  const normalized = shellType.toUpperCase();
20004
20045
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
20005
- return _optionalChain([shellDef, 'optionalAccess', _352 => _352.icon]);
20046
+ return _optionalChain([shellDef, 'optionalAccess', _354 => _354.icon]);
20006
20047
  }
20007
20048
 
20008
20049
  // src/types/os.types.ts
@@ -20075,7 +20116,7 @@ function getOSIcon(osType) {
20075
20116
  const normalized = normalizeOSType(osType);
20076
20117
  if (!normalized) return void 0;
20077
20118
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
20078
- return _optionalChain([osTypeDef, 'optionalAccess', _353 => _353.icon]);
20119
+ return _optionalChain([osTypeDef, 'optionalAccess', _355 => _355.icon]);
20079
20120
  }
20080
20121
  function getOSTypeDefinition(osType) {
20081
20122
  if (!osType) return void 0;
@@ -20085,7 +20126,7 @@ function getOSTypeDefinition(osType) {
20085
20126
  }
20086
20127
  function getOSPlatformId(osType) {
20087
20128
  const osTypeDef = getOSTypeDefinition(osType);
20088
- return _optionalChain([osTypeDef, 'optionalAccess', _354 => _354.platformId]);
20129
+ return _optionalChain([osTypeDef, 'optionalAccess', _356 => _356.platformId]);
20089
20130
  }
20090
20131
  function isOSPlatform(deviceOS, targetPlatform) {
20091
20132
  if (!deviceOS || !targetPlatform) return false;
@@ -20178,10 +20219,10 @@ var GENERIC_EMAIL_DOMAINS = [
20178
20219
  ];
20179
20220
  function extractDomainFromEmail(email) {
20180
20221
  if (!email || !email.includes("@")) return null;
20181
- return _optionalChain([email, 'access', _355 => _355.split, 'call', _356 => _356("@"), 'access', _357 => _357[1], 'optionalAccess', _358 => _358.toLowerCase, 'call', _359 => _359()]) || null;
20222
+ return _optionalChain([email, 'access', _357 => _357.split, 'call', _358 => _358("@"), 'access', _359 => _359[1], 'optionalAccess', _360 => _360.toLowerCase, 'call', _361 => _361()]) || null;
20182
20223
  }
20183
20224
  function normalizeDomain(domain) {
20184
- return _optionalChain([domain, 'optionalAccess', _360 => _360.toLowerCase, 'call', _361 => _361(), 'access', _362 => _362.replace, 'call', _363 => _363(/^https?:\/\//, ""), 'access', _364 => _364.replace, 'call', _365 => _365(/^www\./, ""), 'access', _366 => _366.split, 'call', _367 => _367("/"), 'access', _368 => _368[0], 'access', _369 => _369.trim, 'call', _370 => _370()]) || "";
20225
+ return _optionalChain([domain, 'optionalAccess', _362 => _362.toLowerCase, 'call', _363 => _363(), 'access', _364 => _364.replace, 'call', _365 => _365(/^https?:\/\//, ""), 'access', _366 => _366.replace, 'call', _367 => _367(/^www\./, ""), 'access', _368 => _368.split, 'call', _369 => _369("/"), 'access', _370 => _370[0], 'access', _371 => _371.trim, 'call', _372 => _372()]) || "";
20185
20226
  }
20186
20227
  function isGenericDomain(domain) {
20187
20228
  const normalized = normalizeDomain(domain);
@@ -20615,7 +20656,7 @@ function defaultTableIdForDocumentType(documentType) {
20615
20656
 
20616
20657
  // src/utils/sse-decision-frame.ts
20617
20658
  async function readLeadingDecisionFrame(response) {
20618
- const reader = _optionalChain([response, 'access', _371 => _371.body, 'optionalAccess', _372 => _372.getReader, 'call', _373 => _373()]);
20659
+ const reader = _optionalChain([response, 'access', _373 => _373.body, 'optionalAccess', _374 => _374.getReader, 'call', _375 => _375()]);
20619
20660
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
20620
20661
  const decoder = new TextDecoder();
20621
20662
  let buffer = "";
@@ -20644,9 +20685,9 @@ async function readLeadingDecisionFrame(response) {
20644
20685
  );
20645
20686
  }
20646
20687
  const obj = parsed;
20647
- if (_optionalChain([obj, 'optionalAccess', _374 => _374.kind]) !== "decision_resolved") {
20688
+ if (_optionalChain([obj, 'optionalAccess', _376 => _376.kind]) !== "decision_resolved") {
20648
20689
  throw new Error(
20649
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _375 => _375.kind]))}`
20690
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _377 => _377.kind]))}`
20650
20691
  );
20651
20692
  }
20652
20693
  frame = normalizeDecisionFrame(obj);
@@ -20687,7 +20728,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20687
20728
  function buildAutoContinuationDirective(toolName, opts = {}) {
20688
20729
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20689
20730
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20690
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _376 => _376.status, 'optionalAccess', _377 => _377.toUpperCase, 'call', _378 => _378()]) === "CLOSED";
20731
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _378 => _378.status, 'optionalAccess', _379 => _379.toUpperCase, 'call', _380 => _380()]) === "CLOSED";
20691
20732
  if (toolName === "create_ticket") {
20692
20733
  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.`;
20693
20734
  }
@@ -20749,7 +20790,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20749
20790
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20750
20791
  }
20751
20792
  function extractEntityIdFilter(override, expectedTableId) {
20752
- const f = _optionalChain([override, 'optionalAccess', _379 => _379.entityIdFilter]);
20793
+ const f = _optionalChain([override, 'optionalAccess', _381 => _381.entityIdFilter]);
20753
20794
  if (!f) return null;
20754
20795
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20755
20796
  const id = typeof f.id === "string" ? f.id : "";
@@ -20824,7 +20865,7 @@ function getTaskTypeLabel(customItemId) {
20824
20865
 
20825
20866
  // src/components/chat/utils/agent-status-message.ts
20826
20867
  function getStatusColorScheme(status) {
20827
- const s = _optionalChain([status, 'optionalAccess', _380 => _380.toLowerCase, 'call', _381 => _381()]) || "";
20868
+ const s = _optionalChain([status, 'optionalAccess', _382 => _382.toLowerCase, 'call', _383 => _383()]) || "";
20828
20869
  switch (status) {
20829
20870
  case "completed":
20830
20871
  case "success":
@@ -21106,10 +21147,10 @@ var CONTENT_REF_GROUPS = {
21106
21147
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
21107
21148
  };
21108
21149
  function getContentRefLabel(type) {
21109
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _382 => _382[type], 'optionalAccess', _383 => _383.label]), () => ( null));
21150
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _384 => _384[type], 'optionalAccess', _385 => _385.label]), () => ( null));
21110
21151
  }
21111
21152
  function getContentRefLabelOrTitleCase(type) {
21112
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _384 => _384[type], 'optionalAccess', _385 => _385.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
21153
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _386 => _386[type], 'optionalAccess', _387 => _387.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
21113
21154
  }
21114
21155
  function orderContentRefTypes(present) {
21115
21156
  const presentSet = new Set(present);
@@ -21268,7 +21309,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
21268
21309
  const firstFolderWithReadme = structure.find(
21269
21310
  (node) => node.type === "folder" && node.hasReadme && !!node.path
21270
21311
  );
21271
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _386 => _386.path]), () => ( null));
21312
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _388 => _388.path]), () => ( null));
21272
21313
  }
21273
21314
 
21274
21315
  // src/utils/doc-path-utils.ts
@@ -21279,7 +21320,7 @@ function pathToNodeId(path) {
21279
21320
  return path.replace(/[\/\s]/g, "-").toLowerCase();
21280
21321
  }
21281
21322
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
21282
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _387 => _387.join, 'call', _388 => _388("/")]) || "").toLowerCase();
21323
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _389 => _389.join, 'call', _390 => _390("/")]) || "").toLowerCase();
21283
21324
  const lowerIndex = folderIndexFile.toLowerCase();
21284
21325
  const suffix = `/${lowerIndex}`;
21285
21326
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -22101,26 +22142,26 @@ function DeviceCard({
22101
22142
  ] }),
22102
22143
  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 })
22103
22144
  ] }),
22104
- _optionalChain([actions, 'access', _389 => _389.moreButton, 'optionalAccess', _390 => _390.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22145
+ _optionalChain([actions, 'access', _391 => _391.moreButton, 'optionalAccess', _392 => _392.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22105
22146
  "div",
22106
22147
  {
22107
22148
  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",
22108
22149
  onClick: (e) => {
22109
22150
  e.stopPropagation();
22110
- _optionalChain([actions, 'access', _391 => _391.moreButton, 'optionalAccess', _392 => _392.onClick, 'optionalCall', _393 => _393()]);
22151
+ _optionalChain([actions, 'access', _393 => _393.moreButton, 'optionalAccess', _394 => _394.onClick, 'optionalCall', _395 => _395()]);
22111
22152
  },
22112
22153
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
22113
22154
  }
22114
22155
  ),
22115
- _optionalChain([actions, 'access', _394 => _394.detailsButton, 'optionalAccess', _395 => _395.visible]) !== false && _optionalChain([actions, 'access', _396 => _396.detailsButton, 'optionalAccess', _397 => _397.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22116
- _optionalChain([actions, 'access', _398 => _398.customActions, 'optionalAccess', _399 => _399.map, 'call', _400 => _400(
22156
+ _optionalChain([actions, 'access', _396 => _396.detailsButton, 'optionalAccess', _397 => _397.visible]) !== false && _optionalChain([actions, 'access', _398 => _398.detailsButton, 'optionalAccess', _399 => _399.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22157
+ _optionalChain([actions, 'access', _400 => _400.customActions, 'optionalAccess', _401 => _401.map, 'call', _402 => _402(
22117
22158
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22118
22159
  "div",
22119
22160
  {
22120
22161
  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",
22121
22162
  onClick: (e) => {
22122
22163
  e.stopPropagation();
22123
- _optionalChain([action, 'access', _401 => _401.onClick, 'optionalCall', _402 => _402()]);
22164
+ _optionalChain([action, 'access', _403 => _403.onClick, 'optionalCall', _404 => _404()]);
22124
22165
  },
22125
22166
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22126
22167
  },
@@ -22620,7 +22661,7 @@ function MoreActionsMenu({
22620
22661
  ] });
22621
22662
  const handleActivate = (e) => {
22622
22663
  e.stopPropagation();
22623
- if (!item.disabled) _optionalChain([item, 'access', _403 => _403.onClick, 'optionalCall', _404 => _404()]);
22664
+ if (!item.disabled) _optionalChain([item, 'access', _405 => _405.onClick, 'optionalCall', _406 => _406()]);
22624
22665
  };
22625
22666
  if (item.href) {
22626
22667
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22687,7 +22728,7 @@ function OrganizationCard({
22687
22728
  const handleActionClick = (e) => {
22688
22729
  e.preventDefault();
22689
22730
  e.stopPropagation();
22690
- _optionalChain([actionButton, 'optionalAccess', _405 => _405.onClick, 'call', _406 => _406(organization, e)]);
22731
+ _optionalChain([actionButton, 'optionalAccess', _407 => _407.onClick, 'call', _408 => _408(organization, e)]);
22691
22732
  };
22692
22733
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22693
22734
  "div",
@@ -23593,10 +23634,10 @@ var getContentDimensions = (config) => {
23593
23634
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
23594
23635
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
23595
23636
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
23596
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _407 => _407.mobileContentDimensions, 'optionalAccess', _408 => _408.width]))), () => ( defaultMobile.width));
23597
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _409 => _409.mobileContentDimensions, 'optionalAccess', _410 => _410.height]))), () => ( defaultMobile.height));
23598
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _411 => _411.desktopContentDimensions, 'optionalAccess', _412 => _412.width]))), () => ( defaultDesktop.width));
23599
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _413 => _413.desktopContentDimensions, 'optionalAccess', _414 => _414.height]))), () => ( defaultDesktop.height));
23637
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _409 => _409.mobileContentDimensions, 'optionalAccess', _410 => _410.width]))), () => ( defaultMobile.width));
23638
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _411 => _411.mobileContentDimensions, 'optionalAccess', _412 => _412.height]))), () => ( defaultMobile.height));
23639
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _413 => _413.desktopContentDimensions, 'optionalAccess', _414 => _414.width]))), () => ( defaultDesktop.width));
23640
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _415 => _415.desktopContentDimensions, 'optionalAccess', _416 => _416.height]))), () => ( defaultDesktop.height));
23600
23641
  return {
23601
23642
  mobile: { width: mobileWidth, height: mobileHeight },
23602
23643
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -23730,7 +23771,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
23730
23771
  const contentDimensions = getContentDimensions(config);
23731
23772
  const mobileHeight = contentDimensions.mobile.height;
23732
23773
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
23733
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _415 => _415.innerHeight]) * 0.85 || 650)}px`;
23774
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _417 => _417.innerHeight]) * 0.85 || 650)}px`;
23734
23775
  })(),
23735
23776
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
23736
23777
  const contentDimensions = getContentDimensions(config);
@@ -23835,7 +23876,7 @@ var FigmaPrototypeViewer = ({
23835
23876
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
23836
23877
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
23837
23878
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
23838
- config.defaultSectionId || _optionalChain([config, 'access', _416 => _416.sections, 'access', _417 => _417[0], 'optionalAccess', _418 => _418.id]) || ""
23879
+ config.defaultSectionId || _optionalChain([config, 'access', _418 => _418.sections, 'access', _419 => _419[0], 'optionalAccess', _420 => _420.id]) || ""
23839
23880
  );
23840
23881
  const activeSection = externalActiveSection || internalActiveSection;
23841
23882
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -23925,7 +23966,7 @@ var FigmaPrototypeViewer = ({
23925
23966
  const handleMessage = (event) => {
23926
23967
  if (event.origin !== "https://www.figma.com") return;
23927
23968
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
23928
- if (_optionalChain([event, 'access', _419 => _419.data, 'optionalAccess', _420 => _420.type]) && validEvents.includes(event.data.type)) {
23969
+ if (_optionalChain([event, 'access', _421 => _421.data, 'optionalAccess', _422 => _422.type]) && validEvents.includes(event.data.type)) {
23929
23970
  const figmaEvent = event.data;
23930
23971
  console.log("[Figma Event]", figmaEvent.type, viewMode);
23931
23972
  switch (figmaEvent.type) {
@@ -23935,19 +23976,19 @@ var FigmaPrototypeViewer = ({
23935
23976
  setIframeState("READY");
23936
23977
  break;
23937
23978
  case "PRESENTED_NODE_CHANGED":
23938
- if (_optionalChain([figmaEvent, 'access', _421 => _421.data, 'optionalAccess', _422 => _422.presentedNodeId])) {
23979
+ if (_optionalChain([figmaEvent, 'access', _423 => _423.data, 'optionalAccess', _424 => _424.presentedNodeId])) {
23939
23980
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
23940
23981
  if (!isNavigating) {
23941
23982
  const matchingSection = config.sections.find((s) => {
23942
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _423 => _423.data, 'optionalAccess', _424 => _424.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _425 => _425.data, 'optionalAccess', _426 => _426.presentedNodeId]);
23943
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.presentedNodeId]) || _optionalChain([s, 'access', _429 => _429.mobileStartingNodeId, 'optionalAccess', _430 => _430.replace, 'call', _431 => _431(":", "-")]) === _optionalChain([figmaEvent, 'access', _432 => _432.data, 'optionalAccess', _433 => _433.presentedNodeId]);
23983
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _425 => _425.data, 'optionalAccess', _426 => _426.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.presentedNodeId]);
23984
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _429 => _429.data, 'optionalAccess', _430 => _430.presentedNodeId]) || _optionalChain([s, 'access', _431 => _431.mobileStartingNodeId, 'optionalAccess', _432 => _432.replace, 'call', _433 => _433(":", "-")]) === _optionalChain([figmaEvent, 'access', _434 => _434.data, 'optionalAccess', _435 => _435.presentedNodeId]);
23944
23985
  return desktopMatch || mobileMatch;
23945
23986
  });
23946
23987
  if (matchingSection && matchingSection.id !== activeSection) {
23947
23988
  if (!externalActiveSection) {
23948
23989
  setInternalActiveSection(matchingSection.id);
23949
23990
  }
23950
- _optionalChain([config, 'access', _434 => _434.onSectionChange, 'optionalCall', _435 => _435(matchingSection.id)]);
23991
+ _optionalChain([config, 'access', _436 => _436.onSectionChange, 'optionalCall', _437 => _437(matchingSection.id)]);
23951
23992
  }
23952
23993
  }
23953
23994
  }
@@ -23960,7 +24001,7 @@ var FigmaPrototypeViewer = ({
23960
24001
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
23961
24002
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
23962
24003
  const section = config.sections.find((s) => s.id === sectionId);
23963
- if (!section || !_optionalChain([iframeRef, 'access', _436 => _436.current, 'optionalAccess', _437 => _437.contentWindow]) || !isInitialized) {
24004
+ if (!section || !_optionalChain([iframeRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.contentWindow]) || !isInitialized) {
23964
24005
  return;
23965
24006
  }
23966
24007
  setIsNavigating(true);
@@ -23968,7 +24009,7 @@ var FigmaPrototypeViewer = ({
23968
24009
  if (!externalActiveSection) {
23969
24010
  setInternalActiveSection(sectionId);
23970
24011
  }
23971
- _optionalChain([config, 'access', _438 => _438.onSectionChange, 'optionalCall', _439 => _439(sectionId)]);
24012
+ _optionalChain([config, 'access', _440 => _440.onSectionChange, 'optionalCall', _441 => _441(sectionId)]);
23972
24013
  const command = {
23973
24014
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
23974
24015
  data: { nodeId }
@@ -24288,7 +24329,7 @@ var FiltersDropdown = ({
24288
24329
  defaults[section.id] = section.defaultSelected || [];
24289
24330
  });
24290
24331
  setSelectedFilters(defaults);
24291
- _optionalChain([onReset, 'optionalCall', _440 => _440()]);
24332
+ _optionalChain([onReset, 'optionalCall', _442 => _442()]);
24292
24333
  setIsOpen(false);
24293
24334
  };
24294
24335
  const handleApply = () => {
@@ -24581,7 +24622,7 @@ function MediaGalleryManager({
24581
24622
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
24582
24623
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
24583
24624
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
24584
- const file = _optionalChain([event, 'access', _441 => _441.target, 'access', _442 => _442.files, 'optionalAccess', _443 => _443[0]]);
24625
+ const file = _optionalChain([event, 'access', _443 => _443.target, 'access', _444 => _444.files, 'optionalAccess', _445 => _445[0]]);
24585
24626
  if (!file) return;
24586
24627
  let mediaType;
24587
24628
  if (file.type.startsWith("image/")) {
@@ -24696,7 +24737,7 @@ function MediaGalleryManager({
24696
24737
  {
24697
24738
  type: "button",
24698
24739
  variant: "outline",
24699
- onClick: () => _optionalChain([fileInputRef, 'access', _444 => _444.current, 'optionalAccess', _445 => _445.click, 'call', _446 => _446()]),
24740
+ onClick: () => _optionalChain([fileInputRef, 'access', _446 => _446.current, 'optionalAccess', _447 => _447.click, 'call', _448 => _448()]),
24700
24741
  disabled: isUploading,
24701
24742
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
24702
24743
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25364,7 +25405,7 @@ function ReleaseMediaManager({
25364
25405
  const fileInputRef = _react.useRef.call(void 0, null);
25365
25406
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
25366
25407
  const handleFileSelect = async (event) => {
25367
- const file = _optionalChain([event, 'access', _447 => _447.target, 'access', _448 => _448.files, 'optionalAccess', _449 => _449[0]]);
25408
+ const file = _optionalChain([event, 'access', _449 => _449.target, 'access', _450 => _450.files, 'optionalAccess', _451 => _451[0]]);
25368
25409
  if (!file) return;
25369
25410
  let mediaType;
25370
25411
  if (file.type.startsWith("image/")) {
@@ -25444,7 +25485,7 @@ function ReleaseMediaManager({
25444
25485
  {
25445
25486
  type: "button",
25446
25487
  variant: "outline",
25447
- onClick: () => _optionalChain([fileInputRef, 'access', _450 => _450.current, 'optionalAccess', _451 => _451.click, 'call', _452 => _452()]),
25488
+ onClick: () => _optionalChain([fileInputRef, 'access', _452 => _452.current, 'optionalAccess', _453 => _453.click, 'call', _454 => _454()]),
25448
25489
  disabled: uploadingIndex !== null,
25449
25490
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
25450
25491
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25659,7 +25700,7 @@ function SEOEditorPreview({
25659
25700
  const displayImage = hasOgImage || hasFeaturedImage;
25660
25701
  const handleImageUpload = async (event) => {
25661
25702
  if (!onOgImageUpload) return;
25662
- const file = _optionalChain([event, 'access', _453 => _453.target, 'access', _454 => _454.files, 'optionalAccess', _455 => _455[0]]);
25703
+ const file = _optionalChain([event, 'access', _455 => _455.target, 'access', _456 => _456.files, 'optionalAccess', _457 => _457[0]]);
25663
25704
  if (!file) return;
25664
25705
  setIsUploading(true);
25665
25706
  try {
@@ -25809,7 +25850,7 @@ function SEOEditorPreview({
25809
25850
  type: "button",
25810
25851
  variant: "outline",
25811
25852
  size: "icon",
25812
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _456 => _456.click, 'call', _457 => _457()]),
25853
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _458 => _458.click, 'call', _459 => _459()]),
25813
25854
  disabled: disabled || isUploading,
25814
25855
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
25815
25856
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -25832,7 +25873,7 @@ function SEOEditorPreview({
25832
25873
  "div",
25833
25874
  {
25834
25875
  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",
25835
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _458 => _458.click, 'call', _459 => _459()]),
25876
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _460 => _460.click, 'call', _461 => _461()]),
25836
25877
  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: [
25837
25878
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
25838
25879
  /* @__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" })
@@ -25917,7 +25958,7 @@ function SocialLinksManager({
25917
25958
  className = ""
25918
25959
  }) {
25919
25960
  const addLink = () => {
25920
- const firstPlatform = _optionalChain([platforms, 'access', _460 => _460[0], 'optionalAccess', _461 => _461.name]) || "website";
25961
+ const firstPlatform = _optionalChain([platforms, 'access', _462 => _462[0], 'optionalAccess', _463 => _463.name]) || "website";
25921
25962
  onChange([...links, { platform: firstPlatform, url: "" }]);
25922
25963
  };
25923
25964
  const removeLink = (index) => {
@@ -25929,7 +25970,7 @@ function SocialLinksManager({
25929
25970
  onChange(updated);
25930
25971
  };
25931
25972
  const getIcon = (link, platform) => {
25932
- const iconKey = _optionalChain([platform, 'optionalAccess', _462 => _462.icon_name]) || link.platform;
25973
+ const iconKey = _optionalChain([platform, 'optionalAccess', _464 => _464.icon_name]) || link.platform;
25933
25974
  const IconComponent = iconMap[iconKey];
25934
25975
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
25935
25976
  };
@@ -25954,7 +25995,7 @@ function SocialLinksManager({
25954
25995
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25955
25996
  _chunkQJGRP2YEcjs.Input,
25956
25997
  {
25957
- placeholder: _optionalChain([platform, 'optionalAccess', _463 => _463.placeholder]) || "Profile URL",
25998
+ placeholder: _optionalChain([platform, 'optionalAccess', _465 => _465.placeholder]) || "Profile URL",
25958
25999
  value: link.url,
25959
26000
  onChange: (e) => updateLink(index, "url", e.target.value),
25960
26001
  onKeyDown: (e) => {
@@ -26333,7 +26374,7 @@ function useVideoOriginPreconnect({
26333
26374
  supabaseStorageOrigin
26334
26375
  } = {}) {
26335
26376
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
26336
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _464 => _464.endpoints, 'access', _465 => _465.supabaseStorageOrigin])));
26377
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _466 => _466.endpoints, 'access', _467 => _467.supabaseStorageOrigin])));
26337
26378
  try {
26338
26379
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
26339
26380
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -26352,13 +26393,13 @@ function useVideoWarmup({
26352
26393
  nearMargin = "1000px"
26353
26394
  } = {}) {
26354
26395
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
26355
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _466 => _466.endpoints, 'access', _467 => _467.supabaseStorageOrigin])));
26396
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _468 => _468.endpoints, 'access', _469 => _469.supabaseStorageOrigin])));
26356
26397
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
26357
26398
  const { ref, isNear } = _chunk27IO7V3Pcjs.useNearViewport.call(void 0, nearMargin);
26358
26399
  _react.useEffect.call(void 0, () => {
26359
26400
  if (!isNear || !videoUrl || !resolvedOrigin) return;
26360
26401
  const conn = navigator.connection;
26361
- if (_optionalChain([conn, 'optionalAccess', _468 => _468.saveData]) === true) return;
26402
+ if (_optionalChain([conn, 'optionalAccess', _470 => _470.saveData]) === true) return;
26362
26403
  let videoOrigin;
26363
26404
  try {
26364
26405
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -26428,7 +26469,7 @@ function VideoSourceSelector({
26428
26469
  input.accept = "video/*";
26429
26470
  input.onchange = async (e) => {
26430
26471
  const target = e.target;
26431
- const file = _optionalChain([target, 'access', _469 => _469.files, 'optionalAccess', _470 => _470[0]]);
26472
+ const file = _optionalChain([target, 'access', _471 => _471.files, 'optionalAccess', _472 => _472[0]]);
26432
26473
  if (!file) return;
26433
26474
  setIsUploading(true);
26434
26475
  setUploadProgress(0);
@@ -26789,7 +26830,7 @@ function TranscriptSummaryEditor({
26789
26830
  {
26790
26831
  id: "subtitles",
26791
26832
  value: subtitles || "",
26792
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _471 => _471(e.target.value)]),
26833
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _473 => _473(e.target.value)]),
26793
26834
  placeholder: subtitlesPlaceholder,
26794
26835
  disabled: disabled || !onSubtitlesChange,
26795
26836
  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",
@@ -26942,7 +26983,7 @@ var AIEnrichSection = ({
26942
26983
  }) => {
26943
26984
  const hasResults = status === "success" || status === "error";
26944
26985
  const shouldDisable = disabled || !canEnrich;
26945
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _472 => _472.filter, 'call', _473 => _473((f) => !f.isFilled)]) || [];
26986
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _474 => _474.filter, 'call', _475 => _475((f) => !f.isFilled)]) || [];
26946
26987
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26947
26988
  "div",
26948
26989
  {
@@ -26980,7 +27021,7 @@ var AIEnrichSection = ({
26980
27021
  {
26981
27022
  id: "ai-enrich-custom-instructions",
26982
27023
  value: _nullishCoalesce(customInstructions, () => ( "")),
26983
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _474 => _474(e.target.value)]),
27024
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _476 => _476(e.target.value)]),
26984
27025
  placeholder: customInstructionsPlaceholder,
26985
27026
  disabled: loading,
26986
27027
  maxLength: customInstructionsMaxLength,
@@ -27109,7 +27150,7 @@ function HighlightVideoSection({
27109
27150
  input.accept = "video/*";
27110
27151
  input.onchange = async (e) => {
27111
27152
  const target = e.target;
27112
- const file = _optionalChain([target, 'access', _475 => _475.files, 'optionalAccess', _476 => _476[0]]);
27153
+ const file = _optionalChain([target, 'access', _477 => _477.files, 'optionalAccess', _478 => _478[0]]);
27113
27154
  if (!file) return;
27114
27155
  setUploadError(null);
27115
27156
  try {
@@ -27611,7 +27652,7 @@ function HighlightVideoPreview({
27611
27652
  input.accept = "video/*";
27612
27653
  input.onchange = async (e) => {
27613
27654
  const target = e.target;
27614
- const file = _optionalChain([target, 'access', _477 => _477.files, 'optionalAccess', _478 => _478[0]]);
27655
+ const file = _optionalChain([target, 'access', _479 => _479.files, 'optionalAccess', _480 => _480[0]]);
27615
27656
  if (!file) return;
27616
27657
  await onUpload(file);
27617
27658
  };
@@ -27798,7 +27839,7 @@ function HighlightVideoCombinedSection({
27798
27839
  input.accept = "video/*";
27799
27840
  input.onchange = async (e) => {
27800
27841
  const target = e.target;
27801
- const file = _optionalChain([target, 'access', _479 => _479.files, 'optionalAccess', _480 => _480[0]]);
27842
+ const file = _optionalChain([target, 'access', _481 => _481.files, 'optionalAccess', _482 => _482[0]]);
27802
27843
  if (!file) return;
27803
27844
  await onUpload(file);
27804
27845
  };
@@ -28095,7 +28136,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
28095
28136
  return editMode ? "Set Global Permission" : "";
28096
28137
  }
28097
28138
  const option = approvalLevelOptions.find((opt) => opt.value === level);
28098
- return _optionalChain([option, 'optionalAccess', _481 => _481.label]) || level;
28139
+ return _optionalChain([option, 'optionalAccess', _483 => _483.label]) || level;
28099
28140
  };
28100
28141
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
28101
28142
  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: [
@@ -28309,12 +28350,12 @@ function PhoneInput({
28309
28350
  const runValidation = _react.useCallback.call(void 0, (phone) => {
28310
28351
  if (!phone || digitCount(phone) === 0) {
28311
28352
  setIsInvalid(false);
28312
- _optionalChain([onValidationChange, 'optionalCall', _482 => _482(false)]);
28353
+ _optionalChain([onValidationChange, 'optionalCall', _484 => _484(false)]);
28313
28354
  return;
28314
28355
  }
28315
28356
  const invalid = !validatePhoneNumber(phone, countryCode);
28316
28357
  setIsInvalid(invalid);
28317
- _optionalChain([onValidationChange, 'optionalCall', _483 => _483(invalid)]);
28358
+ _optionalChain([onValidationChange, 'optionalCall', _485 => _485(invalid)]);
28318
28359
  }, [countryCode, digitCount, onValidationChange]);
28319
28360
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
28320
28361
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -28363,7 +28404,7 @@ function PhoneInput({
28363
28404
  debouncedValidation(val);
28364
28405
  } else if (digitCount(val) === 0) {
28365
28406
  setIsInvalid(false);
28366
- _optionalChain([onValidationChange, 'optionalCall', _484 => _484(false)]);
28407
+ _optionalChain([onValidationChange, 'optionalCall', _486 => _486(false)]);
28367
28408
  }
28368
28409
  }
28369
28410
  },
@@ -28704,19 +28745,19 @@ function NotificationsProvider({
28704
28745
  }, []);
28705
28746
  const markRead = React90.useCallback((id) => {
28706
28747
  dispatch({ type: "markRead", id });
28707
- void _optionalChain([actionsRef, 'access', _485 => _485.current, 'optionalAccess', _486 => _486.onMarkRead, 'optionalCall', _487 => _487(id)]);
28748
+ void _optionalChain([actionsRef, 'access', _487 => _487.current, 'optionalAccess', _488 => _488.onMarkRead, 'optionalCall', _489 => _489(id)]);
28708
28749
  }, []);
28709
28750
  const markAllRead = React90.useCallback(() => {
28710
28751
  dispatch({ type: "markAllRead" });
28711
- void _optionalChain([actionsRef, 'access', _488 => _488.current, 'optionalAccess', _489 => _489.onMarkAllRead, 'optionalCall', _490 => _490()]);
28752
+ void _optionalChain([actionsRef, 'access', _490 => _490.current, 'optionalAccess', _491 => _491.onMarkAllRead, 'optionalCall', _492 => _492()]);
28712
28753
  }, []);
28713
28754
  const markSettled = React90.useCallback((id) => {
28714
28755
  dispatch({ type: "markSettled", id });
28715
- void _optionalChain([actionsRef, 'access', _491 => _491.current, 'optionalAccess', _492 => _492.onMarkSettled, 'optionalCall', _493 => _493(id)]);
28756
+ void _optionalChain([actionsRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.onMarkSettled, 'optionalCall', _495 => _495(id)]);
28716
28757
  }, []);
28717
28758
  const remove = React90.useCallback((id) => {
28718
28759
  dispatch({ type: "remove", id });
28719
- void _optionalChain([actionsRef, 'access', _494 => _494.current, 'optionalAccess', _495 => _495.onRemove, 'optionalCall', _496 => _496(id)]);
28760
+ void _optionalChain([actionsRef, 'access', _496 => _496.current, 'optionalAccess', _497 => _497.onRemove, 'optionalCall', _498 => _498(id)]);
28720
28761
  }, []);
28721
28762
  const clear = React90.useCallback(() => dispatch({ type: "clear" }), []);
28722
28763
  const open = React90.useCallback(() => setIsOpen(true), []);
@@ -28725,14 +28766,14 @@ function NotificationsProvider({
28725
28766
  const setShowPopups = React90.useCallback(
28726
28767
  (value2) => {
28727
28768
  setShowPopupsState(value2);
28728
- _optionalChain([onShowPopupsChange, 'optionalCall', _497 => _497(value2)]);
28769
+ _optionalChain([onShowPopupsChange, 'optionalCall', _499 => _499(value2)]);
28729
28770
  },
28730
28771
  [onShowPopupsChange]
28731
28772
  );
28732
28773
  const setShowDesktopPopups = React90.useCallback(
28733
28774
  (value2) => {
28734
28775
  setShowDesktopPopupsState(value2);
28735
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _498 => _498(value2)]);
28776
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _500 => _500(value2)]);
28736
28777
  },
28737
28778
  [onShowDesktopPopupsChange]
28738
28779
  );
@@ -28836,7 +28877,7 @@ function NotificationTile({
28836
28877
  if (!counting) return;
28837
28878
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
28838
28879
  const timer = window.setTimeout(() => {
28839
- _optionalChain([onSettle, 'optionalCall', _499 => _499(id)]);
28880
+ _optionalChain([onSettle, 'optionalCall', _501 => _501(id)]);
28840
28881
  }, remaining);
28841
28882
  return () => window.clearTimeout(timer);
28842
28883
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -28898,7 +28939,7 @@ function NotificationTile({
28898
28939
  "button",
28899
28940
  {
28900
28941
  type: "button",
28901
- onClick: () => _optionalChain([onSettle, 'optionalCall', _500 => _500(id)]),
28942
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _502 => _502(id)]),
28902
28943
  "aria-label": "Dismiss notification",
28903
28944
  tabIndex: isLive ? 0 : -1,
28904
28945
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -29031,7 +29072,7 @@ function DrawerScrollList({
29031
29072
  if (!sentinel || !root) return;
29032
29073
  const observer = new IntersectionObserver(
29033
29074
  (entries) => {
29034
- if (_optionalChain([entries, 'access', _501 => _501[0], 'optionalAccess', _502 => _502.isIntersecting])) _optionalChain([loadMoreRef, 'access', _503 => _503.current, 'optionalCall', _504 => _504()]);
29075
+ if (_optionalChain([entries, 'access', _503 => _503[0], 'optionalAccess', _504 => _504.isIntersecting])) _optionalChain([loadMoreRef, 'access', _505 => _505.current, 'optionalCall', _506 => _506()]);
29035
29076
  },
29036
29077
  { root, rootMargin: loadMoreRootMargin }
29037
29078
  );
@@ -29046,7 +29087,7 @@ function DrawerScrollList({
29046
29087
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
29047
29088
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29048
29089
  unreadNotifications.map((n) => {
29049
- const custom = _optionalChain([renderTile, 'optionalCall', _505 => _505(n, { onComplete, onSettle, liveDurationMs })]);
29090
+ const custom = _optionalChain([renderTile, 'optionalCall', _507 => _507(n, { onComplete, onSettle, liveDurationMs })]);
29050
29091
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
29051
29092
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29052
29093
  NotificationTile,
@@ -29210,7 +29251,7 @@ function NotificationPopups({
29210
29251
  className
29211
29252
  ),
29212
29253
  children: live.map((n) => {
29213
- const custom = _optionalChain([renderTile, 'optionalCall', _506 => _506(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
29254
+ const custom = _optionalChain([renderTile, 'optionalCall', _508 => _508(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
29214
29255
  if (custom) {
29215
29256
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
29216
29257
  }
@@ -29390,21 +29431,21 @@ function transformWebinarToProgram(webinar) {
29390
29431
  // src/components/features/notifications/types.ts
29391
29432
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
29392
29433
  function isApprovalNotification(notification) {
29393
- return _optionalChain([notification, 'access', _507 => _507.meta, 'optionalAccess', _508 => _508.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29434
+ return _optionalChain([notification, 'access', _509 => _509.meta, 'optionalAccess', _510 => _510.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29394
29435
  }
29395
29436
  function getApprovalMeta(notification) {
29396
29437
  if (!isApprovalNotification(notification)) return null;
29397
29438
  const meta = notification.meta;
29398
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _509 => _509.approvalRequestId]);
29399
- const toolCalls = _optionalChain([meta, 'optionalAccess', _510 => _510.toolCalls]);
29439
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _511 => _511.approvalRequestId]);
29440
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _512 => _512.toolCalls]);
29400
29441
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
29401
29442
  return {
29402
29443
  approvalRequestId,
29403
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _511 => _511.dialogId]), () => ( null)),
29404
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _512 => _512.ticketId]), () => ( null)),
29405
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _513 => _513.approvalType]), () => ( null)),
29406
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _514 => _514.resolution]), () => ( null)),
29407
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _515 => _515.resolvedByName]), () => ( null)),
29444
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _513 => _513.dialogId]), () => ( null)),
29445
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _514 => _514.ticketId]), () => ( null)),
29446
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _515 => _515.approvalType]), () => ( null)),
29447
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _516 => _516.resolution]), () => ( null)),
29448
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _517 => _517.resolvedByName]), () => ( null)),
29408
29449
  toolCalls
29409
29450
  };
29410
29451
  }
@@ -29453,7 +29494,7 @@ function ApprovalRequestNotificationTile({
29453
29494
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
29454
29495
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
29455
29496
  const approval = getApprovalMeta(notification);
29456
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _516 => _516.resolution]));
29497
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _518 => _518.resolution]));
29457
29498
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
29458
29499
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
29459
29500
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -29721,7 +29762,7 @@ function TimeTrackerPanel({
29721
29762
  error: showFieldError ? "Required if no notes added" : void 0,
29722
29763
  disableClientFilter: !!onTicketSearch,
29723
29764
  onInputChange: (value, reason) => {
29724
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _517 => _517(value)]);
29765
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _519 => _519(value)]);
29725
29766
  }
29726
29767
  }
29727
29768
  )
@@ -29805,7 +29846,7 @@ function LastEntryRow({ entry, onClick }) {
29805
29846
  {
29806
29847
  variant: "outline",
29807
29848
  size: "icon",
29808
- onClick: () => _optionalChain([onClick, 'optionalCall', _518 => _518(entry)]),
29849
+ onClick: () => _optionalChain([onClick, 'optionalCall', _520 => _520(entry)]),
29809
29850
  disabled: !onClick,
29810
29851
  "aria-label": `Open entry: ${entry.title}`,
29811
29852
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -29849,9 +29890,9 @@ function HeaderButton({
29849
29890
  function TimeTrackerHeaderButton({ className, disabled }) {
29850
29891
  const ctx = useOptionalTimeTracker();
29851
29892
  const elapsedLabel = useTrackerClock({
29852
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _519 => _519.status]), () => ( "ready")),
29853
- runningSince: _optionalChain([ctx, 'optionalAccess', _520 => _520.runningSince]),
29854
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _521 => _521.accumulatedMs])
29893
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _521 => _521.status]), () => ( "ready")),
29894
+ runningSince: _optionalChain([ctx, 'optionalAccess', _522 => _522.runningSince]),
29895
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _523 => _523.accumulatedMs])
29855
29896
  });
29856
29897
  if (!ctx) return null;
29857
29898
  const { isOpen, open, close, status } = ctx;
@@ -30134,15 +30175,15 @@ function TicketCard({
30134
30175
  transition: sortable.transition
30135
30176
  };
30136
30177
  if (showNewMessage) style.borderColor = columnColor;
30137
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _522 => _522.deviceHostnames, 'optionalAccess', _523 => _523.length]) || ticket.organizationName);
30178
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _524 => _524.deviceHostnames, 'optionalAccess', _525 => _525.length]) || ticket.organizationName);
30138
30179
  const deviceText = [
30139
- _optionalChain([ticket, 'access', _524 => _524.deviceHostnames, 'optionalAccess', _525 => _525.join, 'call', _526 => _526(", ")]),
30180
+ _optionalChain([ticket, 'access', _526 => _526.deviceHostnames, 'optionalAccess', _527 => _527.join, 'call', _528 => _528(", ")]),
30140
30181
  ticket.organizationName
30141
30182
  ].filter(Boolean).join(", ");
30142
30183
  const handleClick = (e) => {
30143
30184
  if (sortable.isDragging) e.preventDefault();
30144
30185
  };
30145
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _527 => _527.assignees, 'optionalAccess', _528 => _528.length]) || renderAssignSlot);
30186
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _529 => _529.assignees, 'optionalAccess', _530 => _530.length]) || renderAssignSlot);
30146
30187
  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: [
30147
30188
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30148
30189
  _chunkGXRWE7NBcjs.Flag02Icon,
@@ -30151,7 +30192,7 @@ function TicketCard({
30151
30192
  "aria-label": `Priority: ${ticket.priority}`
30152
30193
  }
30153
30194
  ),
30154
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _529 => _529.assignees, 'optionalAccess', _530 => _530.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
30195
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _531 => _531.assignees, 'optionalAccess', _532 => _532.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
30155
30196
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30156
30197
  SquareAvatar,
30157
30198
  {
@@ -30182,7 +30223,7 @@ function TicketCard({
30182
30223
  ] }),
30183
30224
  rightSection
30184
30225
  ] }),
30185
- _optionalChain([ticket, 'access', _531 => _531.tags, 'optionalAccess', _532 => _532.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30226
+ _optionalChain([ticket, 'access', _533 => _533.tags, 'optionalAccess', _534 => _534.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30186
30227
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
30187
30228
  /* @__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 }) }),
30188
30229
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -30382,7 +30423,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30382
30423
  const observer = new IntersectionObserver(
30383
30424
  (entries) => {
30384
30425
  if (entries.some((e) => e.isIntersecting)) {
30385
- _optionalChain([loadMoreRef, 'access', _533 => _533.current, 'optionalCall', _534 => _534(columnIdRef.current)]);
30426
+ _optionalChain([loadMoreRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536(columnIdRef.current)]);
30386
30427
  }
30387
30428
  },
30388
30429
  { root, rootMargin: loadMoreRootMargin }
@@ -30412,7 +30453,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30412
30453
  ticket: t,
30413
30454
  columnId: column.id,
30414
30455
  columnColor: column.color,
30415
- href: _optionalChain([getTicketHref, 'optionalCall', _535 => _535(t.id)]),
30456
+ href: _optionalChain([getTicketHref, 'optionalCall', _537 => _537(t.id)]),
30416
30457
  renderAssignSlot,
30417
30458
  onApprove,
30418
30459
  onReject,
@@ -30512,17 +30553,17 @@ function Board({
30512
30553
  const pointer = _core.pointerWithin.call(void 0, args);
30513
30554
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
30514
30555
  const ticketHit = intersections.find(
30515
- (c) => _optionalChain([c, 'access', _536 => _536.data, 'optionalAccess', _537 => _537.droppableContainer, 'optionalAccess', _538 => _538.data, 'optionalAccess', _539 => _539.current, 'optionalAccess', _540 => _540.type]) === "ticket"
30556
+ (c) => _optionalChain([c, 'access', _538 => _538.data, 'optionalAccess', _539 => _539.droppableContainer, 'optionalAccess', _540 => _540.data, 'optionalAccess', _541 => _541.current, 'optionalAccess', _542 => _542.type]) === "ticket"
30516
30557
  );
30517
30558
  if (ticketHit) return [ticketHit];
30518
30559
  const columnHit = intersections.find(
30519
- (c) => _optionalChain([c, 'access', _541 => _541.data, 'optionalAccess', _542 => _542.droppableContainer, 'optionalAccess', _543 => _543.data, 'optionalAccess', _544 => _544.current, 'optionalAccess', _545 => _545.type]) === "column"
30560
+ (c) => _optionalChain([c, 'access', _543 => _543.data, 'optionalAccess', _544 => _544.droppableContainer, 'optionalAccess', _545 => _545.data, 'optionalAccess', _546 => _546.current, 'optionalAccess', _547 => _547.type]) === "column"
30520
30561
  );
30521
30562
  if (columnHit) {
30522
- const columnId = _optionalChain([columnHit, 'access', _546 => _546.data, 'optionalAccess', _547 => _547.droppableContainer, 'optionalAccess', _548 => _548.data, 'optionalAccess', _549 => _549.current, 'optionalAccess', _550 => _550.columnId]);
30563
+ const columnId = _optionalChain([columnHit, 'access', _548 => _548.data, 'optionalAccess', _549 => _549.droppableContainer, 'optionalAccess', _550 => _550.data, 'optionalAccess', _551 => _551.current, 'optionalAccess', _552 => _552.columnId]);
30523
30564
  const ticketsInColumn = args.droppableContainers.filter((c) => {
30524
30565
  const d = c.data.current;
30525
- return _optionalChain([d, 'optionalAccess', _551 => _551.type]) === "ticket" && d.columnId === columnId;
30566
+ return _optionalChain([d, 'optionalAccess', _553 => _553.type]) === "ticket" && d.columnId === columnId;
30526
30567
  });
30527
30568
  if (ticketsInColumn.length > 0) {
30528
30569
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -30547,20 +30588,20 @@ function Board({
30547
30588
  const overId = String(over.id);
30548
30589
  if (activeId === overId) return;
30549
30590
  const overData = over.data.current;
30550
- const fromColumnId = _optionalChain([locate, 'call', _552 => _552(items, activeId), 'optionalAccess', _553 => _553.columnId]);
30551
- const toColumnId = _optionalChain([overData, 'optionalAccess', _554 => _554.columnId]);
30591
+ const fromColumnId = _optionalChain([locate, 'call', _554 => _554(items, activeId), 'optionalAccess', _555 => _555.columnId]);
30592
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _556 => _556.columnId]);
30552
30593
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
30553
30594
  const origin = dragOriginRef.current;
30554
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _555 => _555.fromColumnId]) === toColumnId;
30595
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _557 => _557.fromColumnId]) === toColumnId;
30555
30596
  const targetCol = items.find((c) => c.id === toColumnId);
30556
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _556 => _556.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30557
- if (_optionalChain([targetCol, 'optionalAccess', _557 => _557.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30597
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _558 => _558.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30598
+ if (_optionalChain([targetCol, 'optionalAccess', _559 => _559.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30558
30599
  setItems((prev) => {
30559
30600
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
30560
30601
  const toCol = prev.find((c) => c.id === toColumnId);
30561
30602
  if (fromIndex < 0 || !toCol) return prev;
30562
30603
  let toIndex;
30563
- if (_optionalChain([overData, 'optionalAccess', _558 => _558.type]) === "column") {
30604
+ if (_optionalChain([overData, 'optionalAccess', _560 => _560.type]) === "column") {
30564
30605
  toIndex = toCol.tickets.length;
30565
30606
  } else {
30566
30607
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -30602,14 +30643,14 @@ function Board({
30602
30643
  const toColumnId = located.columnId;
30603
30644
  const isCrossColumn = origin.fromColumnId !== toColumnId;
30604
30645
  const targetCol = items.find((c) => c.id === toColumnId);
30605
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _559 => _559.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _560 => _560.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30646
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _561 => _561.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _562 => _562.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30606
30647
  setItems(columns);
30607
30648
  return;
30608
30649
  }
30609
30650
  let finalIndex = located.index;
30610
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _561 => _561.find, 'call', _562 => _562((c) => c.id === toColumnId), 'optionalAccess', _563 => _563.tickets]), () => ( []));
30651
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _563 => _563.find, 'call', _564 => _564((c) => c.id === toColumnId), 'optionalAccess', _565 => _565.tickets]), () => ( []));
30611
30652
  const overData = over.data.current;
30612
- if (_optionalChain([overData, 'optionalAccess', _564 => _564.type]) === "ticket") {
30653
+ if (_optionalChain([overData, 'optionalAccess', _566 => _566.type]) === "ticket") {
30613
30654
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
30614
30655
  if (overIndex >= 0 && overIndex !== located.index) {
30615
30656
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -30629,8 +30670,8 @@ function Board({
30629
30670
  ticketId: origin.ticketId,
30630
30671
  fromColumnId: origin.fromColumnId,
30631
30672
  toColumnId,
30632
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _565 => _565[finalIndex - 1], 'optionalAccess', _566 => _566.id]), () => ( null)),
30633
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _567 => _567[finalIndex + 1], 'optionalAccess', _568 => _568.id]), () => ( null))
30673
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _567 => _567[finalIndex - 1], 'optionalAccess', _568 => _568.id]), () => ( null)),
30674
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _569 => _569[finalIndex + 1], 'optionalAccess', _570 => _570.id]), () => ( null))
30634
30675
  });
30635
30676
  };
30636
30677
  const handleDragCancel = () => {
@@ -30659,8 +30700,8 @@ function Board({
30659
30700
  children: items.map((column, i) => {
30660
30701
  const prev = items[i - 1];
30661
30702
  const next = items[i + 1];
30662
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _569 => _569.system]));
30663
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _570 => _570.system]));
30703
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _571 => _571.system]));
30704
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _572 => _572.system]));
30664
30705
  const showGap = i > 0 && !joinLeft;
30665
30706
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React96.Fragment, { children: [
30666
30707
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -30713,7 +30754,7 @@ function Board({
30713
30754
  {
30714
30755
  ticket: activeTicket.ticket,
30715
30756
  columnId: activeTicket.columnId,
30716
- columnColor: _optionalChain([items, 'access', _571 => _571.find, 'call', _572 => _572((c) => c.id === activeTicket.columnId), 'optionalAccess', _573 => _573.color]),
30757
+ columnColor: _optionalChain([items, 'access', _573 => _573.find, 'call', _574 => _574((c) => c.id === activeTicket.columnId), 'optionalAccess', _575 => _575.color]),
30717
30758
  isOverlay: true
30718
30759
  }
30719
30760
  ) : null })
@@ -30729,7 +30770,7 @@ function locate(cols, ticketId) {
30729
30770
  return null;
30730
30771
  }
30731
30772
  function findIndexInColumn(cols, columnId, ticketId) {
30732
- return _nullishCoalesce(_optionalChain([cols, 'access', _574 => _574.find, 'call', _575 => _575((c) => c.id === columnId), 'optionalAccess', _576 => _576.tickets, 'access', _577 => _577.findIndex, 'call', _578 => _578((t) => t.id === ticketId)]), () => ( -1));
30773
+ return _nullishCoalesce(_optionalChain([cols, 'access', _576 => _576.find, 'call', _577 => _577((c) => c.id === columnId), 'optionalAccess', _578 => _578.tickets, 'access', _579 => _579.findIndex, 'call', _580 => _580((t) => t.id === ticketId)]), () => ( -1));
30733
30774
  }
30734
30775
 
30735
30776
  // src/components/features/board/types.ts
@@ -30977,7 +31018,7 @@ function Header2({ config, platform }) {
30977
31018
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30978
31019
  "flex justify-start w-full",
30979
31020
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
30980
- index < (_nullishCoalesce(_optionalChain([item, 'access', _579 => _579.children, 'optionalAccess', _580 => _580.length]), () => ( 0))) - 1 && "mb-1",
31021
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _581 => _581.children, 'optionalAccess', _582 => _582.length]), () => ( 0))) - 1 && "mb-1",
30981
31022
  "text-ods-text-primary",
30982
31023
  // All dropdown items use primary text color
30983
31024
  child.isActive && "bg-ods-bg-hover"
@@ -31069,7 +31110,7 @@ function Header2({ config, platform }) {
31069
31110
  style: config.style,
31070
31111
  children: [
31071
31112
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31072
- _optionalChain([config, 'access', _581 => _581.actions, 'optionalAccess', _582 => _582.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
31113
+ _optionalChain([config, 'access', _583 => _583.actions, 'optionalAccess', _584 => _584.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
31073
31114
  /* @__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 })
31074
31115
  ] }),
31075
31116
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31086,7 +31127,7 @@ function Header2({ config, platform }) {
31086
31127
  }
31087
31128
  ),
31088
31129
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
31089
- _optionalChain([config, 'access', _583 => _583.actions, 'optionalAccess', _584 => _584.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
31130
+ _optionalChain([config, 'access', _585 => _585.actions, 'optionalAccess', _586 => _586.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
31090
31131
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31091
31132
  _chunkQJGRP2YEcjs.Button,
31092
31133
  {
@@ -31094,10 +31135,10 @@ function Header2({ config, platform }) {
31094
31135
  size: "icon",
31095
31136
  className: "flex md:hidden",
31096
31137
  onClick: () => {
31097
- _optionalChain([config, 'access', _585 => _585.mobile, 'optionalAccess', _586 => _586.onToggle, 'optionalCall', _587 => _587()]);
31138
+ _optionalChain([config, 'access', _587 => _587.mobile, 'optionalAccess', _588 => _588.onToggle, 'optionalCall', _589 => _589()]);
31098
31139
  },
31099
- "aria-label": _optionalChain([config, 'access', _588 => _588.mobile, 'optionalAccess', _589 => _589.isOpen]) ? "Close menu" : "Open menu",
31100
- leftIcon: _optionalChain([config, 'access', _590 => _590.mobile, 'optionalAccess', _591 => _591.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Menu01Icon, {})
31140
+ "aria-label": _optionalChain([config, 'access', _590 => _590.mobile, 'optionalAccess', _591 => _591.isOpen]) ? "Close menu" : "Open menu",
31141
+ leftIcon: _optionalChain([config, 'access', _592 => _592.mobile, 'optionalAccess', _593 => _593.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Menu01Icon, {})
31101
31142
  }
31102
31143
  )
31103
31144
  ] })
@@ -31114,10 +31155,10 @@ function Header2({ config, platform }) {
31114
31155
  // src/components/navigation/header-skeleton.tsx
31115
31156
 
31116
31157
  function HeaderSkeleton({ config }) {
31117
- const showNavigation = _optionalChain([config, 'optionalAccess', _592 => _592.navigation]) && config.navigation.items.length > 0;
31118
- const showActions = _optionalChain([config, 'optionalAccess', _593 => _593.actions, 'optionalAccess', _594 => _594.right]) && config.actions.right.length > 0;
31119
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _595 => _595.mobile, 'optionalAccess', _596 => _596.enabled]);
31120
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _597 => _597.className, 'optionalAccess', _598 => _598.includes, 'call', _599 => _599("admin")]);
31158
+ const showNavigation = _optionalChain([config, 'optionalAccess', _594 => _594.navigation]) && config.navigation.items.length > 0;
31159
+ const showActions = _optionalChain([config, 'optionalAccess', _595 => _595.actions, 'optionalAccess', _596 => _596.right]) && config.actions.right.length > 0;
31160
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _597 => _597.mobile, 'optionalAccess', _598 => _598.enabled]);
31161
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _599 => _599.className, 'optionalAccess', _600 => _600.includes, 'call', _601 => _601("admin")]);
31121
31162
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31122
31163
  "header",
31123
31164
  {
@@ -31126,11 +31167,11 @@ function HeaderSkeleton({ config }) {
31126
31167
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
31127
31168
  "px-6 py-3",
31128
31169
  "transition-opacity duration-300 ease-in-out",
31129
- _optionalChain([config, 'optionalAccess', _600 => _600.className])
31170
+ _optionalChain([config, 'optionalAccess', _602 => _602.className])
31130
31171
  ),
31131
31172
  children: [
31132
31173
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31133
- isAdminHeader && _optionalChain([config, 'optionalAccess', _601 => _601.actions, 'optionalAccess', _602 => _602.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" }) }),
31174
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _603 => _603.actions, 'optionalAccess', _604 => _604.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" }) }),
31134
31175
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
31135
31176
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
31136
31177
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -31138,8 +31179,8 @@ function HeaderSkeleton({ config }) {
31138
31179
  ] }),
31139
31180
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
31140
31181
  "hidden md:flex items-center gap-2",
31141
- _optionalChain([config, 'optionalAccess', _603 => _603.navigation, 'optionalAccess', _604 => _604.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31142
- _optionalChain([config, 'optionalAccess', _605 => _605.navigation, 'optionalAccess', _606 => _606.position]) === "right" && "ml-auto mr-4"
31182
+ _optionalChain([config, 'optionalAccess', _605 => _605.navigation, 'optionalAccess', _606 => _606.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31183
+ _optionalChain([config, 'optionalAccess', _607 => _607.navigation, 'optionalAccess', _608 => _608.position]) === "right" && "ml-auto mr-4"
31143
31184
  ), children: [
31144
31185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
31145
31186
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -31187,7 +31228,7 @@ function MobileNavPanel({ isOpen, config }) {
31187
31228
  _react.useEffect.call(void 0, () => {
31188
31229
  const handleKeyDown = (e) => {
31189
31230
  if (e.key === "Escape" && isOpen) {
31190
- _optionalChain([config, 'access', _607 => _607.onClose, 'optionalCall', _608 => _608()]);
31231
+ _optionalChain([config, 'access', _609 => _609.onClose, 'optionalCall', _610 => _610()]);
31191
31232
  }
31192
31233
  };
31193
31234
  if (isOpen) {
@@ -31204,7 +31245,7 @@ function MobileNavPanel({ isOpen, config }) {
31204
31245
  if (item.onClick) {
31205
31246
  item.onClick();
31206
31247
  }
31207
- _optionalChain([config, 'access', _609 => _609.onClose, 'optionalCall', _610 => _610()]);
31248
+ _optionalChain([config, 'access', _611 => _611.onClose, 'optionalCall', _612 => _612()]);
31208
31249
  };
31209
31250
  if (item.href) {
31210
31251
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31374,7 +31415,7 @@ function SlidingSidebar({ config }) {
31374
31415
  variant: "transparent",
31375
31416
  size: "default",
31376
31417
  onClick: () => {
31377
- _optionalChain([item, 'access', _611 => _611.onClick, 'optionalCall', _612 => _612()]);
31418
+ _optionalChain([item, 'access', _613 => _613.onClick, 'optionalCall', _614 => _614()]);
31378
31419
  config.onClose();
31379
31420
  },
31380
31421
  leftIcon: item.icon,
@@ -31397,7 +31438,7 @@ function SlidingSidebar({ config }) {
31397
31438
  variant: "transparent",
31398
31439
  size: "default",
31399
31440
  onClick: () => {
31400
- _optionalChain([item, 'access', _613 => _613.onClick, 'optionalCall', _614 => _614()]);
31441
+ _optionalChain([item, 'access', _615 => _615.onClick, 'optionalCall', _616 => _616()]);
31401
31442
  config.onClose();
31402
31443
  },
31403
31444
  leftIcon: item.icon,
@@ -31524,7 +31565,7 @@ function StickySectionNav({
31524
31565
  ] });
31525
31566
  }
31526
31567
  function useSectionNavigation(sections, options) {
31527
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _615 => _615[0], 'optionalAccess', _616 => _616.id]) || "");
31568
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _617 => _617[0], 'optionalAccess', _618 => _618.id]) || "");
31528
31569
  const isScrollingFromClick = _react.useRef.call(void 0, false);
31529
31570
  const { offset: offset2 = 100 } = options || {};
31530
31571
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -31548,7 +31589,7 @@ function useSectionNavigation(sections, options) {
31548
31589
  const handleScroll = () => {
31549
31590
  if (isScrollingFromClick.current) return;
31550
31591
  const scrollPosition = window.scrollY + offset2 + 50;
31551
- let currentSection = _optionalChain([sections, 'access', _617 => _617[0], 'optionalAccess', _618 => _618.id]) || "";
31592
+ let currentSection = _optionalChain([sections, 'access', _619 => _619[0], 'optionalAccess', _620 => _620.id]) || "";
31552
31593
  for (let i = sections.length - 1; i >= 0; i--) {
31553
31594
  const element = document.getElementById(sections[i].id);
31554
31595
  if (element && scrollPosition >= element.offsetTop) {
@@ -31749,7 +31790,7 @@ function NavigationSidebar({ config, disabled = false }) {
31749
31790
  } else {
31750
31791
  setDesktopMinimized((prev) => !prev);
31751
31792
  }
31752
- _optionalChain([config, 'access', _619 => _619.onToggleMinimized, 'optionalCall', _620 => _620()]);
31793
+ _optionalChain([config, 'access', _621 => _621.onToggleMinimized, 'optionalCall', _622 => _622()]);
31753
31794
  }, [isTablet, setDesktopMinimized, config]);
31754
31795
  const closeOverlay = _react.useCallback.call(void 0, () => {
31755
31796
  setTabletMinimized(true);
@@ -31763,11 +31804,11 @@ function NavigationSidebar({ config, disabled = false }) {
31763
31804
  return () => document.removeEventListener("keydown", handleKeyDown);
31764
31805
  }, [isOverlayOpen, closeOverlay]);
31765
31806
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
31766
- _optionalChain([event, 'optionalAccess', _621 => _621.stopPropagation, 'call', _622 => _622()]);
31807
+ _optionalChain([event, 'optionalAccess', _623 => _623.stopPropagation, 'call', _624 => _624()]);
31767
31808
  if (item.onClick) {
31768
31809
  item.onClick();
31769
31810
  } else if (item.path) {
31770
- _optionalChain([config, 'access', _623 => _623.onNavigate, 'optionalCall', _624 => _624(item.path)]);
31811
+ _optionalChain([config, 'access', _625 => _625.onNavigate, 'optionalCall', _626 => _626(item.path)]);
31771
31812
  }
31772
31813
  if (isTablet) setTabletMinimized(true);
31773
31814
  }, [config, isTablet]);
@@ -31887,11 +31928,11 @@ function HeaderGlobalSearch({
31887
31928
  };
31888
31929
  const handleSubmit = (e) => {
31889
31930
  e.preventDefault();
31890
- _optionalChain([onSubmit, 'optionalCall', _625 => _625(currentValue)]);
31931
+ _optionalChain([onSubmit, 'optionalCall', _627 => _627(currentValue)]);
31891
31932
  };
31892
31933
  const handleKeyDown = (e) => {
31893
31934
  if (e.key === "Enter") {
31894
- _optionalChain([onSubmit, 'optionalCall', _626 => _626(currentValue)]);
31935
+ _optionalChain([onSubmit, 'optionalCall', _628 => _628(currentValue)]);
31895
31936
  }
31896
31937
  };
31897
31938
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -31985,8 +32026,8 @@ function HeaderOrganizationFilter({
31985
32026
  className
31986
32027
  }) {
31987
32028
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
31988
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _627 => _627.name]) || "All Organizations";
31989
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _628 => _628.deviceCount]), () => ( totalDeviceCount));
32029
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _629 => _629.name]) || "All Organizations";
32030
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _630 => _630.deviceCount]), () => ( totalDeviceCount));
31990
32031
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
31991
32032
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31992
32033
  "button",
@@ -32011,11 +32052,11 @@ function HeaderOrganizationFilter({
32011
32052
  }
32012
32053
  ) }),
32013
32054
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
32014
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _629 => _629("")]), children: "All Organizations" }),
32055
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _631 => _631("")]), children: "All Organizations" }),
32015
32056
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32016
32057
  _chunkQJGRP2YEcjs.DropdownMenuItem,
32017
32058
  {
32018
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _630 => _630(org.id)]),
32059
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _632 => _632(org.id)]),
32019
32060
  children: org.name
32020
32061
  },
32021
32062
  org.id
@@ -32205,9 +32246,9 @@ function NotificationsHeaderButton({
32205
32246
  dimmedClass
32206
32247
  }) {
32207
32248
  const ctx = useOptionalNotifications();
32208
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _631 => _631.unreadCount]), () => ( fallbackUnreadCount))) > 0;
32209
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _632 => _632.isOpen]), () => ( false));
32210
- const onClick = _optionalChain([ctx, 'optionalAccess', _633 => _633.toggle]);
32249
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _633 => _633.unreadCount]), () => ( fallbackUnreadCount))) > 0;
32250
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _634 => _634.isOpen]), () => ( false));
32251
+ const onClick = _optionalChain([ctx, 'optionalAccess', _635 => _635.toggle]);
32211
32252
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32212
32253
  HeaderButton,
32213
32254
  {
@@ -32271,7 +32312,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
32271
32312
  if (item.onClick) {
32272
32313
  item.onClick();
32273
32314
  } else if (item.path) {
32274
- _optionalChain([config, 'access', _634 => _634.onNavigate, 'optionalCall', _635 => _635(item.path)]);
32315
+ _optionalChain([config, 'access', _636 => _636.onNavigate, 'optionalCall', _637 => _637(item.path)]);
32275
32316
  }
32276
32317
  onClose();
32277
32318
  }, [config, onClose]);
@@ -32514,7 +32555,7 @@ var AppLayoutDrawerRoot = ({
32514
32555
  const handleOpenChange = React105.useCallback(
32515
32556
  (next) => {
32516
32557
  if (!isControlled) setInternalOpen(next);
32517
- _optionalChain([onOpenChange, 'optionalCall', _636 => _636(next)]);
32558
+ _optionalChain([onOpenChange, 'optionalCall', _638 => _638(next)]);
32518
32559
  },
32519
32560
  [isControlled, onOpenChange]
32520
32561
  );
@@ -32895,10 +32936,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
32895
32936
  ),
32896
32937
  style,
32897
32938
  onInteractOutside: (event) => {
32898
- _optionalChain([onInteractOutside, 'optionalCall', _637 => _637(event)]);
32939
+ _optionalChain([onInteractOutside, 'optionalCall', _639 => _639(event)]);
32899
32940
  if (event.defaultPrevented) return;
32900
32941
  const target = event.target;
32901
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _638 => _638.contains, 'call', _639 => _639(target)]);
32942
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _640 => _640.contains, 'call', _641 => _641(target)]);
32902
32943
  if (!isInsideContainer) {
32903
32944
  event.preventDefault();
32904
32945
  return;
@@ -33311,7 +33352,7 @@ var ShellTypeBadge = ({
33311
33352
  className,
33312
33353
  iconClassName
33313
33354
  }) => {
33314
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _640 => _640.toUpperCase, 'call', _641 => _641()]);
33355
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _642 => _642.toUpperCase, 'call', _643 => _643()]);
33315
33356
  const label = getShellLabel(normalizedType);
33316
33357
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
33317
33358
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -33698,12 +33739,12 @@ function OnboardingWalkthrough({
33698
33739
  }
33699
33740
  }, [state.completedSteps, markComplete]);
33700
33741
  const handleStepSkip = (step) => {
33701
- _optionalChain([step, 'access', _642 => _642.onSkip, 'optionalCall', _643 => _643()]);
33742
+ _optionalChain([step, 'access', _644 => _644.onSkip, 'optionalCall', _645 => _645()]);
33702
33743
  markSkipped(step.id);
33703
33744
  };
33704
33745
  const handleDismiss = () => {
33705
33746
  dismissOnboarding();
33706
- _optionalChain([onDismiss, 'optionalCall', _644 => _644()]);
33747
+ _optionalChain([onDismiss, 'optionalCall', _646 => _646()]);
33707
33748
  };
33708
33749
  if (state.dismissed) {
33709
33750
  return null;
@@ -33833,7 +33874,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
33833
33874
  onKeyDown: (e) => {
33834
33875
  if (e.key === "Enter" || e.key === " ") {
33835
33876
  e.preventDefault();
33836
- _optionalChain([onClick, 'optionalCall', _645 => _645()]);
33877
+ _optionalChain([onClick, 'optionalCall', _647 => _647()]);
33837
33878
  }
33838
33879
  },
33839
33880
  children: [
@@ -33934,7 +33975,7 @@ var LogsList = React109.forwardRef(({
33934
33975
  log,
33935
33976
  isLast: index === logs.length - 1,
33936
33977
  showConnector,
33937
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _646 => _646(log)])
33978
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _648 => _648(log)])
33938
33979
  },
33939
33980
  log.id
33940
33981
  ))
@@ -34035,7 +34076,7 @@ var Slider = React111.forwardRef(
34035
34076
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
34036
34077
  const handleChange = (e) => {
34037
34078
  const newValue = [Number(e.target.value)];
34038
- _optionalChain([onValueChange, 'optionalCall', _647 => _647(newValue)]);
34079
+ _optionalChain([onValueChange, 'optionalCall', _649 => _649(newValue)]);
34039
34080
  };
34040
34081
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34041
34082
  "input",
@@ -34466,7 +34507,7 @@ function CursorPaginationSimple({
34466
34507
  {
34467
34508
  variant: "transparent",
34468
34509
  size: "icon",
34469
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _648 => _648("")]),
34510
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _650 => _650("")]),
34470
34511
  disabled: !hasPreviousPage || loading,
34471
34512
  className: "h-8 w-8",
34472
34513
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -34478,7 +34519,7 @@ function CursorPaginationSimple({
34478
34519
  {
34479
34520
  variant: "transparent",
34480
34521
  size: "icon",
34481
- onClick: () => _optionalChain([onNext, 'optionalCall', _649 => _649("")]),
34522
+ onClick: () => _optionalChain([onNext, 'optionalCall', _651 => _651("")]),
34482
34523
  disabled: !hasNextPage || loading,
34483
34524
  className: "h-8 w-8",
34484
34525
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -34498,8 +34539,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
34498
34539
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
34499
34540
  title: _nullishCoalesce(message2, () => ( "No results found")),
34500
34541
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
34501
- buttonLabel: _optionalChain([action, 'optionalAccess', _650 => _650.label]),
34502
- onButtonClick: _optionalChain([action, 'optionalAccess', _651 => _651.onClick]),
34542
+ buttonLabel: _optionalChain([action, 'optionalAccess', _652 => _652.label]),
34543
+ onButtonClick: _optionalChain([action, 'optionalAccess', _653 => _653.onClick]),
34503
34544
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
34504
34545
  }
34505
34546
  );
@@ -34520,7 +34561,7 @@ function TableColumnFilterDropdown({
34520
34561
  placement = "bottom-start",
34521
34562
  dropdownClassName = "min-w-[240px]"
34522
34563
  }) {
34523
- const activeCount = _optionalChain([filters, 'optionalAccess', _652 => _652[columnKey], 'optionalAccess', _653 => _653.length]) || 0;
34564
+ const activeCount = _optionalChain([filters, 'optionalAccess', _654 => _654[columnKey], 'optionalAccess', _655 => _655.length]) || 0;
34524
34565
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34525
34566
  FiltersDropdown,
34526
34567
  {
@@ -34563,7 +34604,7 @@ function TableColumnFilterDropdown({
34563
34604
  delete newFilters[columnKey];
34564
34605
  onFilterChange(newFilters);
34565
34606
  },
34566
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _654 => _654[columnKey]]) || [] },
34607
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _656 => _656[columnKey]]) || [] },
34567
34608
  placement,
34568
34609
  dropdownClassName
34569
34610
  }
@@ -34860,7 +34901,7 @@ function TableRow({
34860
34901
  const keys = column.key.split(".");
34861
34902
  let value = item;
34862
34903
  for (const key of keys) {
34863
- value = _optionalChain([value, 'optionalAccess', _655 => _655[key]]);
34904
+ value = _optionalChain([value, 'optionalAccess', _657 => _657[key]]);
34864
34905
  }
34865
34906
  if (value === null || value === void 0) {
34866
34907
  return "-";
@@ -34930,7 +34971,7 @@ function TableRow({
34930
34971
  // src/components/ui/table/table.tsx
34931
34972
 
34932
34973
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
34933
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _656 => _656.length])) || Boolean(renderRowActions);
34974
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _658 => _658.length])) || Boolean(renderRowActions);
34934
34975
  const result = [...columns];
34935
34976
  if (hasActions) {
34936
34977
  const actionsColumn = {
@@ -35024,7 +35065,7 @@ function Table({
35024
35065
  return rowKey(item);
35025
35066
  }
35026
35067
  const key = item[rowKey];
35027
- return _optionalChain([key, 'optionalAccess', _657 => _657.toString, 'call', _658 => _658()]) || index.toString();
35068
+ return _optionalChain([key, 'optionalAccess', _659 => _659.toString, 'call', _660 => _660()]) || index.toString();
35028
35069
  };
35029
35070
  const getRowClassName = (item, index) => {
35030
35071
  if (typeof rowClassName === "function") {
@@ -35058,23 +35099,23 @@ function Table({
35058
35099
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
35059
35100
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
35060
35101
  const sentinelRef = _react.useRef.call(void 0, null);
35061
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _659 => _659.onLoadMore]));
35062
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _660 => _660.onLoadMore]);
35102
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _661 => _661.onLoadMore]));
35103
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _662 => _662.onLoadMore]);
35063
35104
  _react.useEffect.call(void 0, () => {
35064
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _661 => _661.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35105
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _663 => _663.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35065
35106
  const sentinel = sentinelRef.current;
35066
35107
  if (!sentinel) return;
35067
35108
  const observer = new IntersectionObserver(
35068
35109
  (entries) => {
35069
- if (_optionalChain([entries, 'access', _662 => _662[0], 'optionalAccess', _663 => _663.isIntersecting])) {
35070
- _optionalChain([onLoadMoreRef, 'access', _664 => _664.current, 'optionalCall', _665 => _665()]);
35110
+ if (_optionalChain([entries, 'access', _664 => _664[0], 'optionalAccess', _665 => _665.isIntersecting])) {
35111
+ _optionalChain([onLoadMoreRef, 'access', _666 => _666.current, 'optionalCall', _667 => _667()]);
35071
35112
  }
35072
35113
  },
35073
35114
  { rootMargin: "200px" }
35074
35115
  );
35075
35116
  observer.observe(sentinel);
35076
35117
  return () => observer.disconnect();
35077
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _666 => _666.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _667 => _667.isFetchingNextPage])]);
35118
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _668 => _668.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _669 => _669.isFetchingNextPage])]);
35078
35119
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
35079
35120
  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: [
35080
35121
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -35145,7 +35186,7 @@ function Table({
35145
35186
  },
35146
35187
  getRowKey(item, index)
35147
35188
  )),
35148
- _optionalChain([infiniteScroll, 'optionalAccess', _668 => _668.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35189
+ _optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35149
35190
  TableCardSkeleton,
35150
35191
  {
35151
35192
  columns,
@@ -35154,7 +35195,7 @@ function Table({
35154
35195
  hasChevron: Boolean(rowHref)
35155
35196
  }
35156
35197
  ),
35157
- _optionalChain([infiniteScroll, 'optionalAccess', _669 => _669.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35198
+ _optionalChain([infiniteScroll, 'optionalAccess', _671 => _671.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35158
35199
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35159
35200
  "div",
35160
35201
  {
@@ -35512,7 +35553,7 @@ function QueryReportTable({
35512
35553
  );
35513
35554
  const handleExport = () => {
35514
35555
  exportToCSV(data, columns, exportFilename);
35515
- _optionalChain([onExport, 'optionalCall', _670 => _670()]);
35556
+ _optionalChain([onExport, 'optionalCall', _672 => _672()]);
35516
35557
  };
35517
35558
  const tableMinWidth = columns.length * (columnWidth + 16);
35518
35559
  const {
@@ -35685,7 +35726,7 @@ function DataTableColumnFilter({
35685
35726
  align = "left"
35686
35727
  }) {
35687
35728
  const currentValue = column.getFilterValue();
35688
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _671 => _671.length]), () => ( 0));
35729
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _673 => _673.length]), () => ( 0));
35689
35730
  const sections = _react.useMemo.call(void 0,
35690
35731
  () => [
35691
35732
  {
@@ -35765,7 +35806,7 @@ function DataTableHeader({
35765
35806
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
35766
35807
  if (header.isPlaceholder) return false;
35767
35808
  if (isLgUp) return true;
35768
- return Boolean(_optionalChain([header, 'access', _672 => _672.column, 'access', _673 => _673.columnDef, 'access', _674 => _674.meta, 'optionalAccess', _675 => _675.filter]));
35809
+ return Boolean(_optionalChain([header, 'access', _674 => _674.column, 'access', _675 => _675.columnDef, 'access', _676 => _676.meta, 'optionalAccess', _677 => _677.filter]));
35769
35810
  });
35770
35811
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35771
35812
  "div",
@@ -35795,20 +35836,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35795
35836
  if (header.isPlaceholder) return null;
35796
35837
  const column = header.column;
35797
35838
  const meta = column.columnDef.meta;
35798
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _676 => _676.filter]));
35799
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _677 => _677.align]), () => ( "left"));
35800
- const canSort = _optionalChain([meta, 'optionalAccess', _678 => _678.sortable]) === true;
35801
- const sortDir = _optionalChain([sort, 'optionalAccess', _679 => _679.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35839
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _678 => _678.filter]));
35840
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _679 => _679.align]), () => ( "left"));
35841
+ const canSort = _optionalChain([meta, 'optionalAccess', _680 => _680.sortable]) === true;
35842
+ const sortDir = _optionalChain([sort, 'optionalAccess', _681 => _681.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35802
35843
  if (!isLgUp && !hasFilter) return null;
35803
35844
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35804
35845
  "div",
35805
35846
  {
35806
35847
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35807
35848
  "flex items-stretch",
35808
- isLgUp && (_optionalChain([meta, 'optionalAccess', _680 => _680.width]) || "flex-1 min-w-0"),
35809
- _optionalChain([meta, 'optionalAccess', _681 => _681.headerClassName]),
35849
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _682 => _682.width]) || "flex-1 min-w-0"),
35850
+ _optionalChain([meta, 'optionalAccess', _683 => _683.headerClassName]),
35810
35851
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
35811
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _682 => _682.hideAt]))
35852
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _684 => _684.hideAt]))
35812
35853
  ),
35813
35854
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35814
35855
  DataTableColumnFilter,
@@ -35827,7 +35868,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35827
35868
  isLgUp && alignJustify(align),
35828
35869
  canSort && "group cursor-pointer"
35829
35870
  ),
35830
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _683 => _683(column.id)]) : void 0,
35871
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _685 => _685(column.id)]) : void 0,
35831
35872
  children: [
35832
35873
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
35833
35874
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -35892,7 +35933,7 @@ function DataTableSkeleton({
35892
35933
  }) {
35893
35934
  const table = useDataTableContext();
35894
35935
  const columns = table.getVisibleFlatColumns();
35895
- const firstColumnId = _optionalChain([columns, 'access', _684 => _684[0], 'optionalAccess', _685 => _685.id]);
35936
+ const firstColumnId = _optionalChain([columns, 'access', _686 => _686[0], 'optionalAccess', _687 => _687.id]);
35896
35937
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35897
35938
  "div",
35898
35939
  {
@@ -35916,7 +35957,7 @@ function DataTableSkeleton({
35916
35957
  {
35917
35958
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35918
35959
  "flex flex-col justify-center shrink-0",
35919
- _optionalChain([meta, 'optionalAccess', _686 => _686.width]) || "flex-1"
35960
+ _optionalChain([meta, 'optionalAccess', _688 => _688.width]) || "flex-1"
35920
35961
  ),
35921
35962
  children: [
35922
35963
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -35965,7 +36006,7 @@ function DataTableRowImpl({
35965
36006
  const handleClick = _react.useCallback.call(void 0,
35966
36007
  (e) => {
35967
36008
  const target = e.target;
35968
- if (!_optionalChain([containerRef, 'access', _687 => _687.current, 'optionalAccess', _688 => _688.contains, 'call', _689 => _689(target)])) {
36009
+ if (!_optionalChain([containerRef, 'access', _689 => _689.current, 'optionalAccess', _690 => _690.contains, 'call', _691 => _691(target)])) {
35969
36010
  if (isLinkMode) e.preventDefault();
35970
36011
  return;
35971
36012
  }
@@ -35973,7 +36014,7 @@ function DataTableRowImpl({
35973
36014
  if (isLinkMode) e.preventDefault();
35974
36015
  return;
35975
36016
  }
35976
- _optionalChain([onClick, 'optionalCall', _690 => _690(row.original)]);
36017
+ _optionalChain([onClick, 'optionalCall', _692 => _692(row.original)]);
35977
36018
  },
35978
36019
  [onClick, row.original, isLinkMode]
35979
36020
  );
@@ -35998,10 +36039,10 @@ function DataTableRowImpl({
35998
36039
  {
35999
36040
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36000
36041
  "flex flex-col overflow-hidden",
36001
- alignJustify(_optionalChain([meta, 'optionalAccess', _691 => _691.align])),
36002
- _optionalChain([meta, 'optionalAccess', _692 => _692.width]) || "flex-1 min-w-0",
36003
- _optionalChain([meta, 'optionalAccess', _693 => _693.cellClassName]),
36004
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _694 => _694.hideAt]))
36042
+ alignJustify(_optionalChain([meta, 'optionalAccess', _693 => _693.align])),
36043
+ _optionalChain([meta, 'optionalAccess', _694 => _694.width]) || "flex-1 min-w-0",
36044
+ _optionalChain([meta, 'optionalAccess', _695 => _695.cellClassName]),
36045
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _696 => _696.hideAt]))
36005
36046
  ),
36006
36047
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
36007
36048
  },
@@ -36080,7 +36121,7 @@ function DataTableBody({
36080
36121
  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: [
36081
36122
  rows.map((row, index) => {
36082
36123
  const item = row.original;
36083
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _695 => _695(item)]), () => ( void 0));
36124
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _697 => _697(item)]), () => ( void 0));
36084
36125
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
36085
36126
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36086
36127
  DataTableRow,
@@ -36090,7 +36131,7 @@ function DataTableBody({
36090
36131
  href,
36091
36132
  compact,
36092
36133
  className: cls,
36093
- subRow: _optionalChain([renderSubRow, 'optionalCall', _696 => _696(item)])
36134
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _698 => _698(item)])
36094
36135
  },
36095
36136
  row.id
36096
36137
  );
@@ -36145,7 +36186,7 @@ function DataTableInfiniteFooter({
36145
36186
  if (!sentinel) return;
36146
36187
  const observer = new IntersectionObserver(
36147
36188
  (entries) => {
36148
- if (_optionalChain([entries, 'access', _697 => _697[0], 'optionalAccess', _698 => _698.isIntersecting])) onLoadMoreRef.current();
36189
+ if (_optionalChain([entries, 'access', _699 => _699[0], 'optionalAccess', _700 => _700.isIntersecting])) onLoadMoreRef.current();
36149
36190
  },
36150
36191
  { rootMargin }
36151
36192
  );
@@ -36193,7 +36234,7 @@ function DataTableRowCount({
36193
36234
  const table = useDataTableContext();
36194
36235
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
36195
36236
  if (hideWhenEmpty && count === 0) return null;
36196
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _699 => _699(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
36237
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _701 => _701(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
36197
36238
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36198
36239
  "span",
36199
36240
  {
@@ -36352,7 +36393,7 @@ function SearchInput({
36352
36393
  if (!showHiddenTags) return;
36353
36394
  const handleClick = (e) => {
36354
36395
  const target = e.target;
36355
- if (!_optionalChain([hiddenTagsRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.contains, 'call', _702 => _702(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _703 => _703.current, 'optionalAccess', _704 => _704.contains, 'call', _705 => _705(target)])) {
36396
+ if (!_optionalChain([hiddenTagsRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.contains, 'call', _704 => _704(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(target)])) {
36356
36397
  setShowHiddenTags(false);
36357
36398
  }
36358
36399
  };
@@ -36400,10 +36441,10 @@ function SearchInput({
36400
36441
  } else {
36401
36442
  setInternalValue("");
36402
36443
  }
36403
- _optionalChain([inputRef, 'access', _706 => _706.current, 'optionalAccess', _707 => _707.focus, 'call', _708 => _708()]);
36444
+ _optionalChain([inputRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.focus, 'call', _710 => _710()]);
36404
36445
  };
36405
36446
  const handleResultClick = (result, e) => {
36406
- _optionalChain([onResultSelect, 'optionalCall', _709 => _709(
36447
+ _optionalChain([onResultSelect, 'optionalCall', _711 => _711(
36407
36448
  result,
36408
36449
  e ? {
36409
36450
  metaKey: e.metaKey,
@@ -36435,7 +36476,7 @@ function SearchInput({
36435
36476
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
36436
36477
  handleResultClick(flatResults[highlightedIndex]);
36437
36478
  } else {
36438
- _optionalChain([onSubmit, 'optionalCall', _710 => _710(currentValue)]);
36479
+ _optionalChain([onSubmit, 'optionalCall', _712 => _712(currentValue)]);
36439
36480
  }
36440
36481
  break;
36441
36482
  case "Escape":
@@ -36513,7 +36554,7 @@ function SearchInput({
36513
36554
  dropdownVisible && "!border-ods-accent"
36514
36555
  ),
36515
36556
  onClick: () => {
36516
- _optionalChain([inputRef, 'access', _711 => _711.current, 'optionalAccess', _712 => _712.focus, 'call', _713 => _713()]);
36557
+ _optionalChain([inputRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.focus, 'call', _715 => _715()]);
36517
36558
  setIsOpen(true);
36518
36559
  },
36519
36560
  children: [
@@ -36597,10 +36638,10 @@ function SearchInput({
36597
36638
  align: "start",
36598
36639
  onOpenAutoFocus: (e) => {
36599
36640
  e.preventDefault();
36600
- _optionalChain([inputRef, 'access', _714 => _714.current, 'optionalAccess', _715 => _715.focus, 'call', _716 => _716()]);
36641
+ _optionalChain([inputRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.focus, 'call', _718 => _718()]);
36601
36642
  },
36602
36643
  onInteractOutside: (e) => {
36603
- if (_optionalChain([containerRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.contains, 'call', _719 => _719(e.target)])) {
36644
+ if (_optionalChain([containerRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.contains, 'call', _721 => _721(e.target)])) {
36604
36645
  e.preventDefault();
36605
36646
  }
36606
36647
  },
@@ -36617,10 +36658,10 @@ function SearchInput({
36617
36658
  ref: hiddenTagsPopupRef,
36618
36659
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
36619
36660
  style: {
36620
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _720 => _720.current, 'optionalAccess', _721 => _721.getBoundingClientRect, 'call', _722 => _722(), 'access', _723 => _723.left]), () => ( 0))) : 0
36661
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.getBoundingClientRect, 'call', _724 => _724(), 'access', _725 => _725.left]), () => ( 0))) : 0
36621
36662
  },
36622
36663
  onRemove: (value2) => {
36623
- _optionalChain([onFilterRemove, 'optionalCall', _724 => _724(value2)]);
36664
+ _optionalChain([onFilterRemove, 'optionalCall', _726 => _726(value2)]);
36624
36665
  if (hiddenCount <= 1) setShowHiddenTags(false);
36625
36666
  }
36626
36667
  }
@@ -36671,7 +36712,7 @@ function FilterListItem({
36671
36712
  }) {
36672
36713
  const handleToggle = () => {
36673
36714
  if (disabled) return;
36674
- _optionalChain([onToggle, 'optionalCall', _725 => _725(!selected)]);
36715
+ _optionalChain([onToggle, 'optionalCall', _727 => _727(!selected)]);
36675
36716
  };
36676
36717
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36677
36718
  "div",
@@ -36718,7 +36759,7 @@ function FilterListItem({
36718
36759
  CheckboxPrimitive4.Root,
36719
36760
  {
36720
36761
  checked: selected,
36721
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _726 => _726(c === true)]),
36762
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _728 => _728(c === true)]),
36722
36763
  onClick: (e) => e.stopPropagation(),
36723
36764
  disabled,
36724
36765
  "aria-label": title,
@@ -36817,7 +36858,7 @@ function TagSearchInput({
36817
36858
  if (!showHiddenTags) return;
36818
36859
  const handleClick = (e) => {
36819
36860
  const target = e.target;
36820
- if (!_optionalChain([hiddenTagsRef, 'access', _727 => _727.current, 'optionalAccess', _728 => _728.contains, 'call', _729 => _729(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _730 => _730.current, 'optionalAccess', _731 => _731.contains, 'call', _732 => _732(target)])) {
36861
+ if (!_optionalChain([hiddenTagsRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.contains, 'call', _731 => _731(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _732 => _732.current, 'optionalAccess', _733 => _733.contains, 'call', _734 => _734(target)])) {
36821
36862
  setShowHiddenTags(false);
36822
36863
  }
36823
36864
  };
@@ -36833,13 +36874,13 @@ function TagSearchInput({
36833
36874
  e.preventDefault();
36834
36875
  onSubmit(searchValue);
36835
36876
  }
36836
- _optionalChain([onKeyDown, 'optionalCall', _733 => _733(e)]);
36877
+ _optionalChain([onKeyDown, 'optionalCall', _735 => _735(e)]);
36837
36878
  };
36838
36879
  const handleClearAll = (e) => {
36839
36880
  e.stopPropagation();
36840
36881
  e.preventDefault();
36841
- _optionalChain([onClearAll, 'optionalCall', _734 => _734()]);
36842
- _optionalChain([inputRef, 'access', _735 => _735.current, 'optionalAccess', _736 => _736.focus, 'call', _737 => _737()]);
36882
+ _optionalChain([onClearAll, 'optionalCall', _736 => _736()]);
36883
+ _optionalChain([inputRef, 'access', _737 => _737.current, 'optionalAccess', _738 => _738.focus, 'call', _739 => _739()]);
36843
36884
  };
36844
36885
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
36845
36886
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36856,7 +36897,7 @@ function TagSearchInput({
36856
36897
  className
36857
36898
  ),
36858
36899
  onClick: () => {
36859
- if (!disabled) _optionalChain([inputRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.focus, 'call', _740 => _740()]);
36900
+ if (!disabled) _optionalChain([inputRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.focus, 'call', _742 => _742()]);
36860
36901
  },
36861
36902
  children: [
36862
36903
  /* @__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" }) }),
@@ -36928,7 +36969,7 @@ function TagSearchInput({
36928
36969
  items: hiddenTags,
36929
36970
  disabled,
36930
36971
  style: {
36931
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.getBoundingClientRect, 'call', _743 => _743(), 'access', _744 => _744.left]), () => ( 0))) : 0
36972
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.getBoundingClientRect, 'call', _745 => _745(), 'access', _746 => _746.left]), () => ( 0))) : 0
36932
36973
  },
36933
36974
  onRemove: (value) => {
36934
36975
  onTagRemove(value);
@@ -37029,7 +37070,7 @@ function MarkdownEditor({
37029
37070
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
37030
37071
  _react.useEffect.call(void 0, () => {
37031
37072
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
37032
- if (_optionalChain([mod, 'access', _745 => _745.commands, 'optionalAccess', _746 => _746.getExtraCommands])) {
37073
+ if (_optionalChain([mod, 'access', _747 => _747.commands, 'optionalAccess', _748 => _748.getExtraCommands])) {
37033
37074
  setDefaultExtraCommands(mod.commands.getExtraCommands());
37034
37075
  }
37035
37076
  });
@@ -37063,7 +37104,7 @@ function MarkdownEditor({
37063
37104
  const isImage = file.type.startsWith("image/");
37064
37105
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
37065
37106
  insertTextAtCursor(markdown);
37066
- _optionalChain([onFileUploaded, 'optionalCall', _747 => _747(url, file.name)]);
37107
+ _optionalChain([onFileUploaded, 'optionalCall', _749 => _749(url, file.name)]);
37067
37108
  } catch (error) {
37068
37109
  console.error("File upload failed:", error);
37069
37110
  setUploadProgress("Upload failed. Please try again.");
@@ -37076,7 +37117,7 @@ function MarkdownEditor({
37076
37117
  );
37077
37118
  const handleFileInputChange = _react.useCallback.call(void 0,
37078
37119
  (e) => {
37079
- const file = _optionalChain([e, 'access', _748 => _748.target, 'access', _749 => _749.files, 'optionalAccess', _750 => _750[0]]);
37120
+ const file = _optionalChain([e, 'access', _750 => _750.target, 'access', _751 => _751.files, 'optionalAccess', _752 => _752[0]]);
37080
37121
  if (file) {
37081
37122
  handleFileUpload(file);
37082
37123
  e.target.value = "";
@@ -37087,7 +37128,7 @@ function MarkdownEditor({
37087
37128
  const handlePaste = _react.useCallback.call(void 0,
37088
37129
  (e) => {
37089
37130
  if (!onUploadFile) return;
37090
- const items = _optionalChain([e, 'access', _751 => _751.clipboardData, 'optionalAccess', _752 => _752.items]);
37131
+ const items = _optionalChain([e, 'access', _753 => _753.clipboardData, 'optionalAccess', _754 => _754.items]);
37091
37132
  if (!items) return;
37092
37133
  for (const item of items) {
37093
37134
  if (item.type.startsWith("image/")) {
@@ -37112,7 +37153,7 @@ function MarkdownEditor({
37112
37153
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
37113
37154
  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" }),
37114
37155
  execute: () => {
37115
- _optionalChain([fileInputRef, 'access', _753 => _753.current, 'optionalAccess', _754 => _754.click, 'call', _755 => _755()]);
37156
+ _optionalChain([fileInputRef, 'access', _755 => _755.current, 'optionalAccess', _756 => _756.click, 'call', _757 => _757()]);
37116
37157
  }
37117
37158
  } : null;
37118
37159
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -37124,7 +37165,7 @@ function MarkdownEditor({
37124
37165
  const EDGE_ZONE = 60;
37125
37166
  const MAX_SCROLL_SPEED = 15;
37126
37167
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
37127
- let node = _optionalChain([el, 'optionalAccess', _756 => _756.parentElement]);
37168
+ let node = _optionalChain([el, 'optionalAccess', _758 => _758.parentElement]);
37128
37169
  while (node && node !== document.documentElement) {
37129
37170
  const { overflowY } = window.getComputedStyle(node);
37130
37171
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -37267,7 +37308,7 @@ function matchesAccept(file, accept) {
37267
37308
  });
37268
37309
  }
37269
37310
  function dragHasFiles(e) {
37270
- const types = _optionalChain([e, 'access', _757 => _757.dataTransfer, 'optionalAccess', _758 => _758.types]);
37311
+ const types = _optionalChain([e, 'access', _759 => _759.dataTransfer, 'optionalAccess', _760 => _760.types]);
37271
37312
  if (!types) return false;
37272
37313
  for (let i = 0; i < types.length; i++) {
37273
37314
  if (types[i] === "Files") return true;
@@ -37362,7 +37403,7 @@ function FileUpload({
37362
37403
  e.stopPropagation();
37363
37404
  setDragActive(false);
37364
37405
  if (disabled) return;
37365
- if (_optionalChain([e, 'access', _759 => _759.dataTransfer, 'access', _760 => _760.files, 'optionalAccess', _761 => _761.length])) {
37406
+ if (_optionalChain([e, 'access', _761 => _761.dataTransfer, 'access', _762 => _762.files, 'optionalAccess', _763 => _763.length])) {
37366
37407
  handleFiles(e.dataTransfer.files);
37367
37408
  }
37368
37409
  };
@@ -37390,7 +37431,7 @@ function FileUpload({
37390
37431
  e.preventDefault();
37391
37432
  dragCounter = 0;
37392
37433
  setDragActive(false);
37393
- if (_optionalChain([e, 'access', _762 => _762.dataTransfer, 'optionalAccess', _763 => _763.files, 'optionalAccess', _764 => _764.length])) {
37434
+ if (_optionalChain([e, 'access', _764 => _764.dataTransfer, 'optionalAccess', _765 => _765.files, 'optionalAccess', _766 => _766.length])) {
37394
37435
  handleFilesRef.current(e.dataTransfer.files);
37395
37436
  }
37396
37437
  };
@@ -37412,7 +37453,7 @@ function FileUpload({
37412
37453
  };
37413
37454
  }, [acceptWindowDrops, disabled]);
37414
37455
  const handleFileSelect = (e) => {
37415
- if (_optionalChain([e, 'access', _765 => _765.target, 'access', _766 => _766.files, 'optionalAccess', _767 => _767.length])) {
37456
+ if (_optionalChain([e, 'access', _767 => _767.target, 'access', _768 => _768.files, 'optionalAccess', _769 => _769.length])) {
37416
37457
  handleFiles(e.target.files);
37417
37458
  }
37418
37459
  };
@@ -37429,7 +37470,7 @@ function FileUpload({
37429
37470
  };
37430
37471
  const openDialog = async () => {
37431
37472
  if (disabled) return;
37432
- _optionalChain([fileInputRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.click, 'call', _770 => _770()]);
37473
+ _optionalChain([fileInputRef, 'access', _770 => _770.current, 'optionalAccess', _771 => _771.click, 'call', _772 => _772()]);
37433
37474
  };
37434
37475
  const displayError = error || validationError || void 0;
37435
37476
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -37507,7 +37548,7 @@ function FileUpload({
37507
37548
  "button",
37508
37549
  {
37509
37550
  type: "button",
37510
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _771 => _771(entry.id)]),
37551
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _773 => _773(entry.id)]),
37511
37552
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
37512
37553
  "aria-label": `Remove ${entry.fileName}`,
37513
37554
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -37630,7 +37671,7 @@ function ImageUploader({
37630
37671
  onChange(file);
37631
37672
  };
37632
37673
  const handleFileSelect = (e) => {
37633
- validateAndEmit(_optionalChain([e, 'access', _772 => _772.target, 'access', _773 => _773.files, 'optionalAccess', _774 => _774[0]]));
37674
+ validateAndEmit(_optionalChain([e, 'access', _774 => _774.target, 'access', _775 => _775.files, 'optionalAccess', _776 => _776[0]]));
37634
37675
  if (inputRef.current) inputRef.current.value = "";
37635
37676
  };
37636
37677
  const handleDrag = (e) => {
@@ -37645,11 +37686,11 @@ function ImageUploader({
37645
37686
  e.stopPropagation();
37646
37687
  setDragActive(false);
37647
37688
  if (!interactive) return;
37648
- validateAndEmit(_optionalChain([e, 'access', _775 => _775.dataTransfer, 'access', _776 => _776.files, 'optionalAccess', _777 => _777[0]]));
37689
+ validateAndEmit(_optionalChain([e, 'access', _777 => _777.dataTransfer, 'access', _778 => _778.files, 'optionalAccess', _779 => _779[0]]));
37649
37690
  };
37650
37691
  const openDialog = () => {
37651
37692
  if (!interactive) return;
37652
- _optionalChain([inputRef, 'access', _778 => _778.current, 'optionalAccess', _779 => _779.click, 'call', _780 => _780()]);
37693
+ _optionalChain([inputRef, 'access', _780 => _780.current, 'optionalAccess', _781 => _781.click, 'call', _782 => _782()]);
37653
37694
  };
37654
37695
  const handleRootKeyDown = (e) => {
37655
37696
  if (hasImage || !interactive) return;
@@ -37839,8 +37880,8 @@ function ColorPresetSelect({
37839
37880
  }) {
37840
37881
  const selectedPreset = presets.find((p) => p.key === presetKey);
37841
37882
  const isCustom = !selectedPreset;
37842
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _781 => _781.label]), () => ( "Custom"));
37843
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _782 => _782.color]), () => ( value));
37883
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _783 => _783.label]), () => ( "Custom"));
37884
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _784 => _784.color]), () => ( value));
37844
37885
  const groups = [
37845
37886
  {
37846
37887
  items: [
@@ -38130,7 +38171,7 @@ function TicketStatusConfigRow({
38130
38171
  _chunkQJGRP2YEcjs.Input,
38131
38172
  {
38132
38173
  value: name,
38133
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _783 => _783(e.target.value)]),
38174
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _785 => _785(e.target.value)]),
38134
38175
  disabled: isSystem,
38135
38176
  readOnly: isSystem,
38136
38177
  "aria-label": "Status name",
@@ -38213,7 +38254,7 @@ function CompactAssigneeDropdown({
38213
38254
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
38214
38255
  }, [filtered, currentAssignee]);
38215
38256
  const handleSelect = (userId) => {
38216
- const next = _optionalChain([currentAssignee, 'optionalAccess', _784 => _784.id]) === userId ? null : userId;
38257
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _786 => _786.id]) === userId ? null : userId;
38217
38258
  onAssign(next);
38218
38259
  setIsOpen(false);
38219
38260
  };
@@ -38278,7 +38319,7 @@ function CompactAssigneeDropdown({
38278
38319
  }
38279
38320
  ) }),
38280
38321
  /* @__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) => {
38281
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _785 => _785.id]) === opt.value;
38322
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _787 => _787.id]) === opt.value;
38282
38323
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38283
38324
  "button",
38284
38325
  {
@@ -38347,7 +38388,7 @@ function DefaultAssigneeDropdown({
38347
38388
  Autocomplete,
38348
38389
  {
38349
38390
  options,
38350
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _786 => _786.id]), () => ( null)),
38391
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _788 => _788.id]), () => ( null)),
38351
38392
  onChange: (val) => {
38352
38393
  onAssign(val);
38353
38394
  setIsEditing(false);
@@ -38736,14 +38777,14 @@ function TicketInfoSection({
38736
38777
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38737
38778
  SquareAvatar,
38738
38779
  {
38739
- src: _optionalChain([organization, 'optionalAccess', _787 => _787.imageSrc]),
38740
- alt: _optionalChain([organization, 'optionalAccess', _788 => _788.name]),
38741
- fallback: _optionalChain([organization, 'optionalAccess', _789 => _789.name]) || "Org",
38780
+ src: _optionalChain([organization, 'optionalAccess', _789 => _789.imageSrc]),
38781
+ alt: _optionalChain([organization, 'optionalAccess', _790 => _790.name]),
38782
+ fallback: _optionalChain([organization, 'optionalAccess', _791 => _791.name]) || "Org",
38742
38783
  size: "md",
38743
38784
  className: "shrink-0"
38744
38785
  }
38745
38786
  ),
38746
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _790 => _790.name]) || "Unassigned", label: "Organization" })
38787
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _792 => _792.name]) || "Unassigned", label: "Organization" })
38747
38788
  ] }),
38748
38789
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38749
38790
  AssigneeDropdown,
@@ -38764,10 +38805,10 @@ function TicketInfoSection({
38764
38805
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38765
38806
  InfoCell2,
38766
38807
  {
38767
- value: _optionalChain([device, 'optionalAccess', _791 => _791.name]) || "Unassigned",
38808
+ value: _optionalChain([device, 'optionalAccess', _793 => _793.name]) || "Unassigned",
38768
38809
  label: "Device",
38769
- icon: _optionalChain([device, 'optionalAccess', _792 => _792.icon]),
38770
- onClick: _optionalChain([device, 'optionalAccess', _793 => _793.onClick])
38810
+ icon: _optionalChain([device, 'optionalAccess', _794 => _794.icon]),
38811
+ onClick: _optionalChain([device, 'optionalAccess', _795 => _795.onClick])
38771
38812
  }
38772
38813
  ),
38773
38814
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39097,7 +39138,7 @@ function RoadmapCard({
39097
39138
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39098
39139
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39099
39140
  const hasFigma = !!item.figmaUrl;
39100
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _794 => _794.screenshots, 'optionalAccess', _795 => _795.length]), () => ( 0))) > 0;
39141
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _796 => _796.screenshots, 'optionalAccess', _797 => _797.length]), () => ( 0))) > 0;
39101
39142
  const typeLabel = getTaskTypeLabel(item.customItemId);
39102
39143
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39103
39144
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39116,7 +39157,7 @@ function RoadmapCard({
39116
39157
  unoptimized: true,
39117
39158
  className: "h-8 w-8 object-contain"
39118
39159
  }
39119
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _796 => _796.title, 'optionalAccess', _797 => _797.substring, 'call', _798 => _798(0, 2)]) || "??" })
39160
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _798 => _798.title, 'optionalAccess', _799 => _799.substring, 'call', _800 => _800(0, 2)]) || "??" })
39120
39161
  }
39121
39162
  ),
39122
39163
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -39191,7 +39232,7 @@ function RoadmapCard({
39191
39232
  unoptimized: true,
39192
39233
  className: "object-contain p-1"
39193
39234
  }
39194
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _799 => _799.title, 'optionalAccess', _800 => _800.substring, 'call', _801 => _801(0, 2)]) || "??" }) }),
39235
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _801 => _801.title, 'optionalAccess', _802 => _802.substring, 'call', _803 => _803(0, 2)]) || "??" }) }),
39195
39236
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
39196
39237
  /* @__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 }) }),
39197
39238
  /* @__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: [
@@ -39701,7 +39742,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
39701
39742
  ] }) : null,
39702
39743
  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
39703
39744
  ] }),
39704
- _optionalChain([anchorProps, 'optionalAccess', _802 => _802.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
39745
+ _optionalChain([anchorProps, 'optionalAccess', _804 => _804.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
39705
39746
  ] });
39706
39747
  if (!anchorProps) {
39707
39748
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -39771,7 +39812,7 @@ function getDefaultOptions() {
39771
39812
  // node_modules/date-fns/startOfWeek.mjs
39772
39813
  function startOfWeek(date, options) {
39773
39814
  const defaultOptions2 = getDefaultOptions();
39774
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _803 => _803.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _804 => _804.locale, 'optionalAccess', _805 => _805.options, 'optionalAccess', _806 => _806.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _807 => _807.locale, 'optionalAccess', _808 => _808.options, 'optionalAccess', _809 => _809.weekStartsOn]))), () => ( 0));
39815
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _805 => _805.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _806 => _806.locale, 'optionalAccess', _807 => _807.options, 'optionalAccess', _808 => _808.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _809 => _809.locale, 'optionalAccess', _810 => _810.options, 'optionalAccess', _811 => _811.weekStartsOn]))), () => ( 0));
39775
39816
  const _date = toDate(date);
39776
39817
  const day = _date.getDay();
39777
39818
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -39946,7 +39987,7 @@ var formatDistance = (token, count, options) => {
39946
39987
  } else {
39947
39988
  result = tokenValue.other.replace("{{count}}", count.toString());
39948
39989
  }
39949
- if (_optionalChain([options, 'optionalAccess', _810 => _810.addSuffix])) {
39990
+ if (_optionalChain([options, 'optionalAccess', _812 => _812.addSuffix])) {
39950
39991
  if (options.comparison && options.comparison > 0) {
39951
39992
  return "in " + result;
39952
39993
  } else {
@@ -40013,15 +40054,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40013
40054
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40014
40055
  function buildLocalizeFn(args) {
40015
40056
  return (value, options) => {
40016
- const context = _optionalChain([options, 'optionalAccess', _811 => _811.context]) ? String(options.context) : "standalone";
40057
+ const context = _optionalChain([options, 'optionalAccess', _813 => _813.context]) ? String(options.context) : "standalone";
40017
40058
  let valuesArray;
40018
40059
  if (context === "formatting" && args.formattingValues) {
40019
40060
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40020
- const width = _optionalChain([options, 'optionalAccess', _812 => _812.width]) ? String(options.width) : defaultWidth;
40061
+ const width = _optionalChain([options, 'optionalAccess', _814 => _814.width]) ? String(options.width) : defaultWidth;
40021
40062
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40022
40063
  } else {
40023
40064
  const defaultWidth = args.defaultWidth;
40024
- const width = _optionalChain([options, 'optionalAccess', _813 => _813.width]) ? String(options.width) : args.defaultWidth;
40065
+ const width = _optionalChain([options, 'optionalAccess', _815 => _815.width]) ? String(options.width) : args.defaultWidth;
40025
40066
  valuesArray = args.values[width] || args.values[defaultWidth];
40026
40067
  }
40027
40068
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -40401,7 +40442,7 @@ function getWeekYear(date, options) {
40401
40442
  const _date = toDate(date);
40402
40443
  const year = _date.getFullYear();
40403
40444
  const defaultOptions2 = getDefaultOptions();
40404
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _814 => _814.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _815 => _815.locale, 'optionalAccess', _816 => _816.options, 'optionalAccess', _817 => _817.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _818 => _818.locale, 'optionalAccess', _819 => _819.options, 'optionalAccess', _820 => _820.firstWeekContainsDate]))), () => ( 1));
40445
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _816 => _816.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _817 => _817.locale, 'optionalAccess', _818 => _818.options, 'optionalAccess', _819 => _819.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _820 => _820.locale, 'optionalAccess', _821 => _821.options, 'optionalAccess', _822 => _822.firstWeekContainsDate]))), () => ( 1));
40405
40446
  const firstWeekOfNextYear = constructFrom(date, 0);
40406
40447
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
40407
40448
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -40422,7 +40463,7 @@ function getWeekYear(date, options) {
40422
40463
  // node_modules/date-fns/startOfWeekYear.mjs
40423
40464
  function startOfWeekYear(date, options) {
40424
40465
  const defaultOptions2 = getDefaultOptions();
40425
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _821 => _821.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _822 => _822.locale, 'optionalAccess', _823 => _823.options, 'optionalAccess', _824 => _824.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _825 => _825.locale, 'optionalAccess', _826 => _826.options, 'optionalAccess', _827 => _827.firstWeekContainsDate]))), () => ( 1));
40466
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _823 => _823.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _824 => _824.locale, 'optionalAccess', _825 => _825.options, 'optionalAccess', _826 => _826.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _827 => _827.locale, 'optionalAccess', _828 => _828.options, 'optionalAccess', _829 => _829.firstWeekContainsDate]))), () => ( 1));
40426
40467
  const year = getWeekYear(date, options);
40427
40468
  const firstWeek = constructFrom(date, 0);
40428
40469
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -41237,9 +41278,9 @@ var doubleQuoteRegExp = /''/g;
41237
41278
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
41238
41279
  function format(date, formatStr, options) {
41239
41280
  const defaultOptions2 = getDefaultOptions();
41240
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _828 => _828.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41241
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _829 => _829.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _830 => _830.locale, 'optionalAccess', _831 => _831.options, 'optionalAccess', _832 => _832.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _833 => _833.locale, 'optionalAccess', _834 => _834.options, 'optionalAccess', _835 => _835.firstWeekContainsDate]))), () => ( 1));
41242
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _836 => _836.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _837 => _837.locale, 'optionalAccess', _838 => _838.options, 'optionalAccess', _839 => _839.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _840 => _840.locale, 'optionalAccess', _841 => _841.options, 'optionalAccess', _842 => _842.weekStartsOn]))), () => ( 0));
41281
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _830 => _830.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41282
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _831 => _831.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _832 => _832.locale, 'optionalAccess', _833 => _833.options, 'optionalAccess', _834 => _834.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _835 => _835.locale, 'optionalAccess', _836 => _836.options, 'optionalAccess', _837 => _837.firstWeekContainsDate]))), () => ( 1));
41283
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _838 => _838.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _839 => _839.locale, 'optionalAccess', _840 => _840.options, 'optionalAccess', _841 => _841.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _842 => _842.locale, 'optionalAccess', _843 => _843.options, 'optionalAccess', _844 => _844.weekStartsOn]))), () => ( 0));
41243
41284
  const originalDate = toDate(date);
41244
41285
  if (!isValid(originalDate)) {
41245
41286
  throw new RangeError("Invalid time value");
@@ -41280,7 +41321,7 @@ function format(date, formatStr, options) {
41280
41321
  return parts.map((part) => {
41281
41322
  if (!part.isToken) return part.value;
41282
41323
  const token = part.value;
41283
- if (!_optionalChain([options, 'optionalAccess', _843 => _843.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _844 => _844.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41324
+ if (!_optionalChain([options, 'optionalAccess', _845 => _845.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _846 => _846.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41284
41325
  warnOrThrowProtectedError(token, formatStr, String(date));
41285
41326
  }
41286
41327
  const formatter = formatters[token[0]];
@@ -41461,7 +41502,7 @@ function ProgramCard({
41461
41502
  const dur = formatDurationFromRange(w.start_at, w.end_at);
41462
41503
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
41463
41504
  }
41464
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _845 => _845.labels, 'optionalAccess', _846 => _846.singular])].filter(
41505
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _847 => _847.labels, 'optionalAccess', _848 => _848.singular])].filter(
41465
41506
  (s) => typeof s === "string" && s.length > 0
41466
41507
  );
41467
41508
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -41618,7 +41659,7 @@ function ProgramCard({
41618
41659
 
41619
41660
 
41620
41661
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
41621
- const goalsCount = _optionalChain([campaign, 'access', _847 => _847.goals, 'optionalAccess', _848 => _848.length]) || 0;
41662
+ const goalsCount = _optionalChain([campaign, 'access', _849 => _849.goals, 'optionalAccess', _850 => _850.length]) || 0;
41622
41663
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
41623
41664
  /* @__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" }) }),
41624
41665
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41780,7 +41821,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
41780
41821
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
41781
41822
  const safePath = sanitizePath(row.path);
41782
41823
  if (safePath) {
41783
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _849 => _849.docPlatformTargets, 'optionalAccess', _850 => _850[row.documentType]]) : void 0;
41824
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _851 => _851.docPlatformTargets, 'optionalAccess', _852 => _852[row.documentType]]) : void 0;
41784
41825
  if (docTarget) {
41785
41826
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
41786
41827
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -41995,8 +42036,8 @@ function cardMenuGroups(href, discuss, openDetails) {
41995
42036
  if (href) {
41996
42037
  items.push({
41997
42038
  id: "open-details",
41998
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _851 => _851.label]), () => ( "Open Details")),
41999
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _852 => _852.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.EyeIcon, { size: 20 }))),
42039
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _853 => _853.label]), () => ( "Open Details")),
42040
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _854 => _854.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.EyeIcon, { size: 20 }))),
42000
42041
  // Main row → open the entity (same tab, soft Link nav).
42001
42042
  href,
42002
42043
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42026,8 +42067,8 @@ function HubspotTicketChatCard({
42026
42067
  isNewTab,
42027
42068
  discuss
42028
42069
  }) {
42029
- const status = typeof _optionalChain([chatRef, 'access', _853 => _853.metadata, 'optionalAccess', _854 => _854.status]) === "string" ? chatRef.metadata.status : void 0;
42030
- const statusLabel = typeof _optionalChain([chatRef, 'access', _855 => _855.metadata, 'optionalAccess', _856 => _856.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42070
+ const status = typeof _optionalChain([chatRef, 'access', _855 => _855.metadata, 'optionalAccess', _856 => _856.status]) === "string" ? chatRef.metadata.status : void 0;
42071
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _857 => _857.metadata, 'optionalAccess', _858 => _858.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42031
42072
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42032
42073
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42033
42074
  MingoInfoCard,
@@ -42050,7 +42091,7 @@ function FaqChatCard({
42050
42091
  isNewTab,
42051
42092
  discuss
42052
42093
  }) {
42053
- const section = typeof _optionalChain([chatRef, 'access', _857 => _857.metadata, 'optionalAccess', _858 => _858.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42094
+ const section = typeof _optionalChain([chatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42054
42095
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42055
42096
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42056
42097
  MingoInfoCard,
@@ -42070,7 +42111,7 @@ function SlackChatCard({
42070
42111
  isNewTab,
42071
42112
  discuss
42072
42113
  }) {
42073
- const channelName = typeof _optionalChain([chatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42114
+ const channelName = typeof _optionalChain([chatRef, 'access', _861 => _861.metadata, 'optionalAccess', _862 => _862.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42074
42115
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42075
42116
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42076
42117
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42110,7 +42151,7 @@ function GenericFinancialChatCard({
42110
42151
  isNewTab,
42111
42152
  discuss
42112
42153
  }) {
42113
- const subtitle = typeof _optionalChain([chatRef, 'access', _861 => _861.metadata, 'optionalAccess', _862 => _862.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42154
+ const subtitle = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42114
42155
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42115
42156
  MingoInfoCard,
42116
42157
  {
@@ -42179,12 +42220,12 @@ function ProductReleaseChatCard({
42179
42220
  discuss
42180
42221
  }) {
42181
42222
  const releaseProps = buildProps(item);
42182
- const status = _optionalChain([item, 'optionalAccess', _863 => _863.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42223
+ const status = _optionalChain([item, 'optionalAccess', _865 => _865.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42183
42224
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42184
42225
  EntityMingoCard,
42185
42226
  {
42186
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _864 => _864.title]), () => ( "")),
42187
- description: _optionalChain([item, 'optionalAccess', _865 => _865.summary]) || releaseProps.formattedDate || void 0,
42227
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _866 => _866.title]), () => ( "")),
42228
+ description: _optionalChain([item, 'optionalAccess', _867 => _867.summary]) || releaseProps.formattedDate || void 0,
42188
42229
  cover: releaseProps.coverImage || void 0,
42189
42230
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Rocket02Icon, { size: 24 }),
42190
42231
  status,
@@ -42201,17 +42242,17 @@ function CampaignChatCard({
42201
42242
  isNewTab,
42202
42243
  discuss
42203
42244
  }) {
42204
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _866 => _866.goals])) ? item.goals.length : 0;
42245
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _868 => _868.goals])) ? item.goals.length : 0;
42205
42246
  const meta = [
42206
- _optionalChain([item, 'optionalAccess', _867 => _867.start_date]) ? formatDateShort(item.start_date) : null,
42247
+ _optionalChain([item, 'optionalAccess', _869 => _869.start_date]) ? formatDateShort(item.start_date) : null,
42207
42248
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
42208
42249
  "Marketing campaign"
42209
42250
  ].filter(Boolean).join(" \xB7 ");
42210
42251
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42211
42252
  EntityMingoCard,
42212
42253
  {
42213
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _868 => _868.name]), () => ( "")),
42214
- description: meta || _optionalChain([item, 'optionalAccess', _869 => _869.description]) || void 0,
42254
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.name]), () => ( "")),
42255
+ description: meta || _optionalChain([item, 'optionalAccess', _871 => _871.description]) || void 0,
42215
42256
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Megaphone01Icon, { size: 24 }),
42216
42257
  chatRef,
42217
42258
  isNewTab,
@@ -42264,14 +42305,14 @@ function BlogChatCard({
42264
42305
  hasEmbeddedVideo,
42265
42306
  discuss
42266
42307
  }) {
42267
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _870 => _870.categories])) ? _optionalChain([item, 'access', _871 => _871.categories, 'access', _872 => _872.find, 'call', _873 => _873((c) => c && c.name), 'optionalAccess', _874 => _874.name]) : void 0;
42308
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _872 => _872.categories])) ? _optionalChain([item, 'access', _873 => _873.categories, 'access', _874 => _874.find, 'call', _875 => _875((c) => c && c.name), 'optionalAccess', _876 => _876.name]) : void 0;
42268
42309
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
42269
42310
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42270
42311
  EntityMingoCard,
42271
42312
  {
42272
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _875 => _875.title]), () => ( "")),
42273
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _876 => _876.summary]), () => ( void 0)),
42274
- cover: entityCover(_optionalChain([item, 'optionalAccess', _877 => _877.featured_image]), ogPlaceholder),
42313
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _877 => _877.title]), () => ( "")),
42314
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _878 => _878.summary]), () => ( void 0)),
42315
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _879 => _879.featured_image]), ogPlaceholder),
42275
42316
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.NewspaperIcon, { size: 24 }),
42276
42317
  status,
42277
42318
  chatRef,
@@ -42288,13 +42329,13 @@ function CaseStudyChatCard({
42288
42329
  ogPlaceholder,
42289
42330
  discuss
42290
42331
  }) {
42291
- const meta = [_optionalChain([item, 'optionalAccess', _878 => _878.msp, 'optionalAccess', _879 => _879.name]), _optionalChain([item, 'optionalAccess', _880 => _880.user, 'optionalAccess', _881 => _881.full_name])].filter(Boolean).join(" \xB7 ");
42332
+ const meta = [_optionalChain([item, 'optionalAccess', _880 => _880.msp, 'optionalAccess', _881 => _881.name]), _optionalChain([item, 'optionalAccess', _882 => _882.user, 'optionalAccess', _883 => _883.full_name])].filter(Boolean).join(" \xB7 ");
42292
42333
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42293
42334
  EntityMingoCard,
42294
42335
  {
42295
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _882 => _882.title]), () => ( "")),
42296
- description: _optionalChain([item, 'optionalAccess', _883 => _883.summary]) || meta || void 0,
42297
- cover: entityCover(_optionalChain([item, 'optionalAccess', _884 => _884.featured_image]), ogPlaceholder),
42336
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _884 => _884.title]), () => ( "")),
42337
+ description: _optionalChain([item, 'optionalAccess', _885 => _885.summary]) || meta || void 0,
42338
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _886 => _886.featured_image]), ogPlaceholder),
42298
42339
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TrophyIcon, { size: 24 }),
42299
42340
  status: { label: "Case study", variant: "grey" },
42300
42341
  chatRef,
@@ -42311,13 +42352,13 @@ function CustomerInterviewChatCard({
42311
42352
  ogPlaceholder,
42312
42353
  discuss
42313
42354
  }) {
42314
- const meta = [_optionalChain([item, 'optionalAccess', _885 => _885.user, 'optionalAccess', _886 => _886.full_name]), _optionalChain([item, 'optionalAccess', _887 => _887.msp, 'optionalAccess', _888 => _888.name])].filter(Boolean).join(" \xB7 ");
42355
+ const meta = [_optionalChain([item, 'optionalAccess', _887 => _887.user, 'optionalAccess', _888 => _888.full_name]), _optionalChain([item, 'optionalAccess', _889 => _889.msp, 'optionalAccess', _890 => _890.name])].filter(Boolean).join(" \xB7 ");
42315
42356
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42316
42357
  EntityMingoCard,
42317
42358
  {
42318
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _889 => _889.title]), () => ( "")),
42319
- description: _optionalChain([item, 'optionalAccess', _890 => _890.video_summary]) || meta || void 0,
42320
- cover: entityCover(_optionalChain([item, 'optionalAccess', _891 => _891.featured_image]), ogPlaceholder),
42359
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.title]), () => ( "")),
42360
+ description: _optionalChain([item, 'optionalAccess', _892 => _892.video_summary]) || meta || void 0,
42361
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _893 => _893.featured_image]), ogPlaceholder),
42321
42362
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 }),
42322
42363
  status: { label: "Interview", variant: "grey" },
42323
42364
  chatRef,
@@ -42334,13 +42375,13 @@ function InvestorUpdateChatCard({
42334
42375
  ogPlaceholder,
42335
42376
  discuss
42336
42377
  }) {
42337
- const title = _optionalChain([item, 'optionalAccess', _892 => _892.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _893 => _893.update_number]), () => ( "?"))}`;
42378
+ const title = _optionalChain([item, 'optionalAccess', _894 => _894.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _895 => _895.update_number]), () => ( "?"))}`;
42338
42379
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42339
42380
  EntityMingoCard,
42340
42381
  {
42341
42382
  title,
42342
- description: _optionalChain([item, 'optionalAccess', _894 => _894.strategic_update]) || _optionalChain([item, 'optionalAccess', _895 => _895.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _896 => _896.period_start]), _optionalChain([item, 'optionalAccess', _897 => _897.period_end])) || void 0,
42343
- cover: entityCover(_optionalChain([item, 'optionalAccess', _898 => _898.featured_image]), ogPlaceholder),
42383
+ description: _optionalChain([item, 'optionalAccess', _896 => _896.strategic_update]) || _optionalChain([item, 'optionalAccess', _897 => _897.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _898 => _898.period_start]), _optionalChain([item, 'optionalAccess', _899 => _899.period_end])) || void 0,
42384
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.featured_image]), ogPlaceholder),
42344
42385
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationLineIcon, { size: 24 }),
42345
42386
  status: { label: "Investor update", variant: "grey" },
42346
42387
  chatRef,
@@ -42357,12 +42398,12 @@ function OnboardingGuideChatCard({
42357
42398
  ogPlaceholder,
42358
42399
  discuss
42359
42400
  }) {
42360
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _899 => _899.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _901 => _901.og_image_url]), ogPlaceholder)));
42401
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _901 => _901.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _902 => _902.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _903 => _903.og_image_url]), ogPlaceholder)));
42361
42402
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42362
42403
  EntityMingoCard,
42363
42404
  {
42364
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _902 => _902.title]), () => ( "")),
42365
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _903 => _903.summary]), () => ( _optionalChain([item, 'optionalAccess', _904 => _904.description]))), () => ( void 0)),
42405
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
42406
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.summary]), () => ( _optionalChain([item, 'optionalAccess', _906 => _906.description]))), () => ( void 0)),
42366
42407
  cover,
42367
42408
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CompassIcon, { size: 24 }),
42368
42409
  status: { label: "Guide", variant: "grey" },
@@ -42383,25 +42424,25 @@ function ProgramChatCard({
42383
42424
  discuss
42384
42425
  }) {
42385
42426
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 });
42386
- const isScheduled = _optionalChain([item, 'optionalAccess', _905 => _905.status]) === "scheduled";
42427
+ const isScheduled = _optionalChain([item, 'optionalAccess', _907 => _907.status]) === "scheduled";
42387
42428
  let typeMeta;
42388
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _906 => _906.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42429
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _908 => _908.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42389
42430
  typeMeta = formatDurationCompact(item.duration_seconds);
42390
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _907 => _907.location_name]) === "string" && item.location_name.trim().length > 0) {
42431
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _909 => _909.location_name]) === "string" && item.location_name.trim().length > 0) {
42391
42432
  typeMeta = item.location_name;
42392
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _908 => _908.start_at])) {
42433
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _910 => _910.start_at])) {
42393
42434
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
42394
42435
  const dur = formatDurationFromRange(item.start_at, item.end_at);
42395
42436
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42396
42437
  }
42397
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _909 => _909.date]), () => ( null)), { fallback: "", timezone: "local" });
42438
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _911 => _911.date]), () => ( null)), { fallback: "", timezone: "local" });
42398
42439
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
42399
42440
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42400
42441
  EntityMingoCard,
42401
42442
  {
42402
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _910 => _910.title]), () => ( "")),
42403
- description: meta || _optionalChain([item, 'optionalAccess', _911 => _911.description]) || void 0,
42404
- cover: entityCover(_optionalChain([item, 'optionalAccess', _912 => _912.cover_url]), ogPlaceholder),
42443
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
42444
+ description: meta || _optionalChain([item, 'optionalAccess', _913 => _913.description]) || void 0,
42445
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _914 => _914.cover_url]), ogPlaceholder),
42405
42446
  fallbackIcon: icon,
42406
42447
  status: { label, variant: "grey" },
42407
42448
  chatRef,
@@ -42418,10 +42459,10 @@ function RoadmapChatCard({
42418
42459
  cardType,
42419
42460
  discuss
42420
42461
  }) {
42421
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _913 => _913.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42422
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _914 => _914.customItemId]) != null;
42462
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _915 => _915.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42463
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _916 => _916.customItemId]) != null;
42423
42464
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MapIcon, { size: 24 });
42424
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _915 => _915.customItemId]), className: "size-6" }) : logoUrl ? (
42465
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _917 => _917.customItemId]), className: "size-6" }) : logoUrl ? (
42425
42466
  // Contained (not full-bleed) so the integration logo keeps its aspect
42426
42467
  // ratio inside the bordered icon box — matches RoadmapCard.
42427
42468
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -42429,10 +42470,10 @@ function RoadmapChatCard({
42429
42470
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42430
42471
  EntityMingoCard,
42431
42472
  {
42432
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _916 => _916.title]), () => ( "")),
42433
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _917 => _917.description]), () => ( void 0)),
42473
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")),
42474
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _919 => _919.description]), () => ( void 0)),
42434
42475
  fallbackIcon: icon,
42435
- status: statusPill(_optionalChain([item, 'optionalAccess', _918 => _918.status])),
42476
+ status: statusPill(_optionalChain([item, 'optionalAccess', _920 => _920.status])),
42436
42477
  chatRef,
42437
42478
  isNewTab,
42438
42479
  discuss,
@@ -42518,7 +42559,7 @@ function programRegistryEntries() {
42518
42559
  discuss: opts.discuss,
42519
42560
  configKey: cfg.configKey,
42520
42561
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
42521
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _919 => _919.extras, 'optionalAccess', _920 => _920.buildOgPlaceholderUrl, 'optionalCall', _921 => _921(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.title]), () => ( "")))]), () => ( null))
42562
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _921 => _921.extras, 'optionalAccess', _922 => _922.buildOgPlaceholderUrl, 'optionalCall', _923 => _923(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")))]), () => ( null))
42522
42563
  }
42523
42564
  )
42524
42565
  };
@@ -42670,8 +42711,8 @@ var CHAT_CARD_REGISTRY = {
42670
42711
  chatRef,
42671
42712
  isNewTab: opts.isNewTab,
42672
42713
  discuss: opts.discuss,
42673
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _923 => _923.extras, 'optionalAccess', _924 => _924.buildOgPlaceholderUrl, 'optionalCall', _925 => _925(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _926 => _926.title]), () => ( "")))]), () => ( null)),
42674
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _927 => _927.metadata, 'optionalAccess', _928 => _928.hasEmbeddedVideo]) === true
42714
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildOgPlaceholderUrl, 'optionalCall', _927 => _927(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")))]), () => ( null)),
42715
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _929 => _929.metadata, 'optionalAccess', _930 => _930.hasEmbeddedVideo]) === true
42675
42716
  }
42676
42717
  )
42677
42718
  },
@@ -42688,7 +42729,7 @@ var CHAT_CARD_REGISTRY = {
42688
42729
  chatRef,
42689
42730
  isNewTab: opts.isNewTab,
42690
42731
  discuss: opts.discuss,
42691
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _929 => _929.extras, 'optionalAccess', _930 => _930.buildOgPlaceholderUrl, 'optionalCall', _931 => _931(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")))]), () => ( null))
42732
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _931 => _931.extras, 'optionalAccess', _932 => _932.buildOgPlaceholderUrl, 'optionalCall', _933 => _933(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _934 => _934.title]), () => ( "")))]), () => ( null))
42692
42733
  }
42693
42734
  )
42694
42735
  },
@@ -42705,7 +42746,7 @@ var CHAT_CARD_REGISTRY = {
42705
42746
  chatRef,
42706
42747
  isNewTab: opts.isNewTab,
42707
42748
  discuss: opts.discuss,
42708
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _933 => _933.extras, 'optionalAccess', _934 => _934.buildOgPlaceholderUrl, 'optionalCall', _935 => _935(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _936 => _936.title]), () => ( "")))]), () => ( null))
42749
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _935 => _935.extras, 'optionalAccess', _936 => _936.buildOgPlaceholderUrl, 'optionalCall', _937 => _937(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _938 => _938.title]), () => ( "")))]), () => ( null))
42709
42750
  }
42710
42751
  )
42711
42752
  },
@@ -42716,7 +42757,7 @@ var CHAT_CARD_REGISTRY = {
42716
42757
  bareInline: true,
42717
42758
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
42718
42759
  render: (item, chatRef, opts) => {
42719
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _937 => _937.extras, 'optionalAccess', _938 => _938.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42760
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42720
42761
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42721
42762
  ProductReleaseChatCard,
42722
42763
  {
@@ -42743,7 +42784,7 @@ var CHAT_CARD_REGISTRY = {
42743
42784
  chatRef,
42744
42785
  isNewTab: opts.isNewTab,
42745
42786
  discuss: opts.discuss,
42746
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildOgPlaceholderUrl, 'optionalCall', _941 => _941(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.title]), () => ( "")))]), () => ( null))
42787
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _941 => _941.extras, 'optionalAccess', _942 => _942.buildOgPlaceholderUrl, 'optionalCall', _943 => _943(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _944 => _944.title]), () => ( "")))]), () => ( null))
42747
42788
  }
42748
42789
  )
42749
42790
  },
@@ -42762,7 +42803,7 @@ var CHAT_CARD_REGISTRY = {
42762
42803
  chatRef,
42763
42804
  isNewTab: opts.isNewTab,
42764
42805
  discuss: opts.discuss,
42765
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _943 => _943.extras, 'optionalAccess', _944 => _944.buildOgPlaceholderUrl, 'optionalCall', _945 => _945(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _946 => _946.title]), () => ( "")))]), () => ( null))
42806
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildOgPlaceholderUrl, 'optionalCall', _947 => _947(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _948 => _948.title]), () => ( "")))]), () => ( null))
42766
42807
  }
42767
42808
  )
42768
42809
  },
@@ -42774,7 +42815,7 @@ var CHAT_CARD_REGISTRY = {
42774
42815
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
42775
42816
  // No public viewer — synthesize the hub-internal admin URL post-fetch
42776
42817
  // so the wrapper + isNewTab computation see the actual destination.
42777
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _947 => _947.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42818
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _949 => _949.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42778
42819
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42779
42820
  CampaignChatCard,
42780
42821
  {
@@ -42800,12 +42841,12 @@ function ChatCardNavWrap({
42800
42841
  const onClickCapture = (e) => {
42801
42842
  if (!href) return;
42802
42843
  const targetEl = e.target;
42803
- if (_optionalChain([targetEl, 'optionalAccess', _948 => _948.closest, 'optionalCall', _949 => _949("button")])) return;
42804
- if (!_optionalChain([targetEl, 'optionalAccess', _950 => _950.closest, 'optionalCall', _951 => _951("a")])) return;
42844
+ if (_optionalChain([targetEl, 'optionalAccess', _950 => _950.closest, 'optionalCall', _951 => _951("button")])) return;
42845
+ if (!_optionalChain([targetEl, 'optionalAccess', _952 => _952.closest, 'optionalCall', _953 => _953("a")])) return;
42805
42846
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
42806
42847
  if (!handled) return;
42807
42848
  e.stopPropagation();
42808
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _952 => _952.closeChat])) panel.closeChat();
42849
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _954 => _954.closeChat])) panel.closeChat();
42809
42850
  };
42810
42851
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
42811
42852
  }
@@ -42827,7 +42868,7 @@ function ChatCardLoader({
42827
42868
  title: chatRef.title,
42828
42869
  externalUrl: chatRef.url,
42829
42870
  targetPlatform: chatRef.targetPlatform,
42830
- path: typeof _optionalChain([chatRef, 'access', _953 => _953.metadata, 'optionalAccess', _954 => _954.path]) === "string" ? chatRef.metadata.path : null
42871
+ path: typeof _optionalChain([chatRef, 'access', _955 => _955.metadata, 'optionalAccess', _956 => _956.path]) === "string" ? chatRef.metadata.path : null
42831
42872
  },
42832
42873
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
42833
42874
  );
@@ -42841,7 +42882,7 @@ function ChatCardLoader({
42841
42882
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
42842
42883
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
42843
42884
  const { item, isLoading } = useChatCardItem(
42844
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _955 => _955.contentRefType]), () => ( "")),
42885
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _957 => _957.contentRefType]), () => ( "")),
42845
42886
  fetchEntry ? resolvedChatRef.id : ""
42846
42887
  );
42847
42888
  if (!entry) return null;
@@ -42872,7 +42913,7 @@ function ChatCardLoader({
42872
42913
  isNewTab,
42873
42914
  discuss
42874
42915
  };
42875
- const path = typeof _optionalChain([finalChatRef, 'access', _956 => _956.metadata, 'optionalAccess', _957 => _957.path]) === "string" ? finalChatRef.metadata.path : null;
42916
+ const path = typeof _optionalChain([finalChatRef, 'access', _958 => _958.metadata, 'optionalAccess', _959 => _959.path]) === "string" ? finalChatRef.metadata.path : null;
42876
42917
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42877
42918
  ChatCardNavWrap,
42878
42919
  {
@@ -43258,7 +43299,7 @@ function useJetStreamDialogSubscription({
43258
43299
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43259
43300
  conn: sharedConn,
43260
43301
  wsUrl,
43261
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _958 => _958.current, 'optionalCall', _959 => _959()]),
43302
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _960 => _960.current, 'optionalCall', _961 => _961()]),
43262
43303
  backoff: reconnectionBackoffRef.current,
43263
43304
  getFreshUrl: () => getNatsWsUrlRef.current(),
43264
43305
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -43273,7 +43314,7 @@ function useJetStreamDialogSubscription({
43273
43314
  setReconnectionCount((c) => c + 1);
43274
43315
  }
43275
43316
  hadConnectionBeforeRef.current = true;
43276
- _optionalChain([onConnectRef, 'access', _960 => _960.current, 'optionalCall', _961 => _961()]);
43317
+ _optionalChain([onConnectRef, 'access', _962 => _962.current, 'optionalCall', _963 => _963()]);
43277
43318
  }
43278
43319
  if (status === "error") {
43279
43320
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -43283,7 +43324,7 @@ function useJetStreamDialogSubscription({
43283
43324
  setIsConnected(false);
43284
43325
  setIsSubscribed(false);
43285
43326
  tearDownSubscription();
43286
- _optionalChain([onDisconnectRef, 'access', _962 => _962.current, 'optionalCall', _963 => _963()]);
43327
+ _optionalChain([onDisconnectRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]);
43287
43328
  }
43288
43329
  }
43289
43330
  });
@@ -43362,7 +43403,7 @@ function useJetStreamDialogSubscription({
43362
43403
  }
43363
43404
  subscriptionRef.current = handle;
43364
43405
  setIsSubscribed(true);
43365
- _optionalChain([onSubscribedRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]);
43406
+ _optionalChain([onSubscribedRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]);
43366
43407
  } catch (e44) {
43367
43408
  if (!cancelled) {
43368
43409
  setIsSubscribed(false);
@@ -43475,20 +43516,20 @@ function useNatsDialogSubscription({
43475
43516
  const tearDownSubscriptions = () => {
43476
43517
  subscriptionRefs.current.forEach((sub) => {
43477
43518
  try {
43478
- _optionalChain([sub, 'optionalAccess', _966 => _966.unsubscribe, 'call', _967 => _967()]);
43519
+ _optionalChain([sub, 'optionalAccess', _968 => _968.unsubscribe, 'call', _969 => _969()]);
43479
43520
  } catch (e46) {
43480
43521
  }
43481
43522
  });
43482
43523
  subscriptionRefs.current.clear();
43483
43524
  lastSubscribedDialogIdRef.current = null;
43484
- _optionalChain([abortControllerRef, 'access', _968 => _968.current, 'optionalAccess', _969 => _969.abort, 'call', _970 => _970()]);
43525
+ _optionalChain([abortControllerRef, 'access', _970 => _970.current, 'optionalAccess', _971 => _971.abort, 'call', _972 => _972()]);
43485
43526
  abortControllerRef.current = null;
43486
43527
  };
43487
43528
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
43488
43529
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43489
43530
  conn: sharedConn,
43490
43531
  wsUrl,
43491
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _971 => _971.current, 'optionalCall', _972 => _972()]),
43532
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]),
43492
43533
  backoff: reconnectionBackoffRef.current,
43493
43534
  getFreshUrl: () => getNatsWsUrlRef.current(),
43494
43535
  shouldRetryOn: isDisconnectStatus,
@@ -43499,7 +43540,7 @@ function useNatsDialogSubscription({
43499
43540
  setReconnectionCount((c) => c + 1);
43500
43541
  }
43501
43542
  hadConnectionBeforeRef.current = true;
43502
- _optionalChain([onConnectRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]);
43543
+ _optionalChain([onConnectRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
43503
43544
  }
43504
43545
  if (status === "error") {
43505
43546
  console.warn("[NATS] protocol error:", evt.data);
@@ -43509,7 +43550,7 @@ function useNatsDialogSubscription({
43509
43550
  setIsConnected(false);
43510
43551
  setIsSubscribed(false);
43511
43552
  tearDownSubscriptions();
43512
- _optionalChain([onDisconnectRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
43553
+ _optionalChain([onDisconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
43513
43554
  }
43514
43555
  }
43515
43556
  });
@@ -43540,13 +43581,13 @@ function useNatsDialogSubscription({
43540
43581
  setIsSubscribed(false);
43541
43582
  subscriptionRefs.current.forEach((sub) => {
43542
43583
  try {
43543
- _optionalChain([sub, 'optionalAccess', _977 => _977.unsubscribe, 'call', _978 => _978()]);
43584
+ _optionalChain([sub, 'optionalAccess', _979 => _979.unsubscribe, 'call', _980 => _980()]);
43544
43585
  } catch (e47) {
43545
43586
  }
43546
43587
  });
43547
43588
  subscriptionRefs.current.clear();
43548
43589
  lastSubscribedDialogIdRef.current = null;
43549
- _optionalChain([abortControllerRef, 'access', _979 => _979.current, 'optionalAccess', _980 => _980.abort, 'call', _981 => _981()]);
43590
+ _optionalChain([abortControllerRef, 'access', _981 => _981.current, 'optionalAccess', _982 => _982.abort, 'call', _983 => _983()]);
43550
43591
  abortControllerRef.current = null;
43551
43592
  }
43552
43593
  return;
@@ -43558,12 +43599,12 @@ function useNatsDialogSubscription({
43558
43599
  if (subscriptionRefs.current.size > 0) {
43559
43600
  subscriptionRefs.current.forEach((sub) => {
43560
43601
  try {
43561
- _optionalChain([sub, 'optionalAccess', _982 => _982.unsubscribe, 'call', _983 => _983()]);
43602
+ _optionalChain([sub, 'optionalAccess', _984 => _984.unsubscribe, 'call', _985 => _985()]);
43562
43603
  } catch (e48) {
43563
43604
  }
43564
43605
  });
43565
43606
  subscriptionRefs.current.clear();
43566
- _optionalChain([abortControllerRef, 'access', _984 => _984.current, 'optionalAccess', _985 => _985.abort, 'call', _986 => _986()]);
43607
+ _optionalChain([abortControllerRef, 'access', _986 => _986.current, 'optionalAccess', _987 => _987.abort, 'call', _988 => _988()]);
43567
43608
  }
43568
43609
  abortControllerRef.current = new AbortController();
43569
43610
  const abort = abortControllerRef.current;
@@ -43595,7 +43636,7 @@ function useNatsDialogSubscription({
43595
43636
  });
43596
43637
  lastSubscribedDialogIdRef.current = dialogId;
43597
43638
  setIsSubscribed(true);
43598
- _optionalChain([onSubscribedRef, 'access', _987 => _987.current, 'optionalCall', _988 => _988()]);
43639
+ _optionalChain([onSubscribedRef, 'access', _989 => _989.current, 'optionalCall', _990 => _990()]);
43599
43640
  };
43600
43641
  if (isConnectedRef.current) {
43601
43642
  createSubscriptions();
@@ -43605,7 +43646,7 @@ function useNatsDialogSubscription({
43605
43646
  abort.abort();
43606
43647
  subscriptionRefs.current.forEach((sub) => {
43607
43648
  try {
43608
- _optionalChain([sub, 'optionalAccess', _989 => _989.unsubscribe, 'call', _990 => _990()]);
43649
+ _optionalChain([sub, 'optionalAccess', _991 => _991.unsubscribe, 'call', _992 => _992()]);
43609
43650
  } catch (e50) {
43610
43651
  }
43611
43652
  });
@@ -43646,7 +43687,7 @@ function useNatsDialogSubscription({
43646
43687
  });
43647
43688
  lastSubscribedDialogIdRef.current = dialogId2;
43648
43689
  setIsSubscribed(true);
43649
- _optionalChain([onSubscribedRef, 'access', _991 => _991.current, 'optionalCall', _992 => _992()]);
43690
+ _optionalChain([onSubscribedRef, 'access', _993 => _993.current, 'optionalCall', _994 => _994()]);
43650
43691
  } else if (subscriptionRefs.current.size > 0) {
43651
43692
  setIsSubscribed(true);
43652
43693
  }
@@ -43654,10 +43695,10 @@ function useNatsDialogSubscription({
43654
43695
  return { isConnected, isSubscribed, reconnectionCount };
43655
43696
  }
43656
43697
  function buildNatsWsUrl(apiBaseUrl, options) {
43657
- const path = _optionalChain([options, 'optionalAccess', _993 => _993.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43698
+ const path = _optionalChain([options, 'optionalAccess', _995 => _995.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43658
43699
  const u = new URL(path, apiBaseUrl);
43659
43700
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
43660
- if (_optionalChain([options, 'optionalAccess', _994 => _994.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _995 => _995.token])) {
43701
+ if (_optionalChain([options, 'optionalAccess', _996 => _996.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _997 => _997.token])) {
43661
43702
  u.searchParams.set("authorization", options.token);
43662
43703
  }
43663
43704
  return u.toString();
@@ -43793,7 +43834,7 @@ function parseChunkToAction(chunk) {
43793
43834
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
43794
43835
  // historical path in `process-historical-messages.ts`) — keeps both
43795
43836
  // message sources producing an identical shape.
43796
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _996 => _996.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _997 => _997.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43837
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _998 => _998.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _999 => _999.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43797
43838
  };
43798
43839
  case MESSAGE_TYPE.TOKEN_USAGE:
43799
43840
  return {
@@ -43985,8 +44026,8 @@ var MessageSegmentAccumulator = class {
43985
44026
  type: "tool_execution",
43986
44027
  data: {
43987
44028
  ...toolData,
43988
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _998 => _998.data, 'access', _999 => _999.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1000 => _1000.toolTitle]))),
43989
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1001 => _1001.parameters])
44029
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1000 => _1000.data, 'access', _1001 => _1001.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1002 => _1002.toolTitle]))),
44030
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1003 => _1003.parameters])
43990
44031
  }
43991
44032
  };
43992
44033
  if (existingIndex !== -1) {
@@ -44010,8 +44051,8 @@ var MessageSegmentAccumulator = class {
44010
44051
  if (seg.type !== "approval_batch") return seg;
44011
44052
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44012
44053
  if (!hasCall) return seg;
44013
- const prev = _optionalChain([seg, 'access', _1002 => _1002.data, 'access', _1003 => _1003.executions, 'optionalAccess', _1004 => _1004[execId]]);
44014
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1005 => _1005.result]), success: _optionalChain([prev, 'optionalAccess', _1006 => _1006.success]) };
44054
+ const prev = _optionalChain([seg, 'access', _1004 => _1004.data, 'access', _1005 => _1005.executions, 'optionalAccess', _1006 => _1006[execId]]);
44055
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1007 => _1007.result]), success: _optionalChain([prev, 'optionalAccess', _1008 => _1008.success]) };
44015
44056
  matched = true;
44016
44057
  return {
44017
44058
  ...seg,
@@ -44133,10 +44174,10 @@ var MessageSegmentAccumulator = class {
44133
44174
  const segment = {
44134
44175
  type: "approval_request",
44135
44176
  data: {
44136
- command: _optionalChain([pendingApproval, 'optionalAccess', _1007 => _1007.command]) || "",
44137
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1008 => _1008.explanation]),
44177
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1009 => _1009.command]) || "",
44178
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1010 => _1010.explanation]),
44138
44179
  requestId,
44139
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1009 => _1009.approvalType]) || approvalType
44180
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1011 => _1011.approvalType]) || approvalType
44140
44181
  },
44141
44182
  status,
44142
44183
  onApprove: this.callbacks.onApprove,
@@ -44328,7 +44369,7 @@ function useRealtimeChunkProcessor(options) {
44328
44369
  if (initialState.escalatedApprovals) {
44329
44370
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
44330
44371
  initialState.escalatedApprovals.forEach((data, requestId) => {
44331
- _optionalChain([callbacks, 'access', _1010 => _1010.onEscalatedApproval, 'optionalCall', _1011 => _1011(requestId, data)]);
44372
+ _optionalChain([callbacks, 'access', _1012 => _1012.onEscalatedApproval, 'optionalCall', _1013 => _1013(requestId, data)]);
44332
44373
  });
44333
44374
  }
44334
44375
  hasEverStreamedRef.current = true;
@@ -44349,12 +44390,12 @@ function useRealtimeChunkProcessor(options) {
44349
44390
  if (!action) return;
44350
44391
  const accumulator = accumulatorRef.current;
44351
44392
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
44352
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1012 => _1012.onSegmentsUpdate, 'optionalCall', _1013 => _1013(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44393
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1014 => _1014.onSegmentsUpdate, 'optionalCall', _1015 => _1015(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44353
44394
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
44354
44395
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
44355
44396
  if (isInStreamRef.current) {
44356
44397
  isInStreamRef.current = false;
44357
- _optionalChain([callbacks, 'access', _1014 => _1014.onStreamEnd, 'optionalCall', _1015 => _1015()]);
44398
+ _optionalChain([callbacks, 'access', _1016 => _1016.onStreamEnd, 'optionalCall', _1017 => _1017()]);
44358
44399
  accumulator.resetSegments();
44359
44400
  }
44360
44401
  return;
@@ -44363,16 +44404,16 @@ function useRealtimeChunkProcessor(options) {
44363
44404
  case "message_start":
44364
44405
  isInStreamRef.current = true;
44365
44406
  hasEverStreamedRef.current = true;
44366
- _optionalChain([callbacks, 'access', _1016 => _1016.onStreamStart, 'optionalCall', _1017 => _1017()]);
44407
+ _optionalChain([callbacks, 'access', _1018 => _1018.onStreamStart, 'optionalCall', _1019 => _1019()]);
44367
44408
  accumulator.resetSegments();
44368
44409
  break;
44369
44410
  case "message_end":
44370
44411
  isInStreamRef.current = false;
44371
- _optionalChain([callbacks, 'access', _1018 => _1018.onStreamEnd, 'optionalCall', _1019 => _1019()]);
44412
+ _optionalChain([callbacks, 'access', _1020 => _1020.onStreamEnd, 'optionalCall', _1021 => _1021()]);
44372
44413
  accumulator.resetSegments();
44373
44414
  break;
44374
44415
  case "metadata":
44375
- _optionalChain([callbacks, 'access', _1020 => _1020.onMetadata, 'optionalCall', _1021 => _1021(action)]);
44416
+ _optionalChain([callbacks, 'access', _1022 => _1022.onMetadata, 'optionalCall', _1023 => _1023(action)]);
44376
44417
  break;
44377
44418
  case "text": {
44378
44419
  const segments = accumulator.appendText(action.text);
@@ -44415,7 +44456,7 @@ function useRealtimeChunkProcessor(options) {
44415
44456
  emitSegments(segments);
44416
44457
  } else {
44417
44458
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44418
- _optionalChain([callbacks, 'access', _1022 => _1022.onEscalatedApproval, 'optionalCall', _1023 => _1023(requestId, { command, explanation, approvalType })]);
44459
+ _optionalChain([callbacks, 'access', _1024 => _1024.onEscalatedApproval, 'optionalCall', _1025 => _1025(requestId, { command, explanation, approvalType })]);
44419
44460
  }
44420
44461
  break;
44421
44462
  }
@@ -44427,13 +44468,13 @@ function useRealtimeChunkProcessor(options) {
44427
44468
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
44428
44469
  pendingEscalatedRef.current.set(requestId, {
44429
44470
  command: summary,
44430
- explanation: _optionalChain([required, 'optionalAccess', _1024 => _1024.toolExplanation]),
44471
+ explanation: _optionalChain([required, 'optionalAccess', _1026 => _1026.toolExplanation]),
44431
44472
  approvalType,
44432
44473
  toolCalls
44433
44474
  });
44434
- _optionalChain([callbacks, 'access', _1025 => _1025.onEscalatedApproval, 'optionalCall', _1026 => _1026(requestId, {
44475
+ _optionalChain([callbacks, 'access', _1027 => _1027.onEscalatedApproval, 'optionalCall', _1028 => _1028(requestId, {
44435
44476
  command: summary,
44436
- explanation: _optionalChain([required, 'optionalAccess', _1027 => _1027.toolExplanation]),
44477
+ explanation: _optionalChain([required, 'optionalAccess', _1029 => _1029.toolExplanation]),
44437
44478
  approvalType
44438
44479
  })]);
44439
44480
  break;
@@ -44463,7 +44504,7 @@ function useRealtimeChunkProcessor(options) {
44463
44504
  const status = approved ? "approved" : "rejected";
44464
44505
  if (escalatedData) {
44465
44506
  pendingEscalatedRef.current.delete(requestId);
44466
- _optionalChain([callbacks, 'access', _1028 => _1028.onEscalatedApprovalResult, 'optionalCall', _1029 => _1029(requestId, approved, {
44507
+ _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApprovalResult, 'optionalCall', _1031 => _1031(requestId, approved, {
44467
44508
  command: escalatedData.command,
44468
44509
  explanation: escalatedData.explanation,
44469
44510
  approvalType: escalatedData.approvalType
@@ -44509,29 +44550,29 @@ function useRealtimeChunkProcessor(options) {
44509
44550
  emitSegments(accumulator.getSegments());
44510
44551
  }
44511
44552
  }
44512
- _optionalChain([callbacks, 'access', _1030 => _1030.onApprovalResolved, 'optionalCall', _1031 => _1031(requestId, status, approvalType, resolvedByName)]);
44553
+ _optionalChain([callbacks, 'access', _1032 => _1032.onApprovalResolved, 'optionalCall', _1033 => _1033(requestId, status, approvalType, resolvedByName)]);
44513
44554
  break;
44514
44555
  }
44515
44556
  case "error": {
44516
44557
  let message2;
44517
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1032 => _1032.details])) {
44558
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1034 => _1034.details])) {
44518
44559
  try {
44519
- message2 = _optionalChain([JSON, 'access', _1033 => _1033.parse, 'call', _1034 => _1034(action.details), 'optionalAccess', _1035 => _1035.error, 'optionalAccess', _1036 => _1036.message]);
44560
+ message2 = _optionalChain([JSON, 'access', _1035 => _1035.parse, 'call', _1036 => _1036(action.details), 'optionalAccess', _1037 => _1037.error, 'optionalAccess', _1038 => _1038.message]);
44520
44561
  } catch (e52) {
44521
44562
  message2 = action.details;
44522
44563
  }
44523
44564
  }
44524
44565
  const segments = accumulator.addError(action.error, message2);
44525
44566
  emitSegments(segments);
44526
- _optionalChain([callbacks, 'access', _1037 => _1037.onError, 'optionalCall', _1038 => _1038(action.error, message2)]);
44567
+ _optionalChain([callbacks, 'access', _1039 => _1039.onError, 'optionalCall', _1040 => _1040(action.error, message2)]);
44527
44568
  break;
44528
44569
  }
44529
44570
  case "system": {
44530
- _optionalChain([callbacks, 'access', _1039 => _1039.onSystemMessage, 'optionalCall', _1040 => _1040(action.text, { streamSeq })]);
44571
+ _optionalChain([callbacks, 'access', _1041 => _1041.onSystemMessage, 'optionalCall', _1042 => _1042(action.text, { streamSeq })]);
44531
44572
  break;
44532
44573
  }
44533
44574
  case "direct_message": {
44534
- _optionalChain([callbacks, 'access', _1041 => _1041.onDirectMessage, 'optionalCall', _1042 => _1042(action.text, {
44575
+ _optionalChain([callbacks, 'access', _1043 => _1043.onDirectMessage, 'optionalCall', _1044 => _1044(action.text, {
44535
44576
  ownerType: action.ownerType,
44536
44577
  displayName: action.displayName,
44537
44578
  userId: action.userId,
@@ -44540,7 +44581,7 @@ function useRealtimeChunkProcessor(options) {
44540
44581
  break;
44541
44582
  }
44542
44583
  case "message_request":
44543
- _optionalChain([callbacks, 'access', _1043 => _1043.onUserMessage, 'optionalCall', _1044 => _1044(action.text, {
44584
+ _optionalChain([callbacks, 'access', _1045 => _1045.onUserMessage, 'optionalCall', _1046 => _1046(action.text, {
44544
44585
  ownerType: action.ownerType,
44545
44586
  displayName: action.displayName,
44546
44587
  userId: action.userId,
@@ -44549,7 +44590,7 @@ function useRealtimeChunkProcessor(options) {
44549
44590
  })]);
44550
44591
  break;
44551
44592
  case "token_usage":
44552
- _optionalChain([callbacks, 'access', _1045 => _1045.onTokenUsage, 'optionalCall', _1046 => _1046(action.data)]);
44593
+ _optionalChain([callbacks, 'access', _1047 => _1047.onTokenUsage, 'optionalCall', _1048 => _1048(action.data)]);
44553
44594
  break;
44554
44595
  case "context_compaction_start": {
44555
44596
  const standalone = !isInStreamRef.current;
@@ -44564,7 +44605,7 @@ function useRealtimeChunkProcessor(options) {
44564
44605
  break;
44565
44606
  }
44566
44607
  case "dialog_closed":
44567
- _optionalChain([callbacks, 'access', _1047 => _1047.onDialogClosed, 'optionalCall', _1048 => _1048()]);
44608
+ _optionalChain([callbacks, 'access', _1049 => _1049.onDialogClosed, 'optionalCall', _1050 => _1050()]);
44568
44609
  break;
44569
44610
  default:
44570
44611
  break;
@@ -44611,7 +44652,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
44611
44652
  const data = await res.json();
44612
44653
  return _nullishCoalesce(data.commands, () => ( []));
44613
44654
  } catch (err) {
44614
- if (_optionalChain([err, 'optionalAccess', _1049 => _1049.name]) === "AbortError") throw err;
44655
+ if (_optionalChain([err, 'optionalAccess', _1051 => _1051.name]) === "AbortError") throw err;
44615
44656
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
44616
44657
  return [];
44617
44658
  }
@@ -44632,7 +44673,7 @@ function useSlashCommands(prefix, commandsUrl) {
44632
44673
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
44633
44674
  if (!cancelled) setCommands(next);
44634
44675
  } catch (err) {
44635
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1050 => _1050.name]) !== "AbortError") {
44676
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1052 => _1052.name]) !== "AbortError") {
44636
44677
  console.warn("[use-slash-commands] fetch failed:", err);
44637
44678
  }
44638
44679
  } finally {
@@ -44651,7 +44692,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
44651
44692
  const query = _reactquery.useQuery.call(void 0, {
44652
44693
  queryKey: ["chat-slash-commands", commandsUrl],
44653
44694
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
44654
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1051 => _1051.enabled]), () => ( true)),
44695
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1053 => _1053.enabled]), () => ( true)),
44655
44696
  staleTime: Infinity,
44656
44697
  gcTime: Infinity,
44657
44698
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -44687,18 +44728,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
44687
44728
  }
44688
44729
  const data = await res.json();
44689
44730
  return {
44690
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1052 => _1052.greeting]), () => ( null)),
44691
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1053 => _1053.enabledRagTableIds]), () => ( [])),
44692
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1054 => _1054.suggestedQueries]), () => ( []))
44731
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1054 => _1054.greeting]), () => ( null)),
44732
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1055 => _1055.enabledRagTableIds]), () => ( [])),
44733
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1056 => _1056.suggestedQueries]), () => ( []))
44693
44734
  };
44694
44735
  } catch (err) {
44695
- if (_optionalChain([err, 'optionalAccess', _1055 => _1055.name]) === "AbortError") throw err;
44736
+ if (_optionalChain([err, 'optionalAccess', _1057 => _1057.name]) === "AbortError") throw err;
44696
44737
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
44697
44738
  return EMPTY_STATE_FALLBACK;
44698
44739
  }
44699
44740
  }
44700
44741
  function useEmptyStateConfig(emptyStateUrl, options) {
44701
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1056 => _1056.enabled]), () => ( true))) && !!emptyStateUrl;
44742
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1058 => _1058.enabled]), () => ( true))) && !!emptyStateUrl;
44702
44743
  const query = _reactquery.useQuery.call(void 0, {
44703
44744
  queryKey: ["chat-empty-state", emptyStateUrl],
44704
44745
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -44727,7 +44768,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
44727
44768
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
44728
44769
  function uploadWithProgress(url, file, token, onProgress, signal) {
44729
44770
  return new Promise((resolve, reject) => {
44730
- if (_optionalChain([signal, 'optionalAccess', _1057 => _1057.aborted])) {
44771
+ if (_optionalChain([signal, 'optionalAccess', _1059 => _1059.aborted])) {
44731
44772
  reject(new Error("Upload cancelled"));
44732
44773
  return;
44733
44774
  }
@@ -44741,7 +44782,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44741
44782
  xhr.removeEventListener("error", handleError);
44742
44783
  xhr.removeEventListener("abort", handleAbort);
44743
44784
  xhr.removeEventListener("timeout", handleTimeout);
44744
- _optionalChain([signal, 'optionalAccess', _1058 => _1058.removeEventListener, 'call', _1059 => _1059("abort", handleSignalAbort)]);
44785
+ _optionalChain([signal, 'optionalAccess', _1060 => _1060.removeEventListener, 'call', _1061 => _1061("abort", handleSignalAbort)]);
44745
44786
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
44746
44787
  };
44747
44788
  const handleProgress = (event) => {
@@ -44777,7 +44818,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44777
44818
  const handleSignalAbort = () => {
44778
44819
  xhr.abort();
44779
44820
  };
44780
- _optionalChain([signal, 'optionalAccess', _1060 => _1060.addEventListener, 'call', _1061 => _1061("abort", handleSignalAbort, { once: true })]);
44821
+ _optionalChain([signal, 'optionalAccess', _1062 => _1062.addEventListener, 'call', _1063 => _1063("abort", handleSignalAbort, { once: true })]);
44781
44822
  xhr.upload.addEventListener("progress", handleProgress);
44782
44823
  xhr.addEventListener("load", handleLoad);
44783
44824
  xhr.addEventListener("error", handleError);
@@ -44821,12 +44862,12 @@ function useChatAttachments() {
44821
44862
  try {
44822
44863
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
44823
44864
  } catch (err) {
44824
- if (_optionalChain([ctrl, 'optionalAccess', _1062 => _1062.signal, 'access', _1063 => _1063.aborted])) return;
44865
+ if (_optionalChain([ctrl, 'optionalAccess', _1064 => _1064.signal, 'access', _1065 => _1065.aborted])) return;
44825
44866
  throw new Error(
44826
44867
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
44827
44868
  );
44828
44869
  }
44829
- if (_optionalChain([ctrl, 'optionalAccess', _1064 => _1064.signal, 'access', _1065 => _1065.aborted])) return;
44870
+ if (_optionalChain([ctrl, 'optionalAccess', _1066 => _1066.signal, 'access', _1067 => _1067.aborted])) return;
44830
44871
  if (!sniffed) {
44831
44872
  throw new Error("Unrecognized file format");
44832
44873
  }
@@ -44840,7 +44881,7 @@ function useChatAttachments() {
44840
44881
  const urlResp = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
44841
44882
  method: "POST",
44842
44883
  headers: { "Content-Type": "application/json" },
44843
- signal: _optionalChain([ctrl, 'optionalAccess', _1066 => _1066.signal]),
44884
+ signal: _optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal]),
44844
44885
  body: JSON.stringify({
44845
44886
  fileName: att.file.name,
44846
44887
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -44866,9 +44907,9 @@ function useChatAttachments() {
44866
44907
  (pct) => {
44867
44908
  updateOne(att.id, { progress: pct });
44868
44909
  },
44869
- _optionalChain([ctrl, 'optionalAccess', _1067 => _1067.signal])
44910
+ _optionalChain([ctrl, 'optionalAccess', _1069 => _1069.signal])
44870
44911
  );
44871
- if (_optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal, 'access', _1069 => _1069.aborted])) return;
44912
+ if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
44872
44913
  updateOne(att.id, {
44873
44914
  status: "ready",
44874
44915
  progress: 100,
@@ -44876,7 +44917,7 @@ function useChatAttachments() {
44876
44917
  viewToken: mintData.viewToken
44877
44918
  });
44878
44919
  } catch (err) {
44879
- if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
44920
+ if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
44880
44921
  const message2 = err instanceof Error ? err.message : String(err);
44881
44922
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
44882
44923
  } finally {
@@ -45027,7 +45068,7 @@ var ANON_DEFAULTS = {
45027
45068
  function useResolveChatIdentity(enabled) {
45028
45069
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45029
45070
  const url = runtime.endpoints.identityUrl;
45030
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1072 => _1072.email]), () => ( null));
45071
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1074 => _1074.email]), () => ( null));
45031
45072
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45032
45073
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45033
45074
  _react.useEffect.call(void 0, () => {
@@ -45118,7 +45159,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45118
45159
  yield chunk;
45119
45160
  }
45120
45161
  } catch (err) {
45121
- if (_optionalChain([err, 'optionalAccess', _1073 => _1073.name]) === "AbortError" || ctrl.signal.aborted) {
45162
+ if (_optionalChain([err, 'optionalAccess', _1075 => _1075.name]) === "AbortError" || ctrl.signal.aborted) {
45122
45163
  return;
45123
45164
  }
45124
45165
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45169,7 +45210,7 @@ function useChat({
45169
45210
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45170
45211
  onMessagesChangeRef.current = onMessagesChange;
45171
45212
  _react.useEffect.call(void 0, () => {
45172
- _optionalChain([onMessagesChangeRef, 'access', _1074 => _1074.current, 'optionalCall', _1075 => _1075(messages)]);
45213
+ _optionalChain([onMessagesChangeRef, 'access', _1076 => _1076.current, 'optionalCall', _1077 => _1077(messages)]);
45173
45214
  }, [messages]);
45174
45215
  const {
45175
45216
  streamMessage,
@@ -45206,7 +45247,7 @@ function useChat({
45206
45247
  name: "You",
45207
45248
  content: text,
45208
45249
  timestamp: /* @__PURE__ */ new Date(),
45209
- ..._optionalChain([options, 'optionalAccess', _1076 => _1076.hidden]) ? { hidden: true } : {}
45250
+ ..._optionalChain([options, 'optionalAccess', _1078 => _1078.hidden]) ? { hidden: true } : {}
45210
45251
  };
45211
45252
  addMessage(userMessage);
45212
45253
  setIsTyping(true);
@@ -45268,7 +45309,7 @@ function useChat({
45268
45309
  currentTextSegment = "";
45269
45310
  }
45270
45311
  const seg = segment;
45271
- const proposalId = _optionalChain([seg, 'access', _1077 => _1077.data, 'optionalAccess', _1078 => _1078.requestId]);
45312
+ const proposalId = _optionalChain([seg, 'access', _1079 => _1079.data, 'optionalAccess', _1080 => _1080.requestId]);
45272
45313
  const updateApprovalMessage = (transform) => {
45273
45314
  setMessages((prev) => {
45274
45315
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -45277,7 +45318,7 @@ function useChat({
45277
45318
  if (!Array.isArray(m.content)) continue;
45278
45319
  const segments = m.content;
45279
45320
  const hasMatch = segments.some(
45280
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1079 => _1079.data, 'optionalAccess', _1080 => _1080.requestId]) === proposalId
45321
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1081 => _1081.data, 'optionalAccess', _1082 => _1082.requestId]) === proposalId
45281
45322
  );
45282
45323
  if (!hasMatch) continue;
45283
45324
  const next = [...prev];
@@ -45319,11 +45360,11 @@ function useChat({
45319
45360
  if (!Array.isArray(m.content)) continue;
45320
45361
  const segments = m.content;
45321
45362
  const hasMatch = segments.some(
45322
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1081 => _1081.data, 'optionalAccess', _1082 => _1082.requestId]) === decision.proposalId
45363
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1083 => _1083.data, 'optionalAccess', _1084 => _1084.requestId]) === decision.proposalId
45323
45364
  );
45324
45365
  if (!hasMatch) continue;
45325
45366
  const flipped = segments.map(
45326
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1083 => _1083.data, 'optionalAccess', _1084 => _1084.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45367
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45327
45368
  );
45328
45369
  const next = [...prev];
45329
45370
  next[i] = { ...m, content: flipped };
@@ -45485,8 +45526,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45485
45526
  })),
45486
45527
  { role: "user", content: message2 }
45487
45528
  ];
45488
- const targetPath = _optionalChain([extra, 'optionalAccess', _1085 => _1085.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45489
- const requestBody = _optionalChain([extra, 'optionalAccess', _1086 => _1086.approvalAction]) ? {
45529
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1087 => _1087.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45530
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1088 => _1088.approvalAction]) ? {
45490
45531
  proposal_id: extra.approvalAction.proposalId,
45491
45532
  action: extra.approvalAction.action,
45492
45533
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -45495,8 +45536,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45495
45536
  }))
45496
45537
  } : {
45497
45538
  messages: apiMessages,
45498
- ..._optionalChain([extra, 'optionalAccess', _1087 => _1087.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45499
- ..._optionalChain([extra, 'optionalAccess', _1088 => _1088.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
45539
+ ..._optionalChain([extra, 'optionalAccess', _1089 => _1089.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45540
+ ..._optionalChain([extra, 'optionalAccess', _1090 => _1090.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
45500
45541
  };
45501
45542
  const response = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, targetPath, {
45502
45543
  method: "POST",
@@ -45506,7 +45547,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45506
45547
  if (!response.ok) {
45507
45548
  throw new Error(`Chat request failed: ${response.status}`);
45508
45549
  }
45509
- const reader = _optionalChain([response, 'access', _1089 => _1089.body, 'optionalAccess', _1090 => _1090.getReader, 'call', _1091 => _1091()]);
45550
+ const reader = _optionalChain([response, 'access', _1091 => _1091.body, 'optionalAccess', _1092 => _1092.getReader, 'call', _1093 => _1093()]);
45510
45551
  if (!reader) throw new Error("No response body");
45511
45552
  const decoder = new TextDecoder();
45512
45553
  let buffer = "";
@@ -45589,7 +45630,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45589
45630
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
45590
45631
  const result = _nullishCoalesce(meta.result, () => ( null));
45591
45632
  const card = _nullishCoalesce(meta.card, () => ( null));
45592
- if (_optionalChain([card, 'optionalAccess', _1092 => _1092.ref, 'optionalAccess', _1093 => _1093.id]) && _optionalChain([card, 'optionalAccess', _1094 => _1094.type])) {
45633
+ if (_optionalChain([card, 'optionalAccess', _1094 => _1094.ref, 'optionalAccess', _1095 => _1095.id]) && _optionalChain([card, 'optionalAccess', _1096 => _1096.type])) {
45593
45634
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
45594
45635
  const key = buildChatRefKey(card.type, card.ref.id);
45595
45636
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -45602,8 +45643,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45602
45643
  willAutoContinue: meta.willAutoContinue === true,
45603
45644
  ...toolName ? { toolName } : {},
45604
45645
  ...result ? { result } : {},
45605
- ..._optionalChain([card, 'optionalAccess', _1095 => _1095.marker]) ? { marker: card.marker } : {},
45606
- ..._optionalChain([card, 'optionalAccess', _1096 => _1096.ref]) ? { cardRef: card.ref } : {},
45646
+ ..._optionalChain([card, 'optionalAccess', _1097 => _1097.marker]) ? { marker: card.marker } : {},
45647
+ ..._optionalChain([card, 'optionalAccess', _1098 => _1098.ref]) ? { cardRef: card.ref } : {},
45607
45648
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
45608
45649
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
45609
45650
  };
@@ -45722,7 +45763,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
45722
45763
  var chatStorageKey = (source) => {
45723
45764
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
45724
45765
  const auth = _chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, );
45725
- if (_optionalChain([auth, 'optionalAccess', _1097 => _1097.email])) {
45766
+ if (_optionalChain([auth, 'optionalAccess', _1099 => _1099.email])) {
45726
45767
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
45727
45768
  }
45728
45769
  return base;
@@ -45777,7 +45818,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45777
45818
  const { active = true } = runtimeOptions;
45778
45819
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45779
45820
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
45780
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1098 => _1098.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45821
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1100 => _1100.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45781
45822
  const persistedRef = _react.useRef.call(void 0, null);
45782
45823
  if (persistedRef.current === null) {
45783
45824
  pruneStaleChatStorage(source);
@@ -45882,7 +45923,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45882
45923
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
45883
45924
  sources = sourcesMapRef.current.get(lookupIdx);
45884
45925
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
45885
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1099 => _1099.current, 'access', _1100 => _1100.get, 'call', _1101 => _1101(lookupIdx), 'optionalAccess', _1102 => _1102.scrollAnchor]), () => ( void 0));
45926
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1101 => _1101.current, 'access', _1102 => _1102.get, 'call', _1103 => _1103(lookupIdx), 'optionalAccess', _1104 => _1104.scrollAnchor]), () => ( void 0));
45886
45927
  }
45887
45928
  return {
45888
45929
  id: m.id,
@@ -45930,7 +45971,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45930
45971
  );
45931
45972
  return;
45932
45973
  }
45933
- const refSlug = typeof _optionalChain([reference, 'access', _1103 => _1103.metadata, 'optionalAccess', _1104 => _1104.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
45974
+ const refSlug = typeof _optionalChain([reference, 'access', _1105 => _1105.metadata, 'optionalAccess', _1106 => _1106.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
45934
45975
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
45935
45976
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
45936
45977
  const text = `/${cmdId} display "${escaped}"`;
@@ -46002,18 +46043,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46002
46043
  clearMessages,
46003
46044
  streamingPhase,
46004
46045
  /** Provider key for the lib's `<ModelDisplay>` icon. */
46005
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1105 => _1105.provider]), () => ( null)),
46006
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1106 => _1106.modelLabel]), () => ( null)),
46007
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1107 => _1107.contextWindowMaxTokens]), () => ( null)),
46046
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1107 => _1107.provider]), () => ( null)),
46047
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1108 => _1108.modelLabel]), () => ( null)),
46048
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1109 => _1109.contextWindowMaxTokens]), () => ( null)),
46008
46049
  /** Input tokens (known after server's message_start frame; null until). */
46009
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1108 => _1108.inputTokens]), () => ( null)),
46050
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1110 => _1110.inputTokens]), () => ( null)),
46010
46051
  /** Output tokens (known only after server's trailing usage frame). */
46011
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1109 => _1109.outputTokens]), () => ( null)),
46052
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.outputTokens]), () => ( null)),
46012
46053
  /** Cache hit % (read / total-input × 100). null during streaming. */
46013
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1110 => _1110.cacheHitRatePct]), () => ( null)),
46054
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1112 => _1112.cacheHitRatePct]), () => ( null)),
46014
46055
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46015
46056
  * token counts). null until the trailing usage frame lands. */
46016
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.breakdown]), () => ( null)),
46057
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.breakdown]), () => ( null)),
46017
46058
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46018
46059
  // Guide mode currently keeps its history in `localStorage` opaquely
46019
46060
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46071,15 +46112,15 @@ var noopRejectRequest = async (_id, _reason) => {
46071
46112
 
46072
46113
  // src/components/chat/utils/process-historical-messages.ts
46073
46114
  function getOwnerDisplayName(owner) {
46074
- if (_optionalChain([owner, 'optionalAccess', _1112 => _1112.type]) === OWNER_TYPE.ADMIN && owner.user) {
46115
+ if (_optionalChain([owner, 'optionalAccess', _1114 => _1114.type]) === OWNER_TYPE.ADMIN && owner.user) {
46075
46116
  const { firstName, lastName } = owner.user;
46076
46117
  const name = [firstName, lastName].filter(Boolean).join(" ");
46077
46118
  if (name) return name;
46078
46119
  }
46079
- return _optionalChain([owner, 'optionalAccess', _1113 => _1113.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46120
+ return _optionalChain([owner, 'optionalAccess', _1115 => _1115.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46080
46121
  }
46081
46122
  function getOwnerAvatar(owner) {
46082
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1114 => _1114.user, 'optionalAccess', _1115 => _1115.image, 'optionalAccess', _1116 => _1116.imageUrl]), () => ( void 0));
46123
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1116 => _1116.user, 'optionalAccess', _1117 => _1117.image, 'optionalAccess', _1118 => _1118.imageUrl]), () => ( void 0));
46083
46124
  }
46084
46125
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46085
46126
  messageDataArray.forEach((data) => {
@@ -46142,14 +46183,14 @@ function processHistoricalMessages(messages, options = {}) {
46142
46183
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46143
46184
  return;
46144
46185
  }
46145
- const isUserMessage = _optionalChain([msg, 'access', _1117 => _1117.owner, 'optionalAccess', _1118 => _1118.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1119 => _1119.owner, 'optionalAccess', _1120 => _1120.type]) === OWNER_TYPE.ADMIN;
46186
+ const isUserMessage = _optionalChain([msg, 'access', _1119 => _1119.owner, 'optionalAccess', _1120 => _1120.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1121 => _1121.owner, 'optionalAccess', _1122 => _1122.type]) === OWNER_TYPE.ADMIN;
46146
46187
  if (isUserMessage) {
46147
46188
  flushAssistantMessage();
46148
- const userAuthorType = _optionalChain([msg, 'access', _1121 => _1121.owner, 'optionalAccess', _1122 => _1122.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46189
+ const userAuthorType = _optionalChain([msg, 'access', _1123 => _1123.owner, 'optionalAccess', _1124 => _1124.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46149
46190
  messageDataArray.forEach((data) => {
46150
46191
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46151
46192
  const rawContext = data.contextItems;
46152
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1123 => _1123.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1124 => _1124.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46193
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1125 => _1125.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1126 => _1126.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46153
46194
  processedMessages.push({
46154
46195
  id: msg.id,
46155
46196
  role: "user",
@@ -46173,7 +46214,7 @@ function processHistoricalMessages(messages, options = {}) {
46173
46214
  });
46174
46215
  const nextMsg = messages[index + 1];
46175
46216
  const isLastMessage = index === messages.length - 1;
46176
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1125 => _1125.owner, 'optionalAccess', _1126 => _1126.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.ADMIN);
46217
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN);
46177
46218
  if (isLastMessage || nextIsFromUser) {
46178
46219
  flushAssistantMessage();
46179
46220
  }
@@ -46283,7 +46324,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46283
46324
  }
46284
46325
  }
46285
46326
  } else {
46286
- _optionalChain([escalatedApprovals, 'optionalAccess', _1129 => _1129.set, 'call', _1130 => _1130(data.approvalRequestId, {
46327
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1131 => _1131.set, 'call', _1132 => _1132(data.approvalRequestId, {
46287
46328
  command: data.command || "",
46288
46329
  explanation: data.explanation,
46289
46330
  approvalType,
@@ -46297,8 +46338,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46297
46338
  const existingStatus = approvalStatuses[data.approvalRequestId];
46298
46339
  const status = existingStatus || (data.approved ? "approved" : "rejected");
46299
46340
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
46300
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1131 => _1131.get, 'call', _1132 => _1132(data.approvalRequestId)]);
46301
- if (_optionalChain([escalatedData, 'optionalAccess', _1133 => _1133.toolCalls]) && escalatedData.toolCalls.length > 0) {
46341
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1133 => _1133.get, 'call', _1134 => _1134(data.approvalRequestId)]);
46342
+ if (_optionalChain([escalatedData, 'optionalAccess', _1135 => _1135.toolCalls]) && escalatedData.toolCalls.length > 0) {
46302
46343
  if (batchApprovalsEnabled) {
46303
46344
  accumulator.addApprovalBatch(
46304
46345
  data.approvalRequestId,
@@ -46320,7 +46361,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46320
46361
  );
46321
46362
  }
46322
46363
  }
46323
- _optionalChain([escalatedApprovals, 'optionalAccess', _1134 => _1134.delete, 'call', _1135 => _1135(data.approvalRequestId)]);
46364
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1136 => _1136.delete, 'call', _1137 => _1137(data.approvalRequestId)]);
46324
46365
  break;
46325
46366
  }
46326
46367
  if (escalatedData) {
@@ -46329,7 +46370,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46329
46370
  explanation: escalatedData.explanation,
46330
46371
  approvalType: escalatedData.approvalType
46331
46372
  });
46332
- _optionalChain([escalatedApprovals, 'optionalAccess', _1136 => _1136.delete, 'call', _1137 => _1137(data.approvalRequestId)]);
46373
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1138 => _1138.delete, 'call', _1139 => _1139(data.approvalRequestId)]);
46333
46374
  }
46334
46375
  const before = accumulator.getSegments();
46335
46376
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -46345,9 +46386,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46345
46386
  case MESSAGE_TYPE.ERROR:
46346
46387
  if ("error" in data) {
46347
46388
  let message2;
46348
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1138 => _1138.details])) {
46389
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1140 => _1140.details])) {
46349
46390
  try {
46350
- message2 = _optionalChain([JSON, 'access', _1139 => _1139.parse, 'call', _1140 => _1140(data.details), 'optionalAccess', _1141 => _1141.error, 'optionalAccess', _1142 => _1142.message]);
46391
+ message2 = _optionalChain([JSON, 'access', _1141 => _1141.parse, 'call', _1142 => _1142(data.details), 'optionalAccess', _1143 => _1143.error, 'optionalAccess', _1144 => _1144.message]);
46351
46392
  } catch (e59) {
46352
46393
  message2 = data.details;
46353
46394
  }
@@ -46430,14 +46471,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46430
46471
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46431
46472
  return;
46432
46473
  }
46433
- const isUserMessage = _optionalChain([msg, 'access', _1143 => _1143.owner, 'optionalAccess', _1144 => _1144.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.ADMIN;
46474
+ const isUserMessage = _optionalChain([msg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1147 => _1147.owner, 'optionalAccess', _1148 => _1148.type]) === OWNER_TYPE.ADMIN;
46434
46475
  if (isUserMessage) {
46435
46476
  flushAssistantMessage();
46436
- const userAuthorType = _optionalChain([msg, 'access', _1147 => _1147.owner, 'optionalAccess', _1148 => _1148.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46477
+ const userAuthorType = _optionalChain([msg, 'access', _1149 => _1149.owner, 'optionalAccess', _1150 => _1150.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46437
46478
  messageDataArray.forEach((data) => {
46438
46479
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46439
46480
  const rawContext = data.contextItems;
46440
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1149 => _1149.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1150 => _1150.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46481
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1151 => _1151.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1152 => _1152.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46441
46482
  processedMessages.push({
46442
46483
  id: msg.id,
46443
46484
  role: "user",
@@ -46461,7 +46502,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46461
46502
  });
46462
46503
  const nextMsg = messages[index + 1];
46463
46504
  const isLastMessage = index === messages.length - 1;
46464
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1151 => _1151.owner, 'optionalAccess', _1152 => _1152.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.ADMIN);
46505
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN);
46465
46506
  if (isLastMessage || nextIsFromUser) {
46466
46507
  flushAssistantMessage();
46467
46508
  }
@@ -46797,7 +46838,7 @@ function useNatsChatAdapter(config, options = {}) {
46797
46838
  }, [active, fetchDialogs, loadDialogsPage]);
46798
46839
  const sendMessage = _react.useCallback.call(void 0,
46799
46840
  async (text, sendOptions) => {
46800
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1155 => _1155.hidden]), () => ( false));
46841
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1157 => _1157.hidden]), () => ( false));
46801
46842
  setMessages((prev) => [
46802
46843
  ...prev,
46803
46844
  {
@@ -46961,11 +47002,11 @@ function useNatsChatAdapter(config, options = {}) {
46961
47002
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
46962
47003
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
46963
47004
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
46964
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1156 => _1156.provider]), () => ( modelProvider)), () => ( null)),
46965
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1157 => _1157.modelLabel]), () => ( modelLabel)), () => ( null)),
46966
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1158 => _1158.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1159 => _1159.contextWindowMaxTokens]))), () => ( null)),
46967
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1160 => _1160.inputTokensSize]), () => ( null)),
46968
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1161 => _1161.outputTokensSize]), () => ( null)),
47005
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1158 => _1158.provider]), () => ( modelProvider)), () => ( null)),
47006
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1159 => _1159.modelLabel]), () => ( modelLabel)), () => ( null)),
47007
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1160 => _1160.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1161 => _1161.contextWindowMaxTokens]))), () => ( null)),
47008
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1162 => _1162.inputTokensSize]), () => ( null)),
47009
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1163 => _1163.outputTokensSize]), () => ( null)),
46969
47010
  currentCacheHitRatePct: null,
46970
47011
  currentUsageBreakdown: null,
46971
47012
  // Dialog management
@@ -47213,7 +47254,7 @@ function extractIncompleteMessageState(lastMessage) {
47213
47254
  break;
47214
47255
  case "approval_batch": {
47215
47256
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
47216
- (c) => _optionalChain([segment, 'access', _1162 => _1162.data, 'access', _1163 => _1163.executions, 'optionalAccess', _1164 => _1164[c.toolExecutionRequestId], 'optionalAccess', _1165 => _1165.status]) === "done"
47257
+ (c) => _optionalChain([segment, 'access', _1164 => _1164.data, 'access', _1165 => _1165.executions, 'optionalAccess', _1166 => _1166[c.toolExecutionRequestId], 'optionalAccess', _1167 => _1167.status]) === "done"
47217
47258
  );
47218
47259
  if (segment.status !== "rejected" && !allDone) {
47219
47260
  hasIncompleteState = true;
@@ -47281,20 +47322,20 @@ function mergeHistoryWithRealtime(input) {
47281
47322
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
47282
47323
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
47283
47324
  const trailing = processedHistory[processedHistory.length - 1];
47284
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1166 => _1166.role]) === "assistant" ? trailing : null;
47285
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1167 => _1167.content, 'access', _1168 => _1168.find, 'call', _1169 => _1169((s) => s.type === "approval_batch"), 'optionalAccess', _1170 => _1170.data, 'optionalAccess', _1171 => _1171.approvalRequestId]), () => ( null)) : null;
47325
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1168 => _1168.role]) === "assistant" ? trailing : null;
47326
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1169 => _1169.content, 'access', _1170 => _1170.find, 'call', _1171 => _1171((s) => s.type === "approval_batch"), 'optionalAccess', _1172 => _1172.data, 'optionalAccess', _1173 => _1173.approvalRequestId]), () => ( null)) : null;
47286
47327
  let processedToUse = processedHistory;
47287
47328
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
47288
47329
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
47289
47330
  if (historyBatchId) {
47290
47331
  const batchTwins = existingMessages.filter(
47291
47332
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
47292
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1172 => _1172.data, 'optionalAccess', _1173 => _1173.approvalRequestId]) === historyBatchId
47333
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1174 => _1174.data, 'optionalAccess', _1175 => _1175.approvalRequestId]) === historyBatchId
47293
47334
  )
47294
47335
  );
47295
47336
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
47296
47337
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
47297
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1174 => _1174.content])) ? historyTrailingAssistant.content.length : 0;
47338
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1176 => _1176.content])) ? historyTrailingAssistant.content.length : 0;
47298
47339
  const realtimeSize = existingWithSameBatch.content.length;
47299
47340
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
47300
47341
  processedToUse = processedHistory.slice(0, -1);
@@ -47310,16 +47351,16 @@ function mergeHistoryWithRealtime(input) {
47310
47351
  if (pinnedSyntheticIds.has(m.id)) return true;
47311
47352
  if (droppedSyntheticIds.has(m.id)) return false;
47312
47353
  if (processedIds.has(m.id)) return false;
47313
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1175 => _1175.has, 'call', _1176 => _1176(m.id)])) return false;
47354
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1177 => _1177.has, 'call', _1178 => _1178(m.id)])) return false;
47314
47355
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
47315
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1177 => _1177.timestamp, 'optionalAccess', _1178 => _1178.getTime, 'call', _1179 => _1179()]), () => ( 0))) <= historyFetchedAt;
47356
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1179 => _1179.timestamp, 'optionalAccess', _1180 => _1180.getTime, 'call', _1181 => _1181()]), () => ( 0))) <= historyFetchedAt;
47316
47357
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
47317
47358
  }
47318
47359
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
47319
47360
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
47320
47361
  return false;
47321
47362
  }
47322
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1180 => _1180.timestamp, 'optionalAccess', _1181 => _1181.getTime, 'call', _1182 => _1182()]), () => ( 0))) <= historyFetchedAt;
47363
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1182 => _1182.timestamp, 'optionalAccess', _1183 => _1183.getTime, 'call', _1184 => _1184()]), () => ( 0))) <= historyFetchedAt;
47323
47364
  if (covered) return false;
47324
47365
  }
47325
47366
  return true;
@@ -47539,7 +47580,7 @@ function useChatDialogManager({
47539
47580
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
47540
47581
  if (restoreTarget) {
47541
47582
  try {
47542
- await _optionalChain([unarchiveDialog, 'optionalCall', _1183 => _1183(restoreTarget.id)]);
47583
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1185 => _1185(restoreTarget.id)]);
47543
47584
  } catch (err) {
47544
47585
  console.error("[useChatDialogManager] unarchive failed:", err);
47545
47586
  return;
@@ -47948,7 +47989,7 @@ function EmbeddableChatInner({
47948
47989
  }),
47949
47990
  [commandsUrl]
47950
47991
  );
47951
- const userName = _optionalChain([identityUser, 'optionalAccess', _1184 => _1184.firstName, 'optionalAccess', _1185 => _1185.trim, 'call', _1186 => _1186()]) || _optionalChain([identityUser, 'optionalAccess', _1187 => _1187.name, 'optionalAccess', _1188 => _1188.split, 'call', _1189 => _1189(" "), 'access', _1190 => _1190[0], 'optionalAccess', _1191 => _1191.trim, 'call', _1192 => _1192()]) || void 0;
47992
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1186 => _1186.firstName, 'optionalAccess', _1187 => _1187.trim, 'call', _1188 => _1188()]) || _optionalChain([identityUser, 'optionalAccess', _1189 => _1189.name, 'optionalAccess', _1190 => _1190.split, 'call', _1191 => _1191(" "), 'access', _1192 => _1192[0], 'optionalAccess', _1193 => _1193.trim, 'call', _1194 => _1194()]) || void 0;
47952
47993
  const effectiveModes = _react.useMemo.call(void 0, () => {
47953
47994
  if (modes) return modes;
47954
47995
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -47957,17 +47998,21 @@ function EmbeddableChatInner({
47957
47998
  const mingoCaps = _react.useMemo.call(void 0, () => {
47958
47999
  if (mingoState) {
47959
48000
  return {
47960
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1193 => _1193.canRename]), () => ( false)),
47961
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1194 => _1194.canArchive]), () => ( false)),
47962
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1195 => _1195.fetchArchivedDialogs]),
47963
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1196 => _1196.unarchiveDialog])
48001
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1195 => _1195.canRename]), () => ( false)),
48002
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1196 => _1196.canArchive]), () => ( false)),
48003
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1197 => _1197.fetchArchivedDialogs]),
48004
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1198 => _1198.unarchiveDialog]),
48005
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1199 => _1199.searchQuery]),
48006
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1200 => _1200.onSearchChange])
47964
48007
  };
47965
48008
  }
47966
48009
  return {
47967
- canRename: !!_optionalChain([effectiveModes, 'access', _1197 => _1197.mingo, 'optionalAccess', _1198 => _1198.renameDialog]),
47968
- canArchive: !!_optionalChain([effectiveModes, 'access', _1199 => _1199.mingo, 'optionalAccess', _1200 => _1200.archiveDialog]),
47969
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1201 => _1201.mingo, 'optionalAccess', _1202 => _1202.fetchArchivedDialogs]),
47970
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1203 => _1203.mingo, 'optionalAccess', _1204 => _1204.unarchiveDialog])
48010
+ canRename: !!_optionalChain([effectiveModes, 'access', _1201 => _1201.mingo, 'optionalAccess', _1202 => _1202.renameDialog]),
48011
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1203 => _1203.mingo, 'optionalAccess', _1204 => _1204.archiveDialog]),
48012
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1205 => _1205.mingo, 'optionalAccess', _1206 => _1206.fetchArchivedDialogs]),
48013
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1207 => _1207.mingo, 'optionalAccess', _1208 => _1208.unarchiveDialog]),
48014
+ searchQuery: void 0,
48015
+ onSearchChange: void 0
47971
48016
  };
47972
48017
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
47973
48018
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -47979,7 +48024,7 @@ function EmbeddableChatInner({
47979
48024
  if (controlledActiveMode === void 0) {
47980
48025
  setUncontrolledActiveMode(next);
47981
48026
  }
47982
- _optionalChain([onActiveModeChange, 'optionalCall', _1205 => _1205(next)]);
48027
+ _optionalChain([onActiveModeChange, 'optionalCall', _1209 => _1209(next)]);
47983
48028
  },
47984
48029
  [controlledActiveMode, onActiveModeChange]
47985
48030
  );
@@ -48033,7 +48078,7 @@ function EmbeddableChatInner({
48033
48078
  clear: clearAttachments
48034
48079
  } = useChatAttachments();
48035
48080
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48036
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1206 => _1206.maxItems]), () => ( 10));
48081
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1210 => _1210.maxItems]), () => ( 10));
48037
48082
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48038
48083
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48039
48084
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48050,10 +48095,10 @@ function EmbeddableChatInner({
48050
48095
  }, [activeDialogId, activeMode]);
48051
48096
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48052
48097
  const m = /* @__PURE__ */ new Map();
48053
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1207 => _1207.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48098
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1211 => _1211.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48054
48099
  return m;
48055
- }, [_optionalChain([contextPicker, 'optionalAccess', _1208 => _1208.entityTypes])]);
48056
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1209 => _1209.entityTypes]);
48100
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1212 => _1212.entityTypes])]);
48101
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1213 => _1213.entityTypes]);
48057
48102
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48058
48103
  const byType = /* @__PURE__ */ new Map();
48059
48104
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48065,7 +48110,7 @@ function EmbeddableChatInner({
48065
48110
  if (mentionActiveRef.current) {
48066
48111
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48067
48112
  if (contextItems.length >= contextMaxItems) return;
48068
- _optionalChain([chatInputRef, 'access', _1210 => _1210.current, 'optionalAccess', _1211 => _1211.commitMention, 'call', _1212 => _1212(mentionTokenOf(key, mentionMarkerByType), {
48113
+ _optionalChain([chatInputRef, 'access', _1214 => _1214.current, 'optionalAccess', _1215 => _1215.commitMention, 'call', _1216 => _1216(mentionTokenOf(key, mentionMarkerByType), {
48069
48114
  label: item.label,
48070
48115
  icon: resolveContextIcon(item)
48071
48116
  })]);
@@ -48087,9 +48132,9 @@ function EmbeddableChatInner({
48087
48132
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48088
48133
  if (mentionKeysRef.current.has(key)) {
48089
48134
  mentionKeysRef.current.delete(key);
48090
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1213 => _1213.current, 'optionalAccess', _1214 => _1214.getValue, 'call', _1215 => _1215()]), () => ( ""));
48135
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1217 => _1217.current, 'optionalAccess', _1218 => _1218.getValue, 'call', _1219 => _1219()]), () => ( ""));
48091
48136
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48092
- _optionalChain([chatInputRef, 'access', _1216 => _1216.current, 'optionalAccess', _1217 => _1217.setValue, 'call', _1218 => _1218(next)]);
48137
+ _optionalChain([chatInputRef, 'access', _1220 => _1220.current, 'optionalAccess', _1221 => _1221.setValue, 'call', _1222 => _1222(next)]);
48093
48138
  }
48094
48139
  }, [mentionMarkerByType]);
48095
48140
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48106,7 +48151,7 @@ function EmbeddableChatInner({
48106
48151
  }, []);
48107
48152
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48108
48153
  if (mentionActiveRef.current) {
48109
- _optionalChain([chatInputRef, 'access', _1219 => _1219.current, 'optionalAccess', _1220 => _1220.removeMentionTrigger, 'call', _1221 => _1221()]);
48154
+ _optionalChain([chatInputRef, 'access', _1223 => _1223.current, 'optionalAccess', _1224 => _1224.removeMentionTrigger, 'call', _1225 => _1225()]);
48110
48155
  }
48111
48156
  setContextPickerOpen(false);
48112
48157
  setMentionQuery(null);
@@ -48140,8 +48185,8 @@ function EmbeddableChatInner({
48140
48185
  []
48141
48186
  );
48142
48187
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
48143
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1222 => _1222.firstName]), _optionalChain([identityUser, 'optionalAccess', _1223 => _1223.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1224 => _1224.name, 'optionalAccess', _1225 => _1225.trim, 'call', _1226 => _1226()]) || void 0 : void 0;
48144
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1227 => _1227.avatarUrl, 'optionalAccess', _1228 => _1228.trim, 'call', _1229 => _1229()]) || void 0 : void 0;
48188
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1226 => _1226.firstName]), _optionalChain([identityUser, 'optionalAccess', _1227 => _1227.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1228 => _1228.name, 'optionalAccess', _1229 => _1229.trim, 'call', _1230 => _1230()]) || void 0 : void 0;
48189
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1231 => _1231.avatarUrl, 'optionalAccess', _1232 => _1232.trim, 'call', _1233 => _1233()]) || void 0 : void 0;
48145
48190
  const messages = _react.useMemo.call(void 0, () => {
48146
48191
  const cache = timestampCacheRef.current;
48147
48192
  const seenIds = /* @__PURE__ */ new Set();
@@ -48289,9 +48334,9 @@ function EmbeddableChatInner({
48289
48334
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
48290
48335
  const lastSources = _react.useMemo.call(void 0, () => {
48291
48336
  if (chatLoading) return void 0;
48292
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1230 => _1230.sources]);
48337
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1234 => _1234.sources]);
48293
48338
  if (!sources || sources.length === 0) return void 0;
48294
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1231 => _1231.content]) || "";
48339
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1235 => _1235.content]) || "";
48295
48340
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
48296
48341
  (m) => parseInt(m[1], 10)
48297
48342
  );
@@ -48338,7 +48383,7 @@ function EmbeddableChatInner({
48338
48383
  ChatPanelHeader,
48339
48384
  {
48340
48385
  showBack: hasConversation || guideCanReturnToMingo,
48341
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1232 => _1232.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48386
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1236 => _1236.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48342
48387
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
48343
48388
  isArchivedView: isViewingArchived,
48344
48389
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -48420,20 +48465,30 @@ function EmbeddableChatInner({
48420
48465
  isLoadingHistory: dialogsInitialLoading,
48421
48466
  loadError: dialogsLoadError,
48422
48467
  onRetry: reloadDialogs,
48423
- dialogHistory: dialogs.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48424
- MingoChatHistory,
48425
- {
48426
- dialogs,
48427
- onSelectDialog: handleSelectDialog,
48428
- onRequestRename: mingoCaps.canRename ? setRenameTarget : void 0,
48429
- onRequestArchive: mingoCaps.canArchive ? setArchiveTarget : void 0,
48430
- hasMore: hasMoreDialogs,
48431
- isLoadingMore: isDialogsLoading && dialogs.length > 0,
48432
- onLoadMore: () => {
48433
- void loadMoreDialogs();
48468
+ historySearchable: !!mingoCaps.onSearchChange,
48469
+ dialogHistory: (
48470
+ // Keep the history (and its search bar) mounted during an
48471
+ // active search even at 0 results — otherwise a no-match
48472
+ // query would unmount the bar and flash the new-user
48473
+ // greeting. `MingoWelcome` renders `dialogHistory` with top
48474
+ // priority, so this wins over the greeting.
48475
+ dialogs.length > 0 || !!mingoCaps.searchQuery ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
48476
+ MingoChatHistory,
48477
+ {
48478
+ dialogs,
48479
+ onSelectDialog: handleSelectDialog,
48480
+ onRequestRename: mingoCaps.canRename ? setRenameTarget : void 0,
48481
+ onRequestArchive: mingoCaps.canArchive ? setArchiveTarget : void 0,
48482
+ searchQuery: mingoCaps.searchQuery,
48483
+ onSearchChange: mingoCaps.onSearchChange,
48484
+ hasMore: hasMoreDialogs,
48485
+ isLoadingMore: isDialogsLoading && dialogs.length > 0,
48486
+ onLoadMore: () => {
48487
+ void loadMoreDialogs();
48488
+ }
48434
48489
  }
48435
- }
48436
- ) : void 0
48490
+ ) : void 0
48491
+ )
48437
48492
  }
48438
48493
  )
48439
48494
  ) : (
@@ -48446,7 +48501,7 @@ function EmbeddableChatInner({
48446
48501
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
48447
48502
  subtitleLoading: emptyStateLoading,
48448
48503
  ...guideWelcome,
48449
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1233 => _1233.quickActions]), () => ( guideSuggestedActions)),
48504
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1237 => _1237.quickActions]), () => ( guideSuggestedActions)),
48450
48505
  onQuickAction: (action) => {
48451
48506
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
48452
48507
  },
@@ -49516,4 +49571,4 @@ function EmbeddableChatInner({
49516
49571
 
49517
49572
 
49518
49573
  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.DurationInput = DurationInput; 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.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; 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.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.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.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.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;
49519
- //# sourceMappingURL=chunk-7C5G45KU.cjs.map
49574
+ //# sourceMappingURL=chunk-UFUOM6ZT.cjs.map