@flamingo-stack/openframe-frontend-core 0.0.339 → 0.0.340-snapshot.20260630012353

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 (100) hide show
  1. package/dist/{chunk-IK22LSYP.js → chunk-2GROEWOK.js} +4 -4
  2. package/dist/{chunk-I7NP2ZAJ.js → chunk-4I46HAN5.js} +4 -4
  3. package/dist/{chunk-4DXRKAV6.cjs → chunk-A37AW6CD.cjs} +5 -5
  4. package/dist/{chunk-4DXRKAV6.cjs.map → chunk-A37AW6CD.cjs.map} +1 -1
  5. package/dist/{chunk-I54DGTLP.js → chunk-AZ3DTQU5.js} +211 -156
  6. package/dist/chunk-AZ3DTQU5.js.map +1 -0
  7. package/dist/{chunk-7OPVJDX6.cjs → chunk-BYAXSMET.cjs} +15 -15
  8. package/dist/{chunk-7OPVJDX6.cjs.map → chunk-BYAXSMET.cjs.map} +1 -1
  9. package/dist/{chunk-GBE2R7R4.cjs → chunk-CJB4NUD6.cjs} +7 -7
  10. package/dist/{chunk-GBE2R7R4.cjs.map → chunk-CJB4NUD6.cjs.map} +1 -1
  11. package/dist/{chunk-DLXHC6JS.js → chunk-CUQGK4AD.js} +2 -2
  12. package/dist/{chunk-D5BRTQEA.cjs → chunk-D2ETTYT2.cjs} +26 -26
  13. package/dist/{chunk-D5BRTQEA.cjs.map → chunk-D2ETTYT2.cjs.map} +1 -1
  14. package/dist/{chunk-742ZCG3D.js → chunk-EPVDWAVJ.js} +4 -4
  15. package/dist/{chunk-6YWPFPKC.cjs → chunk-EYPZ2XLX.cjs} +25 -25
  16. package/dist/{chunk-6YWPFPKC.cjs.map → chunk-EYPZ2XLX.cjs.map} +1 -1
  17. package/dist/{chunk-HHS3CJ7G.js → chunk-GCYEJLOQ.js} +2 -2
  18. package/dist/{chunk-PNWORHOR.cjs → chunk-I3CNFZOY.cjs} +670 -615
  19. package/dist/chunk-I3CNFZOY.cjs.map +1 -0
  20. package/dist/{chunk-JOLEA7LT.cjs → chunk-I4BWBQXX.cjs} +31 -31
  21. package/dist/{chunk-JOLEA7LT.cjs.map → chunk-I4BWBQXX.cjs.map} +1 -1
  22. package/dist/{chunk-DUJINSKJ.js → chunk-KE2QKKCN.js} +2 -2
  23. package/dist/{chunk-GEJQRRD2.js → chunk-KT4KY6OF.js} +4 -4
  24. package/dist/{chunk-DKK3VRRM.cjs → chunk-LANAE7MY.cjs} +12 -12
  25. package/dist/{chunk-DKK3VRRM.cjs.map → chunk-LANAE7MY.cjs.map} +1 -1
  26. package/dist/{chunk-S5B3ZX6U.js → chunk-N3GFEIWF.js} +2 -2
  27. package/dist/{chunk-J344NBBP.cjs → chunk-NIIN3UH4.cjs} +37 -37
  28. package/dist/{chunk-J344NBBP.cjs.map → chunk-NIIN3UH4.cjs.map} +1 -1
  29. package/dist/{chunk-OJJCWMLT.cjs → chunk-OGTHMZIL.cjs} +9 -9
  30. package/dist/{chunk-OJJCWMLT.cjs.map → chunk-OGTHMZIL.cjs.map} +1 -1
  31. package/dist/{chunk-5A5SLX2F.js → chunk-OLR534KB.js} +2 -2
  32. package/dist/{chunk-FFNTLQZR.cjs → chunk-QCREN5A5.cjs} +56 -56
  33. package/dist/{chunk-FFNTLQZR.cjs.map → chunk-QCREN5A5.cjs.map} +1 -1
  34. package/dist/{chunk-J7VJHE6O.js → chunk-QYF6LEDF.js} +2 -2
  35. package/dist/{chunk-KPR563UC.cjs → chunk-R3MVYKEL.cjs} +62 -62
  36. package/dist/{chunk-KPR563UC.cjs.map → chunk-R3MVYKEL.cjs.map} +1 -1
  37. package/dist/{chunk-YX7RIC4Z.js → chunk-Y2WHQSF6.js} +2 -2
  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/chat-quick-action-row.d.ts +5 -0
  41. package/dist/components/chat/chat-quick-action-row.d.ts.map +1 -1
  42. package/dist/components/chat/guide-welcome.d.ts +6 -1
  43. package/dist/components/chat/guide-welcome.d.ts.map +1 -1
  44. package/dist/components/chat/index.cjs +2 -2
  45. package/dist/components/chat/index.js +1 -1
  46. package/dist/components/contact/index.cjs +3 -3
  47. package/dist/components/contact/index.js +2 -2
  48. package/dist/components/docs/index.cjs +5 -5
  49. package/dist/components/docs/index.js +4 -4
  50. package/dist/components/embeds/index.cjs +3 -3
  51. package/dist/components/embeds/index.js +2 -2
  52. package/dist/components/faq/index.cjs +3 -3
  53. package/dist/components/faq/index.js +2 -2
  54. package/dist/components/features/index.cjs +2 -2
  55. package/dist/components/features/index.js +1 -1
  56. package/dist/components/help-center-pages/index.cjs +20 -20
  57. package/dist/components/help-center-pages/index.js +11 -11
  58. package/dist/components/index.cjs +121 -121
  59. package/dist/components/index.js +9 -9
  60. package/dist/components/navigation/index.cjs +2 -2
  61. package/dist/components/navigation/index.js +1 -1
  62. package/dist/components/onboarding-guides/index.cjs +5 -5
  63. package/dist/components/onboarding-guides/index.js +4 -4
  64. package/dist/components/related-content/index.cjs +3 -3
  65. package/dist/components/related-content/index.js +2 -2
  66. package/dist/components/tickets/index.cjs +5 -5
  67. package/dist/components/tickets/index.js +4 -4
  68. package/dist/components/ui/index.cjs +2 -2
  69. package/dist/components/ui/index.js +1 -1
  70. package/dist/components/ui/table/table-row.d.ts +1 -1
  71. package/dist/components/ui/table/table-row.d.ts.map +1 -1
  72. package/dist/components/ui/table/table.d.ts +1 -1
  73. package/dist/components/ui/table/table.d.ts.map +1 -1
  74. package/dist/components/ui/table/types.d.ts +16 -0
  75. package/dist/components/ui/table/types.d.ts.map +1 -1
  76. package/dist/components/ui/table/use-table-motion.d.ts +20 -0
  77. package/dist/components/ui/table/use-table-motion.d.ts.map +1 -0
  78. package/dist/index.cjs +2 -2
  79. package/dist/index.js +1 -1
  80. package/package.json +1 -1
  81. package/src/components/chat/chat-quick-action-row.tsx +9 -0
  82. package/src/components/chat/embeddable-chat.tsx +24 -3
  83. package/src/components/chat/guide-welcome.tsx +10 -1
  84. package/src/components/ui/table/table-row.tsx +16 -3
  85. package/src/components/ui/table/table.tsx +34 -15
  86. package/src/components/ui/table/types.ts +17 -0
  87. package/src/components/ui/table/use-table-motion.ts +48 -0
  88. package/dist/chunk-I54DGTLP.js.map +0 -1
  89. package/dist/chunk-PNWORHOR.cjs.map +0 -1
  90. /package/dist/{chunk-IK22LSYP.js.map → chunk-2GROEWOK.js.map} +0 -0
  91. /package/dist/{chunk-I7NP2ZAJ.js.map → chunk-4I46HAN5.js.map} +0 -0
  92. /package/dist/{chunk-DLXHC6JS.js.map → chunk-CUQGK4AD.js.map} +0 -0
  93. /package/dist/{chunk-742ZCG3D.js.map → chunk-EPVDWAVJ.js.map} +0 -0
  94. /package/dist/{chunk-HHS3CJ7G.js.map → chunk-GCYEJLOQ.js.map} +0 -0
  95. /package/dist/{chunk-DUJINSKJ.js.map → chunk-KE2QKKCN.js.map} +0 -0
  96. /package/dist/{chunk-GEJQRRD2.js.map → chunk-KT4KY6OF.js.map} +0 -0
  97. /package/dist/{chunk-S5B3ZX6U.js.map → chunk-N3GFEIWF.js.map} +0 -0
  98. /package/dist/{chunk-5A5SLX2F.js.map → chunk-OLR534KB.js.map} +0 -0
  99. /package/dist/{chunk-J7VJHE6O.js.map → chunk-QYF6LEDF.js.map} +0 -0
  100. /package/dist/{chunk-YX7RIC4Z.js.map → chunk-Y2WHQSF6.js.map} +0 -0
@@ -5672,6 +5672,10 @@ function ChipButton({ chip }) {
5672
5672
  {
5673
5673
  type: "button",
5674
5674
  onClick: chip.onSelect,
5675
+ onMouseEnter: chip.onHoverStart,
5676
+ onMouseLeave: chip.onHoverEnd,
5677
+ onFocus: chip.onHoverStart,
5678
+ onBlur: chip.onHoverEnd,
5675
5679
  className: "shrink-0 rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
5676
5680
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: _nullishCoalesce(chip.variant, () => ( "outline")), icon: chip.icon, label: chip.label })
5677
5681
  }
@@ -6577,6 +6581,8 @@ function GuideWelcome({
6577
6581
  subtitleLoading = false,
6578
6582
  quickActions = [],
6579
6583
  onQuickAction,
6584
+ onQuickActionHover,
6585
+ onQuickActionHoverEnd,
6580
6586
  children,
6581
6587
  className
6582
6588
  }) {
@@ -6603,9 +6609,11 @@ function GuideWelcome({
6603
6609
  () => quickActions.map((action) => ({
6604
6610
  id: action.id,
6605
6611
  label: action.label,
6606
- onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _102 => _102(action)])
6612
+ onSelect: () => _optionalChain([onQuickAction, 'optionalCall', _102 => _102(action)]),
6613
+ onHoverStart: () => _optionalChain([onQuickActionHover, 'optionalCall', _103 => _103(action)]),
6614
+ onHoverEnd: () => _optionalChain([onQuickActionHoverEnd, 'optionalCall', _104 => _104()])
6607
6615
  })),
6608
- [quickActions, onQuickAction]
6616
+ [quickActions, onQuickAction, onQuickActionHover, onQuickActionHoverEnd]
6609
6617
  );
6610
6618
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6611
6619
  "div",
@@ -7044,7 +7052,7 @@ function ChatDialogModals({
7044
7052
  RenameChatModal,
7045
7053
  {
7046
7054
  isOpen: renameTarget != null,
7047
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _103 => _103.title]), () => ( "")),
7055
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _105 => _105.title]), () => ( "")),
7048
7056
  onClose: () => setRenameTarget(null),
7049
7057
  onSave: onConfirmRename
7050
7058
  }
@@ -7308,7 +7316,7 @@ function ChatAttachmentAddButton({
7308
7316
  const canAddMore = slotsAvailable > 0 && !disabled;
7309
7317
  const handlePick = () => {
7310
7318
  if (!canAddMore) return;
7311
- _optionalChain([fileInputRef, 'access', _104 => _104.current, 'optionalAccess', _105 => _105.click, 'call', _106 => _106()]);
7319
+ _optionalChain([fileInputRef, 'access', _106 => _106.current, 'optionalAccess', _107 => _107.click, 'call', _108 => _108()]);
7312
7320
  };
7313
7321
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7314
7322
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -7674,7 +7682,7 @@ function ChatComposer({
7674
7682
  }) {
7675
7683
  const contextEnabled = !!contextPicker && !archived;
7676
7684
  const selected = _nullishCoalesce(selectedContextItems, () => ( []));
7677
- const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _107 => _107.entityTypes]);
7685
+ const entityTypes = _optionalChain([contextPicker, 'optionalAccess', _109 => _109.entityTypes]);
7678
7686
  const iconByType = React23.useMemo(() => {
7679
7687
  const map = /* @__PURE__ */ new Map();
7680
7688
  for (const t of _nullishCoalesce(entityTypes, () => ( []))) map.set(t.type, t.icon);
@@ -7703,7 +7711,7 @@ function ChatComposer({
7703
7711
  startIcon: contextEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7704
7712
  ChatComposerPlusMenu,
7705
7713
  {
7706
- onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _108 => _108()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _109 => _109()]),
7714
+ onToggle: () => contextPickerOpen ? _optionalChain([onCloseContextPicker, 'optionalCall', _110 => _110()]) : _optionalChain([onOpenContextPicker, 'optionalCall', _111 => _111()]),
7707
7715
  open: contextPickerOpen,
7708
7716
  disabled: attachmentsDisabled,
7709
7717
  dropdown: contextPicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -7712,8 +7720,8 @@ function ChatComposer({
7712
7720
  open: contextPickerOpen,
7713
7721
  config: contextPicker,
7714
7722
  selectedItems: selected,
7715
- onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _110 => _110(item)]),
7716
- onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _111 => _111()]),
7723
+ onToggleItem: (item) => _optionalChain([onToggleContextItem, 'optionalCall', _112 => _112(item)]),
7724
+ onClose: () => _optionalChain([onCloseContextPicker, 'optionalCall', _113 => _113()]),
7717
7725
  mentionQuery
7718
7726
  }
7719
7727
  ) : void 0
@@ -7920,8 +7928,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
7920
7928
  var DialogListItem = _react.forwardRef.call(void 0,
7921
7929
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
7922
7930
  const handleClick = (e) => {
7923
- _optionalChain([onDialogSelect, 'optionalCall', _112 => _112(dialog.id)]);
7924
- _optionalChain([onClick, 'optionalCall', _113 => _113(e)]);
7931
+ _optionalChain([onDialogSelect, 'optionalCall', _114 => _114(dialog.id)]);
7932
+ _optionalChain([onClick, 'optionalCall', _115 => _115(e)]);
7925
7933
  };
7926
7934
  const formatTimestamp2 = (timestamp) => {
7927
7935
  if (!timestamp) return "";
@@ -7980,7 +7988,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
7980
7988
  (entries) => {
7981
7989
  const [entry] = entries;
7982
7990
  if (entry.isIntersecting && !isFetchingRef.current) {
7983
- _optionalChain([onLoadMoreRef, 'access', _114 => _114.current, 'optionalCall', _115 => _115()]);
7991
+ _optionalChain([onLoadMoreRef, 'access', _116 => _116.current, 'optionalCall', _117 => _117()]);
7984
7992
  }
7985
7993
  },
7986
7994
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -8096,7 +8104,7 @@ function isSameOriginAbsoluteHref(href) {
8096
8104
  function computeIsNewTab(runtime, href, targetPlatform) {
8097
8105
  if (!href) return false;
8098
8106
  if (runtime.navigation.mode === "embed") return !isSameOriginAbsoluteHref(href);
8099
- return _nullishCoalesce(_optionalChain([runtime, 'access', _116 => _116.navigation, 'access', _117 => _117.decideNewTab, 'optionalCall', _118 => _118({ href, targetPlatform })]), () => ( decideNewTab({
8107
+ return _nullishCoalesce(_optionalChain([runtime, 'access', _118 => _118.navigation, 'access', _119 => _119.decideNewTab, 'optionalCall', _120 => _120({ href, targetPlatform })]), () => ( decideNewTab({
8100
8108
  href,
8101
8109
  targetPlatform,
8102
8110
  currentSource: _nullishCoalesce(runtime.source, () => ( ""))
@@ -8160,7 +8168,7 @@ function resolveExternalNavigation(args) {
8160
8168
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
8161
8169
  const isNewTab = runtime ? computeIsNewTab(runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
8162
8170
  if (isNewTab) {
8163
- if (_optionalChain([runtime, 'optionalAccess', _119 => _119.navigation, 'access', _120 => _120.openExternal])) runtime.navigation.openExternal(href);
8171
+ if (_optionalChain([runtime, 'optionalAccess', _121 => _121.navigation, 'access', _122 => _122.openExternal])) runtime.navigation.openExternal(href);
8164
8172
  else window.open(href, "_blank", NEW_TAB_FEATURES);
8165
8173
  return;
8166
8174
  }
@@ -8168,7 +8176,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
8168
8176
  if (target.includes("#") && _chunkDCIB6AK3cjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkDCIB6AK3cjs.STICKY_HEADER_OFFSET_PX })) {
8169
8177
  return;
8170
8178
  }
8171
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _121 => _121.navigation, 'access', _122 => _122.navigate, 'optionalCall', _123 => _123({ href, path, targetPlatform })]), () => ( false));
8179
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _123 => _123.navigation, 'access', _124 => _124.navigate, 'optionalCall', _125 => _125({ href, path, targetPlatform })]), () => ( false));
8172
8180
  if (!handled) {
8173
8181
  if (fallbackNavigate) fallbackNavigate(target);
8174
8182
  else window.location.assign(target);
@@ -8233,7 +8241,7 @@ function NavLinkAnchorViaRuntime({
8233
8241
  path,
8234
8242
  targetPlatform
8235
8243
  }, router.push);
8236
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _124 => _124.closeChat])) panel.closeChat();
8244
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _126 => _126.closeChat])) panel.closeChat();
8237
8245
  };
8238
8246
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8239
8247
  "a",
@@ -8358,7 +8366,7 @@ function EntityAuthorCard({
8358
8366
  renderEmptyAuthor = false,
8359
8367
  className
8360
8368
  }) {
8361
- const hasAuthor = !!_optionalChain([author, 'optionalAccess', _125 => _125.full_name]);
8369
+ const hasAuthor = !!_optionalChain([author, 'optionalAccess', _127 => _127.full_name]);
8362
8370
  if (!hasAuthor && !renderEmptyAuthor) return null;
8363
8371
  const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
8364
8372
  const formatted = publishedAt ? formatDate(publishedAt) : "";
@@ -8694,8 +8702,8 @@ function AdminContentCard({
8694
8702
  /* @__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 }),
8695
8703
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
8696
8704
  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 }),
8697
- (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: [
8698
- _optionalChain([platforms, 'optionalAccess', _127 => _127.map, 'call', _128 => _128((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8705
+ (Number(_optionalChain([platforms, 'optionalAccess', _128 => _128.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
8706
+ _optionalChain([platforms, 'optionalAccess', _129 => _129.map, 'call', _130 => _130((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8699
8707
  PlatformBadge,
8700
8708
  {
8701
8709
  platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
@@ -8751,8 +8759,8 @@ function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, classNa
8751
8759
  ) : null,
8752
8760
  meta: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
8753
8761
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-2 min-w-0", children: [
8754
- _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,
8755
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(_optionalChain([entry, 'access', _131 => _131.author, 'optionalAccess', _132 => _132.full_name]), () => ( "")) })
8762
+ _optionalChain([entry, 'access', _131 => _131.author, 'optionalAccess', _132 => _132.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,
8763
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: _nullishCoalesce(_optionalChain([entry, 'access', _133 => _133.author, 'optionalAccess', _134 => _134.full_name]), () => ( "")) })
8756
8764
  ] }),
8757
8765
  month ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: month }) : null
8758
8766
  ] }),
@@ -8837,7 +8845,7 @@ function fetchPriorityProp(priority) {
8837
8845
 
8838
8846
  if (typeof window !== "undefined") {
8839
8847
  const w = window;
8840
- if (!_optionalChain([w, 'access', _133 => _133.chrome, 'optionalAccess', _134 => _134.cast])) {
8848
+ if (!_optionalChain([w, 'access', _135 => _135.chrome, 'optionalAccess', _136 => _136.cast])) {
8841
8849
  w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
8842
8850
  }
8843
8851
  }
@@ -9027,7 +9035,7 @@ function YouTubeFacadeInner({
9027
9035
  const iframe = iframeRef.current;
9028
9036
  if (!iframe) return;
9029
9037
  function subscribe() {
9030
- _optionalChain([iframe, 'optionalAccess', _135 => _135.contentWindow, 'optionalAccess', _136 => _136.postMessage, 'call', _137 => _137(
9038
+ _optionalChain([iframe, 'optionalAccess', _137 => _137.contentWindow, 'optionalAccess', _138 => _138.postMessage, 'call', _139 => _139(
9031
9039
  '{"event":"listening"}',
9032
9040
  YT_NOCOOKIE_ORIGIN
9033
9041
  )]);
@@ -9045,13 +9053,13 @@ function YouTubeFacadeInner({
9045
9053
  return;
9046
9054
  }
9047
9055
  if (!payload || payload.event !== "infoDelivery") return;
9048
- const state = _optionalChain([payload, 'access', _138 => _138.info, 'optionalAccess', _139 => _139.playerState]);
9056
+ const state = _optionalChain([payload, 'access', _140 => _140.info, 'optionalAccess', _141 => _141.playerState]);
9049
9057
  if (typeof state !== "number") return;
9050
9058
  if (state === YT_STATE_PLAYING) {
9051
9059
  if (blurTimer !== null) return;
9052
9060
  blurTimer = setTimeout(() => {
9053
9061
  blurTimer = null;
9054
- _optionalChain([iframeRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.blur, 'call', _142 => _142()]);
9062
+ _optionalChain([iframeRef, 'access', _142 => _142.current, 'optionalAccess', _143 => _143.blur, 'call', _144 => _144()]);
9055
9063
  }, YT_PLAYING_BLUR_DELAY_MS);
9056
9064
  return;
9057
9065
  }
@@ -9657,7 +9665,7 @@ function ProductReleaseCard({
9657
9665
  changelogCounts
9658
9666
  }) {
9659
9667
  if (size === "lg") {
9660
- 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)));
9668
+ const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _145 => _145.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _146 => _146.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _147 => _147.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _148 => _148.breaking]), () => ( 0)));
9661
9669
  const valueCells = [
9662
9670
  releaseType && releaseTypeBadgeColor ? {
9663
9671
  value: releaseType.toUpperCase(),
@@ -9676,7 +9684,7 @@ function ProductReleaseCard({
9676
9684
  uppercase: false
9677
9685
  } : { value: "\u2014", label: "Released", uppercase: false }
9678
9686
  ];
9679
- const effectiveAuthor = _optionalChain([author, 'optionalAccess', _147 => _147.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
9687
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _149 => _149.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
9680
9688
  const gridColsClass = "md:grid-cols-4";
9681
9689
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
9682
9690
  const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -10089,10 +10097,10 @@ function buildProductReleaseCardProps(item) {
10089
10097
  job_title: release.author.job_title
10090
10098
  } : void 0,
10091
10099
  changelogCounts: {
10092
- features: _nullishCoalesce(_optionalChain([release, 'access', _148 => _148.features_added, 'optionalAccess', _149 => _149.length]), () => ( 0)),
10093
- fixes: _nullishCoalesce(_optionalChain([release, 'access', _150 => _150.bugs_fixed, 'optionalAccess', _151 => _151.length]), () => ( 0)),
10094
- improvements: _nullishCoalesce(_optionalChain([release, 'access', _152 => _152.improvements, 'optionalAccess', _153 => _153.length]), () => ( 0)),
10095
- breaking: _nullishCoalesce(_optionalChain([release, 'access', _154 => _154.breaking_changes, 'optionalAccess', _155 => _155.length]), () => ( 0))
10100
+ features: _nullishCoalesce(_optionalChain([release, 'access', _150 => _150.features_added, 'optionalAccess', _151 => _151.length]), () => ( 0)),
10101
+ fixes: _nullishCoalesce(_optionalChain([release, 'access', _152 => _152.bugs_fixed, 'optionalAccess', _153 => _153.length]), () => ( 0)),
10102
+ improvements: _nullishCoalesce(_optionalChain([release, 'access', _154 => _154.improvements, 'optionalAccess', _155 => _155.length]), () => ( 0)),
10103
+ breaking: _nullishCoalesce(_optionalChain([release, 'access', _156 => _156.breaking_changes, 'optionalAccess', _157 => _157.length]), () => ( 0))
10096
10104
  }
10097
10105
  };
10098
10106
  }
@@ -10220,7 +10228,7 @@ function BlogCard({
10220
10228
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
10221
10229
  if (size === "sm") {
10222
10230
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric", timeZone: "UTC" }) : "";
10223
- const firstCategory = _optionalChain([post, 'access', _156 => _156.categories, 'optionalAccess', _157 => _157.find, 'call', _158 => _158((c) => c && c.name), 'optionalAccess', _159 => _159.name]);
10231
+ const firstCategory = _optionalChain([post, 'access', _158 => _158.categories, 'optionalAccess', _159 => _159.find, 'call', _160 => _160((c) => c && c.name), 'optionalAccess', _161 => _161.name]);
10224
10232
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10225
10233
  "a",
10226
10234
  {
@@ -10426,14 +10434,14 @@ function CaseStudyCard({
10426
10434
  "img",
10427
10435
  {
10428
10436
  src: coverImage,
10429
- alt: `${_optionalChain([study, 'access', _160 => _160.msp, 'optionalAccess', _161 => _161.name]) || study.title} cover`,
10437
+ alt: `${_optionalChain([study, 'access', _162 => _162.msp, 'optionalAccess', _163 => _163.name]) || study.title} cover`,
10430
10438
  className: "absolute inset-0 block w-full h-full object-contain",
10431
10439
  onError: hideOnError
10432
10440
  }
10433
10441
  ) : null }),
10434
10442
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
10435
10443
  /* @__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 }) }),
10436
- /* @__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" }) }),
10444
+ /* @__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', _164 => _164.msp, 'optionalAccess', _165 => _165.name]), _optionalChain([study, 'access', _166 => _166.user, 'optionalAccess', _167 => _167.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
10437
10445
  /* @__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 }) })
10438
10446
  ] })
10439
10447
  ] });
@@ -10443,7 +10451,7 @@ function CaseStudyCard({
10443
10451
  _chunkXL4V2PYGcjs.next_image_default,
10444
10452
  {
10445
10453
  src: coverImage,
10446
- alt: _optionalChain([study, 'access', _166 => _166.msp, 'optionalAccess', _167 => _167.name]) || study.title,
10454
+ alt: _optionalChain([study, 'access', _168 => _168.msp, 'optionalAccess', _169 => _169.name]) || study.title,
10447
10455
  className: "w-full h-full object-cover",
10448
10456
  sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
10449
10457
  fill: true,
@@ -10454,18 +10462,18 @@ function CaseStudyCard({
10454
10462
  /* @__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 }) }),
10455
10463
  /* @__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: [
10456
10464
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
10457
- _optionalChain([study, 'access', _168 => _168.user, 'optionalAccess', _169 => _169.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10465
+ _optionalChain([study, 'access', _170 => _170.user, 'optionalAccess', _171 => _171.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10458
10466
  _chunkXL4V2PYGcjs.next_image_default,
10459
10467
  {
10460
10468
  src: study.user.avatar_url,
10461
- alt: _optionalChain([study, 'access', _170 => _170.user, 'optionalAccess', _171 => _171.full_name]) || "User",
10469
+ alt: _optionalChain([study, 'access', _172 => _172.user, 'optionalAccess', _173 => _173.full_name]) || "User",
10462
10470
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
10463
10471
  width: 48,
10464
10472
  height: 48,
10465
10473
  unoptimized: true
10466
10474
  }
10467
- ) : /* @__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() }) }),
10468
- _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,
10475
+ ) : /* @__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', _174 => _174.user, 'optionalAccess', _175 => _175.full_name]) || "A").charAt(0).toUpperCase() }) }),
10476
+ _optionalChain([study, 'access', _176 => _176.msp, 'optionalAccess', _177 => _177.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,
10469
10477
  _chunkXL4V2PYGcjs.next_image_default,
10470
10478
  {
10471
10479
  src: study.msp.icon_url,
@@ -10479,13 +10487,13 @@ function CaseStudyCard({
10479
10487
  ] }),
10480
10488
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
10481
10489
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
10482
- _optionalChain([study, 'access', _176 => _176.user, 'optionalAccess', _177 => _177.full_name]) || "Anonymous",
10483
- _optionalChain([study, 'access', _178 => _178.msp, 'optionalAccess', _179 => _179.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10490
+ _optionalChain([study, 'access', _178 => _178.user, 'optionalAccess', _179 => _179.full_name]) || "Anonymous",
10491
+ _optionalChain([study, 'access', _180 => _180.msp, 'optionalAccess', _181 => _181.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10484
10492
  " \u2022 ",
10485
10493
  study.msp.name
10486
10494
  ] })
10487
10495
  ] }),
10488
- /* @__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" })
10496
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _182 => _182.user, 'optionalAccess', _183 => _183.job_title]) || "\xA0" })
10489
10497
  ] })
10490
10498
  ] }) })
10491
10499
  ] }) });
@@ -10568,7 +10576,7 @@ function CustomerInterviewCard({
10568
10576
  ] }),
10569
10577
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
10570
10578
  /* @__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 }) }),
10571
- /* @__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" }) }),
10579
+ /* @__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', _184 => _184.user, 'optionalAccess', _185 => _185.full_name]), _optionalChain([interview, 'access', _186 => _186.msp, 'optionalAccess', _187 => _187.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
10572
10580
  /* @__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 }) })
10573
10581
  ] })
10574
10582
  ] });
@@ -10590,15 +10598,15 @@ function CustomerInterviewCard({
10590
10598
  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 }) }),
10591
10599
  /* @__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: [
10592
10600
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
10593
- _optionalChain([interview, 'access', _186 => _186.user, 'optionalAccess', _187 => _187.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10601
+ _optionalChain([interview, 'access', _188 => _188.user, 'optionalAccess', _189 => _189.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10594
10602
  "img",
10595
10603
  {
10596
10604
  src: interview.user.avatar_url,
10597
- alt: _optionalChain([interview, 'access', _188 => _188.user, 'optionalAccess', _189 => _189.full_name]) || "Customer",
10605
+ alt: _optionalChain([interview, 'access', _190 => _190.user, 'optionalAccess', _191 => _191.full_name]) || "Customer",
10598
10606
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
10599
10607
  }
10600
- ) : /* @__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() }) }),
10601
- _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,
10608
+ ) : /* @__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', _192 => _192.user, 'optionalAccess', _193 => _193.full_name]) || "A").charAt(0).toUpperCase() }) }),
10609
+ _optionalChain([interview, 'access', _194 => _194.msp, 'optionalAccess', _195 => _195.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,
10602
10610
  "img",
10603
10611
  {
10604
10612
  src: interview.msp.icon_url,
@@ -10609,13 +10617,13 @@ function CustomerInterviewCard({
10609
10617
  ] }),
10610
10618
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
10611
10619
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
10612
- _optionalChain([interview, 'access', _194 => _194.user, 'optionalAccess', _195 => _195.full_name]) || "Anonymous",
10613
- _optionalChain([interview, 'access', _196 => _196.msp, 'optionalAccess', _197 => _197.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10620
+ _optionalChain([interview, 'access', _196 => _196.user, 'optionalAccess', _197 => _197.full_name]) || "Anonymous",
10621
+ _optionalChain([interview, 'access', _198 => _198.msp, 'optionalAccess', _199 => _199.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
10614
10622
  " \u2022 ",
10615
10623
  interview.msp.name
10616
10624
  ] })
10617
10625
  ] }),
10618
- /* @__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]) || " " })
10626
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _200 => _200.user, 'optionalAccess', _201 => _201.job_title]) || " " })
10619
10627
  ] })
10620
10628
  ] }) })
10621
10629
  ] }) });
@@ -10628,7 +10636,7 @@ function CustomerInterviewCard({
10628
10636
  function formatInvestorUpdatePeriod(start, end, options) {
10629
10637
  if (!start && !end) return "";
10630
10638
  const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
10631
- month: _optionalChain([options, 'optionalAccess', _200 => _200.monthFormat]) || "short",
10639
+ month: _optionalChain([options, 'optionalAccess', _202 => _202.monthFormat]) || "short",
10632
10640
  year: "numeric",
10633
10641
  // Pin to UTC so SSR (Vercel = UTC) and the client agree (React #418).
10634
10642
  timeZone: "UTC"
@@ -10720,7 +10728,7 @@ function InvestorUpdateCard({
10720
10728
  imageUrl: update.featured_image,
10721
10729
  placeholderUrl,
10722
10730
  title: update.title || `Update #${update.update_number || "?"}`,
10723
- 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",
10731
+ summary: _optionalChain([update, 'access', _203 => _203.strategic_update, 'optionalAccess', _204 => _204.slice, 'call', _205 => _205(0, 120)]) || _optionalChain([update, 'access', _206 => _206.content, 'optionalAccess', _207 => _207.slice, 'call', _208 => _208(0, 120)]) || "No description",
10724
10732
  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: [
10725
10733
  "#",
10726
10734
  update.update_number
@@ -10912,7 +10920,7 @@ function OnboardingGuideCard({
10912
10920
  const compactCover = coverImage || placeholderUrl || null;
10913
10921
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
10914
10922
  const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
10915
- const author = _optionalChain([guide, 'access', _207 => _207.author, 'optionalAccess', _208 => _208.full_name, 'optionalAccess', _209 => _209.trim, 'call', _210 => _210()]) || "";
10923
+ const author = _optionalChain([guide, 'access', _209 => _209.author, 'optionalAccess', _210 => _210.full_name, 'optionalAccess', _211 => _211.trim, 'call', _212 => _212()]) || "";
10916
10924
  const subtitleParts = [
10917
10925
  `Step ${guide.step_order}`,
10918
10926
  guide.section,
@@ -11288,7 +11296,7 @@ function AutocompleteInner(props, ref) {
11288
11296
  if (!isInputControlled) {
11289
11297
  setInternalInputValue(value);
11290
11298
  }
11291
- _optionalChain([onInputChange, 'optionalCall', _211 => _211(value, reason)]);
11299
+ _optionalChain([onInputChange, 'optionalCall', _213 => _213(value, reason)]);
11292
11300
  };
11293
11301
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
11294
11302
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
@@ -11316,8 +11324,8 @@ function AutocompleteInner(props, ref) {
11316
11324
  if (!showHiddenTags) return;
11317
11325
  const handleClick = (e) => {
11318
11326
  const target = e.target;
11319
- const inButton = _optionalChain([hiddenTagsRef, 'access', _212 => _212.current, 'optionalAccess', _213 => _213.contains, 'call', _214 => _214(target)]);
11320
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _215 => _215.current, 'optionalAccess', _216 => _216.contains, 'call', _217 => _217(target)]);
11327
+ const inButton = _optionalChain([hiddenTagsRef, 'access', _214 => _214.current, 'optionalAccess', _215 => _215.contains, 'call', _216 => _216(target)]);
11328
+ const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _217 => _217.current, 'optionalAccess', _218 => _218.contains, 'call', _219 => _219(target)]);
11321
11329
  if (!inButton && !inPopup) {
11322
11330
  setShowHiddenTags(false);
11323
11331
  }
@@ -11362,7 +11370,7 @@ function AutocompleteInner(props, ref) {
11362
11370
  }
11363
11371
  updateInputValue("", "reset");
11364
11372
  setIsOpen(false);
11365
- _optionalChain([onCreateOption, 'optionalCall', _218 => _218(trimmed)]);
11373
+ _optionalChain([onCreateOption, 'optionalCall', _220 => _220(trimmed)]);
11366
11374
  };
11367
11375
  _react.useEffect.call(void 0, () => {
11368
11376
  setHighlightedIndex(-1);
@@ -11386,7 +11394,7 @@ function AutocompleteInner(props, ref) {
11386
11394
  props.onChange([...valueArray, option.value]);
11387
11395
  }
11388
11396
  updateInputValue("", "reset");
11389
- _optionalChain([autoLimitTags, 'access', _219 => _219.inputRef, 'access', _220 => _220.current, 'optionalAccess', _221 => _221.focus, 'call', _222 => _222()]);
11397
+ _optionalChain([autoLimitTags, 'access', _221 => _221.inputRef, 'access', _222 => _222.current, 'optionalAccess', _223 => _223.focus, 'call', _224 => _224()]);
11390
11398
  } else {
11391
11399
  ;
11392
11400
  props.onChange(option.value);
@@ -11407,7 +11415,7 @@ function AutocompleteInner(props, ref) {
11407
11415
  if (!isInputControlled) {
11408
11416
  setInternalInputValue("");
11409
11417
  }
11410
- _optionalChain([onInputChange, 'optionalCall', _223 => _223("", "clear")]);
11418
+ _optionalChain([onInputChange, 'optionalCall', _225 => _225("", "clear")]);
11411
11419
  setIsOpen(false);
11412
11420
  };
11413
11421
  const handleKeyDown = (e) => {
@@ -11481,7 +11489,7 @@ function AutocompleteInner(props, ref) {
11481
11489
  ),
11482
11490
  onClick: () => {
11483
11491
  if (!disabled) {
11484
- _optionalChain([autoLimitTags, 'access', _224 => _224.inputRef, 'access', _225 => _225.current, 'optionalAccess', _226 => _226.focus, 'call', _227 => _227()]);
11492
+ _optionalChain([autoLimitTags, 'access', _226 => _226.inputRef, 'access', _227 => _227.current, 'optionalAccess', _228 => _228.focus, 'call', _229 => _229()]);
11485
11493
  openDropdown();
11486
11494
  }
11487
11495
  },
@@ -11597,10 +11605,10 @@ function AutocompleteInner(props, ref) {
11597
11605
  align: "start",
11598
11606
  onOpenAutoFocus: (e) => {
11599
11607
  e.preventDefault();
11600
- _optionalChain([autoLimitTags, 'access', _228 => _228.inputRef, 'access', _229 => _229.current, 'optionalAccess', _230 => _230.focus, 'call', _231 => _231()]);
11608
+ _optionalChain([autoLimitTags, 'access', _230 => _230.inputRef, 'access', _231 => _231.current, 'optionalAccess', _232 => _232.focus, 'call', _233 => _233()]);
11601
11609
  },
11602
11610
  onInteractOutside: (e) => {
11603
- if (_optionalChain([containerRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.contains, 'call', _234 => _234(e.target)])) {
11611
+ if (_optionalChain([containerRef, 'access', _234 => _234.current, 'optionalAccess', _235 => _235.contains, 'call', _236 => _236(e.target)])) {
11604
11612
  e.preventDefault();
11605
11613
  }
11606
11614
  },
@@ -12013,7 +12021,7 @@ var defaultFormatDate = (date) => {
12013
12021
  });
12014
12022
  };
12015
12023
  var formatDateRange2 = (range, formatFn) => {
12016
- if (!_optionalChain([range, 'optionalAccess', _235 => _235.from])) return "";
12024
+ if (!_optionalChain([range, 'optionalAccess', _237 => _237.from])) return "";
12017
12025
  if (!range.to) return formatFn(range.from);
12018
12026
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
12019
12027
  };
@@ -12048,16 +12056,16 @@ function DatePickerCalendar({
12048
12056
  );
12049
12057
  const [hoveredDate, setHoveredDate] = React38.useState(void 0);
12050
12058
  const rangeSelected = draftRange;
12051
- const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _236 => _236.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _237 => _237.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
12059
+ const hasCompleteRange = mode === "range" && !!_optionalChain([rangeSelected, 'optionalAccess', _238 => _238.from]) && !!_optionalChain([rangeSelected, 'optionalAccess', _239 => _239.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
12052
12060
  const isPreviewDate = (date) => {
12053
- if (!_optionalChain([draftRange, 'optionalAccess', _238 => _238.from]) || draftRange.to || !hoveredDate) return false;
12061
+ if (!_optionalChain([draftRange, 'optionalAccess', _240 => _240.from]) || draftRange.to || !hoveredDate) return false;
12054
12062
  const start = Math.min(draftRange.from.getTime(), hoveredDate.getTime());
12055
12063
  const end = Math.max(draftRange.from.getTime(), hoveredDate.getTime());
12056
12064
  return date.getTime() >= start && date.getTime() <= end;
12057
12065
  };
12058
12066
  const handleRangeSelect = (triggerDate) => {
12059
12067
  if (!triggerDate) return;
12060
- if (!_optionalChain([draftRange, 'optionalAccess', _239 => _239.from]) || draftRange.to) {
12068
+ if (!_optionalChain([draftRange, 'optionalAccess', _241 => _241.from]) || draftRange.to) {
12061
12069
  setDraftRange({ from: triggerDate, to: void 0 });
12062
12070
  return;
12063
12071
  }
@@ -12122,7 +12130,7 @@ function DatePickerCalendar({
12122
12130
  range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
12123
12131
  };
12124
12132
  const [month, setMonth] = React38.useState(
12125
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _240 => _240.from]) || today
12133
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _242 => _242.from]) || today
12126
12134
  );
12127
12135
  const handlePreviousMonth = () => {
12128
12136
  setMonth((prev) => {
@@ -12354,14 +12362,14 @@ function DatePicker(props) {
12354
12362
  }, [props.mode, props.value, formatDate2]);
12355
12363
  const handleSelect = (value) => {
12356
12364
  if (props.mode === "single") {
12357
- _optionalChain([props, 'access', _241 => _241.onChange, 'optionalCall', _242 => _242(value)]);
12365
+ _optionalChain([props, 'access', _243 => _243.onChange, 'optionalCall', _244 => _244(value)]);
12358
12366
  if (value) {
12359
12367
  setOpen(false);
12360
12368
  }
12361
12369
  } else {
12362
12370
  const range = value;
12363
- _optionalChain([props, 'access', _243 => _243.onChange, 'optionalCall', _244 => _244(range)]);
12364
- if (_optionalChain([range, 'optionalAccess', _245 => _245.from]) && _optionalChain([range, 'optionalAccess', _246 => _246.to])) {
12371
+ _optionalChain([props, 'access', _245 => _245.onChange, 'optionalCall', _246 => _246(range)]);
12372
+ if (_optionalChain([range, 'optionalAccess', _247 => _247.from]) && _optionalChain([range, 'optionalAccess', _248 => _248.to])) {
12365
12373
  setOpen(false);
12366
12374
  }
12367
12375
  }
@@ -12468,7 +12476,7 @@ function DatePickerInput({
12468
12476
  if (newDate && value) {
12469
12477
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
12470
12478
  }
12471
- _optionalChain([onChange, 'optionalCall', _247 => _247(newDate)]);
12479
+ _optionalChain([onChange, 'optionalCall', _249 => _249(newDate)]);
12472
12480
  if (newDate) {
12473
12481
  setOpen(false);
12474
12482
  }
@@ -12485,12 +12493,12 @@ function DatePickerInput({
12485
12493
  }
12486
12494
  }
12487
12495
  date.setHours(hours);
12488
- _optionalChain([onChange, 'optionalCall', _248 => _248(date)]);
12496
+ _optionalChain([onChange, 'optionalCall', _250 => _250(date)]);
12489
12497
  };
12490
12498
  const handleMinuteChange = (newMinute) => {
12491
12499
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
12492
12500
  date.setMinutes(parseInt(newMinute, 10));
12493
- _optionalChain([onChange, 'optionalCall', _249 => _249(date)]);
12501
+ _optionalChain([onChange, 'optionalCall', _251 => _251(date)]);
12494
12502
  };
12495
12503
  const handlePeriodChange = (newPeriod) => {
12496
12504
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -12501,7 +12509,7 @@ function DatePickerInput({
12501
12509
  hours += 12;
12502
12510
  }
12503
12511
  date.setHours(hours);
12504
- _optionalChain([onChange, 'optionalCall', _250 => _250(date)]);
12512
+ _optionalChain([onChange, 'optionalCall', _252 => _252(date)]);
12505
12513
  };
12506
12514
  const hourOptions = React38.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
12507
12515
  const minuteOptions = React38.useMemo(() => generateMinuteOptions(), []);
@@ -12662,7 +12670,7 @@ function DatePickerInputSimple({
12662
12670
  if (newDate && value) {
12663
12671
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
12664
12672
  }
12665
- _optionalChain([onChange, 'optionalCall', _251 => _251(newDate)]);
12673
+ _optionalChain([onChange, 'optionalCall', _253 => _253(newDate)]);
12666
12674
  if (newDate) {
12667
12675
  setOpen(false);
12668
12676
  }
@@ -12671,7 +12679,7 @@ function DatePickerInputSimple({
12671
12679
  const [hours, minutes] = newTime.split(":").map(Number);
12672
12680
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
12673
12681
  date.setHours(hours, minutes, 0, 0);
12674
- _optionalChain([onChange, 'optionalCall', _252 => _252(date)]);
12682
+ _optionalChain([onChange, 'optionalCall', _254 => _254(date)]);
12675
12683
  };
12676
12684
  const timeOptions = React38.useMemo(
12677
12685
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -12770,17 +12778,17 @@ function DateFilterMenu({
12770
12778
  if (next) {
12771
12779
  resetDraft();
12772
12780
  } else {
12773
- _optionalChain([onClose, 'optionalCall', _253 => _253()]);
12781
+ _optionalChain([onClose, 'optionalCall', _255 => _255()]);
12774
12782
  }
12775
12783
  setOpen(next);
12776
12784
  };
12777
12785
  const handleApply = () => {
12778
12786
  const result = mode === "single" ? { sort: draftSort, date: draftSelected } : { sort: draftSort, range: draftSelected };
12779
- _optionalChain([onApply, 'optionalCall', _254 => _254(result)]);
12787
+ _optionalChain([onApply, 'optionalCall', _256 => _256(result)]);
12780
12788
  setOpen(false);
12781
12789
  };
12782
12790
  const handleClose = () => {
12783
- _optionalChain([onClose, 'optionalCall', _255 => _255()]);
12791
+ _optionalChain([onClose, 'optionalCall', _257 => _257()]);
12784
12792
  setOpen(false);
12785
12793
  };
12786
12794
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover.Root, { open, onOpenChange: handleOpenChange, children: [
@@ -12890,7 +12898,7 @@ function DurationInput({ value, onChange, invalid, className }) {
12890
12898
  setSegments((prev) => compose(prev) === value ? prev : split(value));
12891
12899
  }, [value]);
12892
12900
  const focusSegment = (i) => {
12893
- const el = _optionalChain([refs, 'access', _256 => _256[i], 'optionalAccess', _257 => _257.current]);
12901
+ const el = _optionalChain([refs, 'access', _258 => _258[i], 'optionalAccess', _259 => _259.current]);
12894
12902
  if (!el) return;
12895
12903
  el.focus();
12896
12904
  el.select();
@@ -13227,7 +13235,7 @@ function CompactAssigneeDropdown({
13227
13235
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
13228
13236
  }, [filtered, currentAssignee]);
13229
13237
  const handleSelect = (userId) => {
13230
- const next = _optionalChain([currentAssignee, 'optionalAccess', _258 => _258.id]) === userId ? null : userId;
13238
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _260 => _260.id]) === userId ? null : userId;
13231
13239
  onAssign(next);
13232
13240
  setIsOpen(false);
13233
13241
  };
@@ -13292,7 +13300,7 @@ function CompactAssigneeDropdown({
13292
13300
  }
13293
13301
  ) }),
13294
13302
  /* @__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) => {
13295
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _259 => _259.id]) === opt.value;
13303
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _261 => _261.id]) === opt.value;
13296
13304
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13297
13305
  "button",
13298
13306
  {
@@ -13361,7 +13369,7 @@ function DefaultAssigneeDropdown({
13361
13369
  Autocomplete,
13362
13370
  {
13363
13371
  options,
13364
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _260 => _260.id]), () => ( null)),
13372
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _262 => _262.id]), () => ( null)),
13365
13373
  onChange: (val) => {
13366
13374
  onAssign(val);
13367
13375
  setIsEditing(false);
@@ -13694,7 +13702,7 @@ var NoData = React114.default.forwardRef(function NoData2({
13694
13702
  ...props
13695
13703
  }, ref) {
13696
13704
  const hasMessage = !!(icon || title || description);
13697
- const hasActions = !!_optionalChain([actions, 'optionalAccess', _261 => _261.length]);
13705
+ const hasActions = !!_optionalChain([actions, 'optionalAccess', _263 => _263.length]);
13698
13706
  const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13699
13707
  _chunkQJGRP2YEcjs.Button,
13700
13708
  {
@@ -13702,7 +13710,7 @@ var NoData = React114.default.forwardRef(function NoData2({
13702
13710
  leftIcon: buttonIcon,
13703
13711
  onClick: onButtonClick,
13704
13712
  ...buttonProps,
13705
- className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _262 => _262.className])),
13713
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _264 => _264.className])),
13706
13714
  children: buttonLabel
13707
13715
  }
13708
13716
  ) : null)));
@@ -13937,7 +13945,7 @@ var Switch = React48.forwardRef(({ className, checked, onCheckedChange, ...props
13937
13945
  }, [checked]);
13938
13946
  const handleCheckedChange = (newChecked) => {
13939
13947
  setIsChecked(newChecked);
13940
- _optionalChain([onCheckedChange, 'optionalCall', _263 => _263(newChecked)]);
13948
+ _optionalChain([onCheckedChange, 'optionalCall', _265 => _265(newChecked)]);
13941
13949
  };
13942
13950
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13943
13951
  SwitchPrimitives.Root,
@@ -14323,7 +14331,7 @@ function TagsManager({
14323
14331
  const name = search.trim();
14324
14332
  if (!name) return;
14325
14333
  const result = await onCreateTag(name);
14326
- if (_optionalChain([result, 'optionalAccess', _264 => _264.id])) {
14334
+ if (_optionalChain([result, 'optionalAccess', _266 => _266.id])) {
14327
14335
  onChange([...selectedIds, result.id]);
14328
14336
  setSearch("");
14329
14337
  }
@@ -14331,7 +14339,7 @@ function TagsManager({
14331
14339
  const startEdit = React51.useCallback((id, name) => {
14332
14340
  setEditingId(id);
14333
14341
  setEditingName(name);
14334
- setTimeout(() => _optionalChain([editInputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]), 0);
14342
+ setTimeout(() => _optionalChain([editInputRef, 'access', _267 => _267.current, 'optionalAccess', _268 => _268.focus, 'call', _269 => _269()]), 0);
14335
14343
  }, []);
14336
14344
  const confirmEdit = React51.useCallback(async () => {
14337
14345
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -14358,7 +14366,7 @@ function TagsManager({
14358
14366
  e.stopPropagation();
14359
14367
  onChange([]);
14360
14368
  setSearch("");
14361
- _optionalChain([inputRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.focus, 'call', _270 => _270()]);
14369
+ _optionalChain([inputRef, 'access', _270 => _270.current, 'optionalAccess', _271 => _271.focus, 'call', _272 => _272()]);
14362
14370
  },
14363
14371
  [onChange]
14364
14372
  );
@@ -14457,10 +14465,10 @@ function TagsManager({
14457
14465
  align: "start",
14458
14466
  onOpenAutoFocus: (e) => {
14459
14467
  e.preventDefault();
14460
- _optionalChain([inputRef, 'access', _271 => _271.current, 'optionalAccess', _272 => _272.focus, 'call', _273 => _273()]);
14468
+ _optionalChain([inputRef, 'access', _273 => _273.current, 'optionalAccess', _274 => _274.focus, 'call', _275 => _275()]);
14461
14469
  },
14462
14470
  onInteractOutside: (e) => {
14463
- if (_optionalChain([containerRef, 'access', _274 => _274.current, 'optionalAccess', _275 => _275.contains, 'call', _276 => _276(e.target)])) {
14471
+ if (_optionalChain([containerRef, 'access', _276 => _276.current, 'optionalAccess', _277 => _277.contains, 'call', _278 => _278(e.target)])) {
14464
14472
  e.preventDefault();
14465
14473
  }
14466
14474
  },
@@ -14745,7 +14753,7 @@ var Textarea = React52.forwardRef(
14745
14753
  "button",
14746
14754
  {
14747
14755
  type: "button",
14748
- "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _277 => _277["aria-label"]]), () => ( "Submit")),
14756
+ "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _279 => _279["aria-label"]]), () => ( "Submit")),
14749
14757
  ...endIconButtonProps,
14750
14758
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
14751
14759
  // `h-6` matches the textarea's `leading-6` line box so the icon's
@@ -14759,7 +14767,7 @@ var Textarea = React52.forwardRef(
14759
14767
  "cursor-pointer hover:text-ods-text-primary",
14760
14768
  "focus-visible:outline-none focus-visible:text-ods-accent",
14761
14769
  "disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
14762
- _optionalChain([endIconButtonProps, 'optionalAccess', _278 => _278.className])
14770
+ _optionalChain([endIconButtonProps, 'optionalAccess', _280 => _280.className])
14763
14771
  ),
14764
14772
  children: endIcon
14765
14773
  }
@@ -15996,19 +16004,19 @@ function TabNavigation({
15996
16004
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
15997
16005
  const getInitialTab = () => {
15998
16006
  if (isUrlSyncEnabled) {
15999
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _279 => _279.get, 'call', _280 => _280(paramName)]) || "";
16007
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _281 => _281.get, 'call', _282 => _282(paramName)]) || "";
16000
16008
  if (validTabIds.has(fromUrl)) {
16001
16009
  return fromUrl;
16002
16010
  }
16003
16011
  }
16004
- return defaultTab || _optionalChain([tabs, 'access', _281 => _281[0], 'optionalAccess', _282 => _282.id]) || "";
16012
+ return defaultTab || _optionalChain([tabs, 'access', _283 => _283[0], 'optionalAccess', _284 => _284.id]) || "";
16005
16013
  };
16006
16014
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
16007
16015
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
16008
16016
  _react.useEffect.call(void 0, () => {
16009
16017
  if (!isUrlSyncEnabled) return;
16010
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _283 => _283.get, 'call', _284 => _284(paramName)]) || "";
16011
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _285 => _285[0], 'optionalAccess', _286 => _286.id]) || "";
16018
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _285 => _285.get, 'call', _286 => _286(paramName)]) || "";
16019
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _287 => _287[0], 'optionalAccess', _288 => _288.id]) || "";
16012
16020
  if (nextTab !== internalActiveTab) {
16013
16021
  setInternalActiveTab(nextTab);
16014
16022
  }
@@ -16016,13 +16024,13 @@ function TabNavigation({
16016
16024
  const handleTabChange = (tabId) => {
16017
16025
  if (isUrlSyncEnabled) {
16018
16026
  setInternalActiveTab(tabId);
16019
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _287 => _287.toString, 'call', _288 => _288()]));
16027
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _289 => _289.toString, 'call', _290 => _290()]));
16020
16028
  params.set(paramName, tabId);
16021
16029
  const method = replaceState ? "replace" : "push";
16022
16030
  router[method](`${pathname}?${params.toString()}`);
16023
- _optionalChain([controlledOnTabChange, 'optionalCall', _289 => _289(tabId)]);
16031
+ _optionalChain([controlledOnTabChange, 'optionalCall', _291 => _291(tabId)]);
16024
16032
  } else {
16025
- _optionalChain([controlledOnTabChange, 'optionalCall', _290 => _290(tabId)]);
16033
+ _optionalChain([controlledOnTabChange, 'optionalCall', _292 => _292(tabId)]);
16026
16034
  }
16027
16035
  };
16028
16036
  const scrollRef = _react.useRef.call(void 0, null);
@@ -16110,7 +16118,7 @@ function TabNavigation({
16110
16118
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
16111
16119
  var getTabComponent = (tabs, tabId) => {
16112
16120
  const tab = getTabById(tabs, tabId);
16113
- return _optionalChain([tab, 'optionalAccess', _291 => _291.component]) || null;
16121
+ return _optionalChain([tab, 'optionalAccess', _293 => _293.component]) || null;
16114
16122
  };
16115
16123
 
16116
16124
  // src/components/ui/alert.tsx
@@ -16372,13 +16380,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
16372
16380
  errorData = await response.json();
16373
16381
  } catch (e19) {
16374
16382
  }
16375
- if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _292 => _292.error]) && _optionalChain([errorData, 'optionalAccess', _293 => _293.message])) {
16383
+ if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _294 => _294.error]) && _optionalChain([errorData, 'optionalAccess', _295 => _295.message])) {
16376
16384
  console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
16377
16385
  onError(errorData.message);
16378
16386
  onLoading(false);
16379
16387
  return;
16380
16388
  }
16381
- if (_optionalChain([errorData, 'optionalAccess', _294 => _294.error])) {
16389
+ if (_optionalChain([errorData, 'optionalAccess', _296 => _296.error])) {
16382
16390
  throw new Error(`Server error: ${errorData.error}`);
16383
16391
  }
16384
16392
  throw new Error(`Server proxy failed: ${response.status}`);
@@ -16830,7 +16838,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16830
16838
  apiEndpoint: redditProxyUrl,
16831
16839
  dataValidator: validateRedditData,
16832
16840
  onDataUpdate: (data) => {
16833
- if (_optionalChain([data, 'access', _295 => _295[0], 'optionalAccess', _296 => _296.data, 'optionalAccess', _297 => _297.children, 'optionalAccess', _298 => _298[0], 'optionalAccess', _299 => _299.data])) {
16841
+ if (_optionalChain([data, 'access', _297 => _297[0], 'optionalAccess', _298 => _298.data, 'optionalAccess', _299 => _299.children, 'optionalAccess', _300 => _300[0], 'optionalAccess', _301 => _301.data])) {
16834
16842
  setRedditData(data[0].data.children[0].data);
16835
16843
  }
16836
16844
  },
@@ -16901,11 +16909,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16901
16909
  gallery_data: redditData.gallery_data,
16902
16910
  media_metadata: redditData.media_metadata
16903
16911
  });
16904
- const video = _optionalChain([redditData, 'access', _300 => _300.media, 'optionalAccess', _301 => _301.reddit_video]) || _optionalChain([redditData, 'access', _302 => _302.secure_media, 'optionalAccess', _303 => _303.reddit_video]);
16912
+ const video = _optionalChain([redditData, 'access', _302 => _302.media, 'optionalAccess', _303 => _303.reddit_video]) || _optionalChain([redditData, 'access', _304 => _304.secure_media, 'optionalAccess', _305 => _305.reddit_video]);
16905
16913
  if (video && video.fallback_url) {
16906
16914
  console.log("\u{1F4F9} Found Reddit video:", video);
16907
16915
  let posterUrl = "";
16908
- if (_optionalChain([redditData, 'access', _304 => _304.preview, 'optionalAccess', _305 => _305.images, 'optionalAccess', _306 => _306[0], 'optionalAccess', _307 => _307.source, 'optionalAccess', _308 => _308.url])) {
16916
+ if (_optionalChain([redditData, 'access', _306 => _306.preview, 'optionalAccess', _307 => _307.images, 'optionalAccess', _308 => _308[0], 'optionalAccess', _309 => _309.source, 'optionalAccess', _310 => _310.url])) {
16909
16917
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
16910
16918
  console.log("\u2705 Using preview image as video poster:", posterUrl);
16911
16919
  } else {
@@ -16958,7 +16966,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16958
16966
  return media;
16959
16967
  }
16960
16968
  }
16961
- if (_optionalChain([redditData, 'access', _309 => _309.preview, 'optionalAccess', _310 => _310.images, 'optionalAccess', _311 => _311[0]]) && !redditData.is_video) {
16969
+ if (_optionalChain([redditData, 'access', _311 => _311.preview, 'optionalAccess', _312 => _312.images, 'optionalAccess', _313 => _313[0]]) && !redditData.is_video) {
16962
16970
  const imageData = redditData.preview.images[0];
16963
16971
  console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
16964
16972
  let source = imageData.source;
@@ -16993,7 +17001,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16993
17001
  } else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
16994
17002
  console.log("\u{1F3AC} Found direct video URL");
16995
17003
  let posterUrl = "";
16996
- if (_optionalChain([redditData, 'access', _312 => _312.preview, 'optionalAccess', _313 => _313.images, 'optionalAccess', _314 => _314[0], 'optionalAccess', _315 => _315.source, 'optionalAccess', _316 => _316.url])) {
17004
+ if (_optionalChain([redditData, 'access', _314 => _314.preview, 'optionalAccess', _315 => _315.images, 'optionalAccess', _316 => _316[0], 'optionalAccess', _317 => _317.source, 'optionalAccess', _318 => _318.url])) {
16997
17005
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
16998
17006
  }
16999
17007
  media.push({
@@ -17006,7 +17014,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
17006
17014
  });
17007
17015
  } else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
17008
17016
  console.log("\u{1F310} Found Imgur link");
17009
- const imgurId = _optionalChain([directUrl, 'access', _317 => _317.match, 'call', _318 => _318(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _319 => _319[1]]);
17017
+ const imgurId = _optionalChain([directUrl, 'access', _319 => _319.match, 'call', _320 => _320(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _321 => _321[1]]);
17010
17018
  if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
17011
17019
  media.push({
17012
17020
  type: "image",
@@ -17155,7 +17163,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
17155
17163
  const [loading, setLoading] = _react.useState.call(void 0, true);
17156
17164
  const [error, setError] = _react.useState.call(void 0, null);
17157
17165
  const initializationDone = _react.useRef.call(void 0, false);
17158
- const extractedTweetId = tweetId || _optionalChain([url, 'access', _320 => _320.match, 'call', _321 => _321(/status\/(\d+)/), 'optionalAccess', _322 => _322[1]]);
17166
+ const extractedTweetId = tweetId || _optionalChain([url, 'access', _322 => _322.match, 'call', _323 => _323(/status\/(\d+)/), 'optionalAccess', _324 => _324[1]]);
17159
17167
  const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
17160
17168
  _react.useEffect.call(void 0, () => {
17161
17169
  if (initializationDone.current) return;
@@ -17222,10 +17230,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
17222
17230
  const parser = new DOMParser();
17223
17231
  const doc = parser.parseFromString(tweetData.html, "text/html");
17224
17232
  const blockquote = doc.querySelector("blockquote");
17225
- const fullText = _optionalChain([blockquote, 'optionalAccess', _323 => _323.textContent]) || "";
17233
+ const fullText = _optionalChain([blockquote, 'optionalAccess', _325 => _325.textContent]) || "";
17226
17234
  const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
17227
17235
  const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
17228
- const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _324 => _324.querySelectorAll, 'call', _325 => _325("a")]) || []).map((link) => ({
17236
+ const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _326 => _326.querySelectorAll, 'call', _327 => _327("a")]) || []).map((link) => ({
17229
17237
  url: link.href,
17230
17238
  text: link.textContent || link.href
17231
17239
  })).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
@@ -17480,7 +17488,7 @@ var OGLinkPreview = ({
17480
17488
  const response = await fetch(endpoint);
17481
17489
  if (response.ok) {
17482
17490
  const data = await response.json();
17483
- if (_optionalChain([data, 'optionalAccess', _326 => _326.title]) && data.title !== "Link Preview Unavailable") {
17491
+ if (_optionalChain([data, 'optionalAccess', _328 => _328.title]) && data.title !== "Link Preview Unavailable") {
17484
17492
  setOgData(data);
17485
17493
  } else {
17486
17494
  setError(true);
@@ -17507,8 +17515,8 @@ var OGLinkPreview = ({
17507
17515
  type: "website",
17508
17516
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
17509
17517
  } : null)));
17510
- const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _327 => _327.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
17511
- const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _328 => _328.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _329 => _329.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
17518
+ const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _329 => _329.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
17519
+ const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _330 => _330.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _331 => _331.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
17512
17520
  const hasImage = !!resolvedImageUrl;
17513
17521
  const isFallbackImage = resolvedImageUrl === fallbackImage;
17514
17522
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
@@ -17754,9 +17762,9 @@ function toFigmaEmbedUrl(url, opts) {
17754
17762
  if (match2) {
17755
17763
  const [, urlType, fileKey, titleSlug, queryString] = match2;
17756
17764
  const isSlides = urlType === "slides" || urlType === "deck";
17757
- const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _330 => _330.slidesView]) === "browse" ? "slides" : "deck" : "design";
17765
+ const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _332 => _332.slidesView]) === "browse" ? "slides" : "deck" : "design";
17758
17766
  const pathSuffix = titleSlug ? `/${titleSlug}` : "";
17759
- const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _331 => _331.replace, 'call', _332 => _332(/^\?/, "")]) || "");
17767
+ const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _333 => _333.replace, 'call', _334 => _334(/^\?/, "")]) || "");
17760
17768
  if (!params.has("embed-host")) {
17761
17769
  params.set("embed-host", "flamingo");
17762
17770
  }
@@ -17837,7 +17845,7 @@ function EmbedIframe({
17837
17845
  allow,
17838
17846
  referrerPolicy,
17839
17847
  loading,
17840
- allowFullScreen: _optionalChain([allow, 'optionalAccess', _333 => _333.includes, 'call', _334 => _334("fullscreen")]) ? void 0 : allowFullScreen
17848
+ allowFullScreen: _optionalChain([allow, 'optionalAccess', _335 => _335.includes, 'call', _336 => _336("fullscreen")]) ? void 0 : allowFullScreen
17841
17849
  },
17842
17850
  src
17843
17851
  )
@@ -18588,7 +18596,7 @@ var RichMarkdownInner = ({
18588
18596
  const extractText2 = (node) => {
18589
18597
  if (typeof node === "string") return node;
18590
18598
  if (Array.isArray(node)) return node.map(extractText2).join("");
18591
- if (_optionalChain([node, 'optionalAccess', _335 => _335.props, 'optionalAccess', _336 => _336.children])) return extractText2(node.props.children);
18599
+ if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
18592
18600
  return "";
18593
18601
  };
18594
18602
  const text = extractText2(children);
@@ -18604,7 +18612,7 @@ var RichMarkdownInner = ({
18604
18612
  const extractText2 = (node) => {
18605
18613
  if (typeof node === "string") return node;
18606
18614
  if (Array.isArray(node)) return node.map(extractText2).join("");
18607
- if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
18615
+ if (_optionalChain([node, 'optionalAccess', _339 => _339.props, 'optionalAccess', _340 => _340.children])) return extractText2(node.props.children);
18608
18616
  return "";
18609
18617
  };
18610
18618
  const text = extractText2(children);
@@ -18622,7 +18630,7 @@ var RichMarkdownInner = ({
18622
18630
  const extractText2 = (node) => {
18623
18631
  if (typeof node === "string") return node;
18624
18632
  if (Array.isArray(node)) return node.map(extractText2).join("");
18625
- if (_optionalChain([node, 'optionalAccess', _339 => _339.props, 'optionalAccess', _340 => _340.children])) return extractText2(node.props.children);
18633
+ if (_optionalChain([node, 'optionalAccess', _341 => _341.props, 'optionalAccess', _342 => _342.children])) return extractText2(node.props.children);
18626
18634
  return "";
18627
18635
  };
18628
18636
  const text = extractText2(children);
@@ -18640,7 +18648,7 @@ var RichMarkdownInner = ({
18640
18648
  const extractText2 = (node) => {
18641
18649
  if (typeof node === "string") return node;
18642
18650
  if (Array.isArray(node)) return node.map(extractText2).join("");
18643
- if (_optionalChain([node, 'optionalAccess', _341 => _341.props, 'optionalAccess', _342 => _342.children])) return extractText2(node.props.children);
18651
+ if (_optionalChain([node, 'optionalAccess', _343 => _343.props, 'optionalAccess', _344 => _344.children])) return extractText2(node.props.children);
18644
18652
  return "";
18645
18653
  };
18646
18654
  const text = extractText2(children);
@@ -18658,7 +18666,7 @@ var RichMarkdownInner = ({
18658
18666
  const extractText2 = (node) => {
18659
18667
  if (typeof node === "string") return node;
18660
18668
  if (Array.isArray(node)) return node.map(extractText2).join("");
18661
- if (_optionalChain([node, 'optionalAccess', _343 => _343.props, 'optionalAccess', _344 => _344.children])) return extractText2(node.props.children);
18669
+ if (_optionalChain([node, 'optionalAccess', _345 => _345.props, 'optionalAccess', _346 => _346.children])) return extractText2(node.props.children);
18662
18670
  return "";
18663
18671
  };
18664
18672
  const text = extractText2(children);
@@ -18676,7 +18684,7 @@ var RichMarkdownInner = ({
18676
18684
  const extractText2 = (node) => {
18677
18685
  if (typeof node === "string") return node;
18678
18686
  if (Array.isArray(node)) return node.map(extractText2).join("");
18679
- if (_optionalChain([node, 'optionalAccess', _345 => _345.props, 'optionalAccess', _346 => _346.children])) return extractText2(node.props.children);
18687
+ if (_optionalChain([node, 'optionalAccess', _347 => _347.props, 'optionalAccess', _348 => _348.children])) return extractText2(node.props.children);
18680
18688
  return "";
18681
18689
  };
18682
18690
  const text = extractText2(children);
@@ -18752,8 +18760,8 @@ var RichMarkdownInner = ({
18752
18760
  {
18753
18761
  href,
18754
18762
  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 || ""}`,
18755
- target: _optionalChain([href, 'optionalAccess', _347 => _347.startsWith, 'call', _348 => _348("http")]) ? "_blank" : void 0,
18756
- rel: _optionalChain([href, 'optionalAccess', _349 => _349.startsWith, 'call', _350 => _350("http")]) ? "noopener noreferrer" : void 0,
18763
+ target: _optionalChain([href, 'optionalAccess', _349 => _349.startsWith, 'call', _350 => _350("http")]) ? "_blank" : void 0,
18764
+ rel: _optionalChain([href, 'optionalAccess', _351 => _351.startsWith, 'call', _352 => _352("http")]) ? "noopener noreferrer" : void 0,
18757
18765
  children
18758
18766
  }
18759
18767
  );
@@ -18877,7 +18885,7 @@ function ReleaseChangelogSection({
18877
18885
  className: "overflow-hidden transition-[max-height] duration-500",
18878
18886
  style: {
18879
18887
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
18880
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _351 => _351.current, 'optionalAccess', _352 => _352.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
18888
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _353 => _353.current, 'optionalAccess', _354 => _354.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
18881
18889
  ...previewNeedsFade && !previewExpanded ? {
18882
18890
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
18883
18891
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -19314,16 +19322,16 @@ function FilterModal({
19314
19322
  };
19315
19323
  const handleReset = () => {
19316
19324
  onFilterChange({});
19317
- _optionalChain([onTagsChange, 'optionalCall', _353 => _353([])]);
19325
+ _optionalChain([onTagsChange, 'optionalCall', _355 => _355([])]);
19318
19326
  onClose();
19319
19327
  };
19320
19328
  const handleApply = () => {
19321
19329
  onFilterChange(selectedFilters);
19322
- _optionalChain([onTagsChange, 'optionalCall', _354 => _354(pendingTags)]);
19330
+ _optionalChain([onTagsChange, 'optionalCall', _356 => _356(pendingTags)]);
19323
19331
  onClose();
19324
19332
  };
19325
19333
  const getColumnDirection = (columnKey) => {
19326
- return _optionalChain([sortConfig, 'optionalAccess', _355 => _355.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
19334
+ return _optionalChain([sortConfig, 'optionalAccess', _357 => _357.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
19327
19335
  };
19328
19336
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
19329
19337
  const hasFilterGroups = filterGroups.length > 0;
@@ -19372,7 +19380,7 @@ function FilterModal({
19372
19380
  {
19373
19381
  column,
19374
19382
  currentDirection: getColumnDirection(column.key),
19375
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _356 => _356(column.key, direction)]),
19383
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _358 => _358(column.key, direction)]),
19376
19384
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
19377
19385
  },
19378
19386
  column.key
@@ -19558,7 +19566,7 @@ function IconButtonsVariant({
19558
19566
  }) {
19559
19567
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
19560
19568
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
19561
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _357 => _357[0], 'access', _358 => _358.submenu, 'optionalAccess', _359 => _359.length]);
19569
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _359 => _359[0], 'access', _360 => _360.submenu, 'optionalAccess', _361 => _361.length]);
19562
19570
  const singleAction = isSingleAction ? actions[0] : null;
19563
19571
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
19564
19572
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -20780,7 +20788,7 @@ function getShellIcon(shellType) {
20780
20788
  if (!shellType) return void 0;
20781
20789
  const normalized = shellType.toUpperCase();
20782
20790
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
20783
- return _optionalChain([shellDef, 'optionalAccess', _360 => _360.icon]);
20791
+ return _optionalChain([shellDef, 'optionalAccess', _362 => _362.icon]);
20784
20792
  }
20785
20793
 
20786
20794
  // src/types/os.types.ts
@@ -20853,7 +20861,7 @@ function getOSIcon(osType) {
20853
20861
  const normalized = normalizeOSType(osType);
20854
20862
  if (!normalized) return void 0;
20855
20863
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
20856
- return _optionalChain([osTypeDef, 'optionalAccess', _361 => _361.icon]);
20864
+ return _optionalChain([osTypeDef, 'optionalAccess', _363 => _363.icon]);
20857
20865
  }
20858
20866
  function getOSTypeDefinition(osType) {
20859
20867
  if (!osType) return void 0;
@@ -20863,7 +20871,7 @@ function getOSTypeDefinition(osType) {
20863
20871
  }
20864
20872
  function getOSPlatformId(osType) {
20865
20873
  const osTypeDef = getOSTypeDefinition(osType);
20866
- return _optionalChain([osTypeDef, 'optionalAccess', _362 => _362.platformId]);
20874
+ return _optionalChain([osTypeDef, 'optionalAccess', _364 => _364.platformId]);
20867
20875
  }
20868
20876
  function isOSPlatform(deviceOS, targetPlatform) {
20869
20877
  if (!deviceOS || !targetPlatform) return false;
@@ -20956,10 +20964,10 @@ var GENERIC_EMAIL_DOMAINS = [
20956
20964
  ];
20957
20965
  function extractDomainFromEmail(email) {
20958
20966
  if (!email || !email.includes("@")) return null;
20959
- return _optionalChain([email, 'access', _363 => _363.split, 'call', _364 => _364("@"), 'access', _365 => _365[1], 'optionalAccess', _366 => _366.toLowerCase, 'call', _367 => _367()]) || null;
20967
+ return _optionalChain([email, 'access', _365 => _365.split, 'call', _366 => _366("@"), 'access', _367 => _367[1], 'optionalAccess', _368 => _368.toLowerCase, 'call', _369 => _369()]) || null;
20960
20968
  }
20961
20969
  function normalizeDomain(domain) {
20962
- return _optionalChain([domain, 'optionalAccess', _368 => _368.toLowerCase, 'call', _369 => _369(), 'access', _370 => _370.replace, 'call', _371 => _371(/^https?:\/\//, ""), 'access', _372 => _372.replace, 'call', _373 => _373(/^www\./, ""), 'access', _374 => _374.split, 'call', _375 => _375("/"), 'access', _376 => _376[0], 'access', _377 => _377.trim, 'call', _378 => _378()]) || "";
20970
+ return _optionalChain([domain, 'optionalAccess', _370 => _370.toLowerCase, 'call', _371 => _371(), 'access', _372 => _372.replace, 'call', _373 => _373(/^https?:\/\//, ""), 'access', _374 => _374.replace, 'call', _375 => _375(/^www\./, ""), 'access', _376 => _376.split, 'call', _377 => _377("/"), 'access', _378 => _378[0], 'access', _379 => _379.trim, 'call', _380 => _380()]) || "";
20963
20971
  }
20964
20972
  function isGenericDomain(domain) {
20965
20973
  const normalized = normalizeDomain(domain);
@@ -21393,7 +21401,7 @@ function defaultTableIdForDocumentType(documentType) {
21393
21401
 
21394
21402
  // src/utils/sse-decision-frame.ts
21395
21403
  async function readLeadingDecisionFrame(response) {
21396
- const reader = _optionalChain([response, 'access', _379 => _379.body, 'optionalAccess', _380 => _380.getReader, 'call', _381 => _381()]);
21404
+ const reader = _optionalChain([response, 'access', _381 => _381.body, 'optionalAccess', _382 => _382.getReader, 'call', _383 => _383()]);
21397
21405
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
21398
21406
  const decoder = new TextDecoder();
21399
21407
  let buffer = "";
@@ -21422,9 +21430,9 @@ async function readLeadingDecisionFrame(response) {
21422
21430
  );
21423
21431
  }
21424
21432
  const obj = parsed;
21425
- if (_optionalChain([obj, 'optionalAccess', _382 => _382.kind]) !== "decision_resolved") {
21433
+ if (_optionalChain([obj, 'optionalAccess', _384 => _384.kind]) !== "decision_resolved") {
21426
21434
  throw new Error(
21427
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _383 => _383.kind]))}`
21435
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _385 => _385.kind]))}`
21428
21436
  );
21429
21437
  }
21430
21438
  frame = normalizeDecisionFrame(obj);
@@ -21465,7 +21473,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
21465
21473
  function buildAutoContinuationDirective(toolName, opts = {}) {
21466
21474
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
21467
21475
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
21468
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _384 => _384.status, 'optionalAccess', _385 => _385.toUpperCase, 'call', _386 => _386()]) === "CLOSED";
21476
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _386 => _386.status, 'optionalAccess', _387 => _387.toUpperCase, 'call', _388 => _388()]) === "CLOSED";
21469
21477
  if (toolName === "create_ticket") {
21470
21478
  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.`;
21471
21479
  }
@@ -21527,7 +21535,7 @@ function formatSingularLookupInvocation(cmdId, value) {
21527
21535
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
21528
21536
  }
21529
21537
  function extractEntityIdFilter(override, expectedTableId) {
21530
- const f = _optionalChain([override, 'optionalAccess', _387 => _387.entityIdFilter]);
21538
+ const f = _optionalChain([override, 'optionalAccess', _389 => _389.entityIdFilter]);
21531
21539
  if (!f) return null;
21532
21540
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
21533
21541
  const id = typeof f.id === "string" ? f.id : "";
@@ -21602,7 +21610,7 @@ function getTaskTypeLabel(customItemId) {
21602
21610
 
21603
21611
  // src/components/chat/utils/agent-status-message.ts
21604
21612
  function getStatusColorScheme(status) {
21605
- const s = _optionalChain([status, 'optionalAccess', _388 => _388.toLowerCase, 'call', _389 => _389()]) || "";
21613
+ const s = _optionalChain([status, 'optionalAccess', _390 => _390.toLowerCase, 'call', _391 => _391()]) || "";
21606
21614
  switch (status) {
21607
21615
  case "completed":
21608
21616
  case "success":
@@ -21884,10 +21892,10 @@ var CONTENT_REF_GROUPS = {
21884
21892
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
21885
21893
  };
21886
21894
  function getContentRefLabel(type) {
21887
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _390 => _390[type], 'optionalAccess', _391 => _391.label]), () => ( null));
21895
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _392 => _392[type], 'optionalAccess', _393 => _393.label]), () => ( null));
21888
21896
  }
21889
21897
  function getContentRefLabelOrTitleCase(type) {
21890
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _392 => _392[type], 'optionalAccess', _393 => _393.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
21898
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _394 => _394[type], 'optionalAccess', _395 => _395.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
21891
21899
  }
21892
21900
  function orderContentRefTypes(present) {
21893
21901
  const presentSet = new Set(present);
@@ -22046,7 +22054,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
22046
22054
  const firstFolderWithReadme = structure.find(
22047
22055
  (node) => node.type === "folder" && node.hasReadme && !!node.path
22048
22056
  );
22049
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _394 => _394.path]), () => ( null));
22057
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _396 => _396.path]), () => ( null));
22050
22058
  }
22051
22059
 
22052
22060
  // src/utils/doc-path-utils.ts
@@ -22057,7 +22065,7 @@ function pathToNodeId(path) {
22057
22065
  return path.replace(/[\/\s]/g, "-").toLowerCase();
22058
22066
  }
22059
22067
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
22060
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _395 => _395.join, 'call', _396 => _396("/")]) || "").toLowerCase();
22068
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _397 => _397.join, 'call', _398 => _398("/")]) || "").toLowerCase();
22061
22069
  const lowerIndex = folderIndexFile.toLowerCase();
22062
22070
  const suffix = `/${lowerIndex}`;
22063
22071
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -22918,26 +22926,26 @@ function DeviceCard({
22918
22926
  ] }),
22919
22927
  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 })
22920
22928
  ] }),
22921
- _optionalChain([actions, 'access', _397 => _397.moreButton, 'optionalAccess', _398 => _398.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22929
+ _optionalChain([actions, 'access', _399 => _399.moreButton, 'optionalAccess', _400 => _400.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22922
22930
  "div",
22923
22931
  {
22924
22932
  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",
22925
22933
  onClick: (e) => {
22926
22934
  e.stopPropagation();
22927
- _optionalChain([actions, 'access', _399 => _399.moreButton, 'optionalAccess', _400 => _400.onClick, 'optionalCall', _401 => _401()]);
22935
+ _optionalChain([actions, 'access', _401 => _401.moreButton, 'optionalAccess', _402 => _402.onClick, 'optionalCall', _403 => _403()]);
22928
22936
  },
22929
22937
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
22930
22938
  }
22931
22939
  ),
22932
- _optionalChain([actions, 'access', _402 => _402.detailsButton, 'optionalAccess', _403 => _403.visible]) !== false && _optionalChain([actions, 'access', _404 => _404.detailsButton, 'optionalAccess', _405 => _405.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22933
- _optionalChain([actions, 'access', _406 => _406.customActions, 'optionalAccess', _407 => _407.map, 'call', _408 => _408(
22940
+ _optionalChain([actions, 'access', _404 => _404.detailsButton, 'optionalAccess', _405 => _405.visible]) !== false && _optionalChain([actions, 'access', _406 => _406.detailsButton, 'optionalAccess', _407 => _407.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22941
+ _optionalChain([actions, 'access', _408 => _408.customActions, 'optionalAccess', _409 => _409.map, 'call', _410 => _410(
22934
22942
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22935
22943
  "div",
22936
22944
  {
22937
22945
  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",
22938
22946
  onClick: (e) => {
22939
22947
  e.stopPropagation();
22940
- _optionalChain([action, 'access', _409 => _409.onClick, 'optionalCall', _410 => _410()]);
22948
+ _optionalChain([action, 'access', _411 => _411.onClick, 'optionalCall', _412 => _412()]);
22941
22949
  },
22942
22950
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22943
22951
  },
@@ -23437,7 +23445,7 @@ function MoreActionsMenu({
23437
23445
  ] });
23438
23446
  const handleActivate = (e) => {
23439
23447
  e.stopPropagation();
23440
- if (!item.disabled) _optionalChain([item, 'access', _411 => _411.onClick, 'optionalCall', _412 => _412()]);
23448
+ if (!item.disabled) _optionalChain([item, 'access', _413 => _413.onClick, 'optionalCall', _414 => _414()]);
23441
23449
  };
23442
23450
  if (item.href) {
23443
23451
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -23504,7 +23512,7 @@ function OrganizationCard({
23504
23512
  const handleActionClick = (e) => {
23505
23513
  e.preventDefault();
23506
23514
  e.stopPropagation();
23507
- _optionalChain([actionButton, 'optionalAccess', _413 => _413.onClick, 'call', _414 => _414(organization, e)]);
23515
+ _optionalChain([actionButton, 'optionalAccess', _415 => _415.onClick, 'call', _416 => _416(organization, e)]);
23508
23516
  };
23509
23517
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23510
23518
  "div",
@@ -24410,10 +24418,10 @@ var getContentDimensions = (config) => {
24410
24418
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
24411
24419
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
24412
24420
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
24413
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _415 => _415.mobileContentDimensions, 'optionalAccess', _416 => _416.width]))), () => ( defaultMobile.width));
24414
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _417 => _417.mobileContentDimensions, 'optionalAccess', _418 => _418.height]))), () => ( defaultMobile.height));
24415
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _419 => _419.desktopContentDimensions, 'optionalAccess', _420 => _420.width]))), () => ( defaultDesktop.width));
24416
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _421 => _421.desktopContentDimensions, 'optionalAccess', _422 => _422.height]))), () => ( defaultDesktop.height));
24421
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _417 => _417.mobileContentDimensions, 'optionalAccess', _418 => _418.width]))), () => ( defaultMobile.width));
24422
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _419 => _419.mobileContentDimensions, 'optionalAccess', _420 => _420.height]))), () => ( defaultMobile.height));
24423
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _421 => _421.desktopContentDimensions, 'optionalAccess', _422 => _422.width]))), () => ( defaultDesktop.width));
24424
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _423 => _423.desktopContentDimensions, 'optionalAccess', _424 => _424.height]))), () => ( defaultDesktop.height));
24417
24425
  return {
24418
24426
  mobile: { width: mobileWidth, height: mobileHeight },
24419
24427
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -24547,7 +24555,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
24547
24555
  const contentDimensions = getContentDimensions(config);
24548
24556
  const mobileHeight = contentDimensions.mobile.height;
24549
24557
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
24550
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _423 => _423.innerHeight]) * 0.85 || 650)}px`;
24558
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _425 => _425.innerHeight]) * 0.85 || 650)}px`;
24551
24559
  })(),
24552
24560
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
24553
24561
  const contentDimensions = getContentDimensions(config);
@@ -24652,7 +24660,7 @@ var FigmaPrototypeViewer = ({
24652
24660
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
24653
24661
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
24654
24662
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
24655
- config.defaultSectionId || _optionalChain([config, 'access', _424 => _424.sections, 'access', _425 => _425[0], 'optionalAccess', _426 => _426.id]) || ""
24663
+ config.defaultSectionId || _optionalChain([config, 'access', _426 => _426.sections, 'access', _427 => _427[0], 'optionalAccess', _428 => _428.id]) || ""
24656
24664
  );
24657
24665
  const activeSection = externalActiveSection || internalActiveSection;
24658
24666
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -24742,7 +24750,7 @@ var FigmaPrototypeViewer = ({
24742
24750
  const handleMessage = (event) => {
24743
24751
  if (event.origin !== "https://www.figma.com") return;
24744
24752
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
24745
- if (_optionalChain([event, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.type]) && validEvents.includes(event.data.type)) {
24753
+ if (_optionalChain([event, 'access', _429 => _429.data, 'optionalAccess', _430 => _430.type]) && validEvents.includes(event.data.type)) {
24746
24754
  const figmaEvent = event.data;
24747
24755
  console.log("[Figma Event]", figmaEvent.type, viewMode);
24748
24756
  switch (figmaEvent.type) {
@@ -24752,19 +24760,19 @@ var FigmaPrototypeViewer = ({
24752
24760
  setIframeState("READY");
24753
24761
  break;
24754
24762
  case "PRESENTED_NODE_CHANGED":
24755
- if (_optionalChain([figmaEvent, 'access', _429 => _429.data, 'optionalAccess', _430 => _430.presentedNodeId])) {
24763
+ if (_optionalChain([figmaEvent, 'access', _431 => _431.data, 'optionalAccess', _432 => _432.presentedNodeId])) {
24756
24764
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
24757
24765
  if (!isNavigating) {
24758
24766
  const matchingSection = config.sections.find((s) => {
24759
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _431 => _431.data, 'optionalAccess', _432 => _432.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _433 => _433.data, 'optionalAccess', _434 => _434.presentedNodeId]);
24760
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _435 => _435.data, 'optionalAccess', _436 => _436.presentedNodeId]) || _optionalChain([s, 'access', _437 => _437.mobileStartingNodeId, 'optionalAccess', _438 => _438.replace, 'call', _439 => _439(":", "-")]) === _optionalChain([figmaEvent, 'access', _440 => _440.data, 'optionalAccess', _441 => _441.presentedNodeId]);
24767
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _433 => _433.data, 'optionalAccess', _434 => _434.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _435 => _435.data, 'optionalAccess', _436 => _436.presentedNodeId]);
24768
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _437 => _437.data, 'optionalAccess', _438 => _438.presentedNodeId]) || _optionalChain([s, 'access', _439 => _439.mobileStartingNodeId, 'optionalAccess', _440 => _440.replace, 'call', _441 => _441(":", "-")]) === _optionalChain([figmaEvent, 'access', _442 => _442.data, 'optionalAccess', _443 => _443.presentedNodeId]);
24761
24769
  return desktopMatch || mobileMatch;
24762
24770
  });
24763
24771
  if (matchingSection && matchingSection.id !== activeSection) {
24764
24772
  if (!externalActiveSection) {
24765
24773
  setInternalActiveSection(matchingSection.id);
24766
24774
  }
24767
- _optionalChain([config, 'access', _442 => _442.onSectionChange, 'optionalCall', _443 => _443(matchingSection.id)]);
24775
+ _optionalChain([config, 'access', _444 => _444.onSectionChange, 'optionalCall', _445 => _445(matchingSection.id)]);
24768
24776
  }
24769
24777
  }
24770
24778
  }
@@ -24777,7 +24785,7 @@ var FigmaPrototypeViewer = ({
24777
24785
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
24778
24786
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
24779
24787
  const section = config.sections.find((s) => s.id === sectionId);
24780
- if (!section || !_optionalChain([iframeRef, 'access', _444 => _444.current, 'optionalAccess', _445 => _445.contentWindow]) || !isInitialized) {
24788
+ if (!section || !_optionalChain([iframeRef, 'access', _446 => _446.current, 'optionalAccess', _447 => _447.contentWindow]) || !isInitialized) {
24781
24789
  return;
24782
24790
  }
24783
24791
  setIsNavigating(true);
@@ -24785,7 +24793,7 @@ var FigmaPrototypeViewer = ({
24785
24793
  if (!externalActiveSection) {
24786
24794
  setInternalActiveSection(sectionId);
24787
24795
  }
24788
- _optionalChain([config, 'access', _446 => _446.onSectionChange, 'optionalCall', _447 => _447(sectionId)]);
24796
+ _optionalChain([config, 'access', _448 => _448.onSectionChange, 'optionalCall', _449 => _449(sectionId)]);
24789
24797
  const command = {
24790
24798
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
24791
24799
  data: { nodeId }
@@ -25105,7 +25113,7 @@ var FiltersDropdown = ({
25105
25113
  defaults[section.id] = section.defaultSelected || [];
25106
25114
  });
25107
25115
  setSelectedFilters(defaults);
25108
- _optionalChain([onReset, 'optionalCall', _448 => _448()]);
25116
+ _optionalChain([onReset, 'optionalCall', _450 => _450()]);
25109
25117
  setIsOpen(false);
25110
25118
  };
25111
25119
  const handleApply = () => {
@@ -25398,7 +25406,7 @@ function MediaGalleryManager({
25398
25406
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
25399
25407
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
25400
25408
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
25401
- const file = _optionalChain([event, 'access', _449 => _449.target, 'access', _450 => _450.files, 'optionalAccess', _451 => _451[0]]);
25409
+ const file = _optionalChain([event, 'access', _451 => _451.target, 'access', _452 => _452.files, 'optionalAccess', _453 => _453[0]]);
25402
25410
  if (!file) return;
25403
25411
  let mediaType;
25404
25412
  if (file.type.startsWith("image/")) {
@@ -25513,7 +25521,7 @@ function MediaGalleryManager({
25513
25521
  {
25514
25522
  type: "button",
25515
25523
  variant: "outline",
25516
- onClick: () => _optionalChain([fileInputRef, 'access', _452 => _452.current, 'optionalAccess', _453 => _453.click, 'call', _454 => _454()]),
25524
+ onClick: () => _optionalChain([fileInputRef, 'access', _454 => _454.current, 'optionalAccess', _455 => _455.click, 'call', _456 => _456()]),
25517
25525
  disabled: isUploading,
25518
25526
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
25519
25527
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -26181,7 +26189,7 @@ function ReleaseMediaManager({
26181
26189
  const fileInputRef = _react.useRef.call(void 0, null);
26182
26190
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
26183
26191
  const handleFileSelect = async (event) => {
26184
- const file = _optionalChain([event, 'access', _455 => _455.target, 'access', _456 => _456.files, 'optionalAccess', _457 => _457[0]]);
26192
+ const file = _optionalChain([event, 'access', _457 => _457.target, 'access', _458 => _458.files, 'optionalAccess', _459 => _459[0]]);
26185
26193
  if (!file) return;
26186
26194
  let mediaType;
26187
26195
  if (file.type.startsWith("image/")) {
@@ -26261,7 +26269,7 @@ function ReleaseMediaManager({
26261
26269
  {
26262
26270
  type: "button",
26263
26271
  variant: "outline",
26264
- onClick: () => _optionalChain([fileInputRef, 'access', _458 => _458.current, 'optionalAccess', _459 => _459.click, 'call', _460 => _460()]),
26272
+ onClick: () => _optionalChain([fileInputRef, 'access', _460 => _460.current, 'optionalAccess', _461 => _461.click, 'call', _462 => _462()]),
26265
26273
  disabled: uploadingIndex !== null,
26266
26274
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
26267
26275
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -26476,7 +26484,7 @@ function SEOEditorPreview({
26476
26484
  const displayImage = hasOgImage || hasFeaturedImage;
26477
26485
  const handleImageUpload = async (event) => {
26478
26486
  if (!onOgImageUpload) return;
26479
- const file = _optionalChain([event, 'access', _461 => _461.target, 'access', _462 => _462.files, 'optionalAccess', _463 => _463[0]]);
26487
+ const file = _optionalChain([event, 'access', _463 => _463.target, 'access', _464 => _464.files, 'optionalAccess', _465 => _465[0]]);
26480
26488
  if (!file) return;
26481
26489
  setIsUploading(true);
26482
26490
  try {
@@ -26617,7 +26625,7 @@ function SEOEditorPreview({
26617
26625
  type: "button",
26618
26626
  variant: "outline",
26619
26627
  size: "icon",
26620
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _464 => _464.click, 'call', _465 => _465()]),
26628
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _466 => _466.click, 'call', _467 => _467()]),
26621
26629
  disabled: disabled || isUploading,
26622
26630
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
26623
26631
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -26640,7 +26648,7 @@ function SEOEditorPreview({
26640
26648
  "div",
26641
26649
  {
26642
26650
  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",
26643
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _466 => _466.click, 'call', _467 => _467()]),
26651
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _468 => _468.click, 'call', _469 => _469()]),
26644
26652
  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: [
26645
26653
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
26646
26654
  /* @__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" })
@@ -26727,7 +26735,7 @@ function SocialLinksManager({
26727
26735
  className = ""
26728
26736
  }) {
26729
26737
  const addLink = () => {
26730
- const firstPlatform = _optionalChain([platforms, 'access', _468 => _468[0], 'optionalAccess', _469 => _469.name]) || "website";
26738
+ const firstPlatform = _optionalChain([platforms, 'access', _470 => _470[0], 'optionalAccess', _471 => _471.name]) || "website";
26731
26739
  onChange([...links, { platform: firstPlatform, url: "" }]);
26732
26740
  };
26733
26741
  const removeLink = (index) => {
@@ -26739,7 +26747,7 @@ function SocialLinksManager({
26739
26747
  onChange(updated);
26740
26748
  };
26741
26749
  const getIcon = (link, platform) => {
26742
- const iconKey = _optionalChain([platform, 'optionalAccess', _470 => _470.icon_name]) || link.platform;
26750
+ const iconKey = _optionalChain([platform, 'optionalAccess', _472 => _472.icon_name]) || link.platform;
26743
26751
  const IconComponent = iconMap[iconKey];
26744
26752
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
26745
26753
  };
@@ -26764,7 +26772,7 @@ function SocialLinksManager({
26764
26772
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26765
26773
  _chunkQJGRP2YEcjs.Input,
26766
26774
  {
26767
- placeholder: _optionalChain([platform, 'optionalAccess', _471 => _471.placeholder]) || "Profile URL",
26775
+ placeholder: _optionalChain([platform, 'optionalAccess', _473 => _473.placeholder]) || "Profile URL",
26768
26776
  value: link.url,
26769
26777
  onChange: (e) => updateLink(index, "url", e.target.value),
26770
26778
  onKeyDown: (e) => {
@@ -27157,7 +27165,7 @@ function useVideoOriginPreconnect({
27157
27165
  supabaseStorageOrigin
27158
27166
  } = {}) {
27159
27167
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
27160
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _472 => _472.endpoints, 'access', _473 => _473.supabaseStorageOrigin])));
27168
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _474 => _474.endpoints, 'access', _475 => _475.supabaseStorageOrigin])));
27161
27169
  try {
27162
27170
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
27163
27171
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -27176,13 +27184,13 @@ function useVideoWarmup({
27176
27184
  nearMargin = "1000px"
27177
27185
  } = {}) {
27178
27186
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
27179
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _474 => _474.endpoints, 'access', _475 => _475.supabaseStorageOrigin])));
27187
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _476 => _476.endpoints, 'access', _477 => _477.supabaseStorageOrigin])));
27180
27188
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
27181
27189
  const { ref, isNear } = _chunkDCIB6AK3cjs.useNearViewport.call(void 0, nearMargin);
27182
27190
  _react.useEffect.call(void 0, () => {
27183
27191
  if (!isNear || !videoUrl || !resolvedOrigin) return;
27184
27192
  const conn = navigator.connection;
27185
- if (_optionalChain([conn, 'optionalAccess', _476 => _476.saveData]) === true) return;
27193
+ if (_optionalChain([conn, 'optionalAccess', _478 => _478.saveData]) === true) return;
27186
27194
  let videoOrigin;
27187
27195
  try {
27188
27196
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -27252,7 +27260,7 @@ function VideoSourceSelector({
27252
27260
  input.accept = "video/*";
27253
27261
  input.onchange = async (e) => {
27254
27262
  const target = e.target;
27255
- const file = _optionalChain([target, 'access', _477 => _477.files, 'optionalAccess', _478 => _478[0]]);
27263
+ const file = _optionalChain([target, 'access', _479 => _479.files, 'optionalAccess', _480 => _480[0]]);
27256
27264
  if (!file) return;
27257
27265
  setIsUploading(true);
27258
27266
  setUploadProgress(0);
@@ -27601,7 +27609,7 @@ function TranscriptSummaryEditor({
27601
27609
  {
27602
27610
  id: "subtitles",
27603
27611
  value: subtitles || "",
27604
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _479 => _479(e.target.value)]),
27612
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _481 => _481(e.target.value)]),
27605
27613
  placeholder: subtitlesPlaceholder,
27606
27614
  disabled: disabled || !onSubtitlesChange,
27607
27615
  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",
@@ -27754,7 +27762,7 @@ var AIEnrichSection = ({
27754
27762
  }) => {
27755
27763
  const hasResults = status === "success" || status === "error";
27756
27764
  const shouldDisable = disabled || !canEnrich;
27757
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _480 => _480.filter, 'call', _481 => _481((f) => !f.isFilled)]) || [];
27765
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _482 => _482.filter, 'call', _483 => _483((f) => !f.isFilled)]) || [];
27758
27766
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27759
27767
  "div",
27760
27768
  {
@@ -27792,7 +27800,7 @@ var AIEnrichSection = ({
27792
27800
  {
27793
27801
  id: "ai-enrich-custom-instructions",
27794
27802
  value: _nullishCoalesce(customInstructions, () => ( "")),
27795
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _482 => _482(e.target.value)]),
27803
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _484 => _484(e.target.value)]),
27796
27804
  placeholder: customInstructionsPlaceholder,
27797
27805
  disabled: loading,
27798
27806
  maxLength: customInstructionsMaxLength,
@@ -27921,7 +27929,7 @@ function HighlightVideoSection({
27921
27929
  input.accept = "video/*";
27922
27930
  input.onchange = async (e) => {
27923
27931
  const target = e.target;
27924
- const file = _optionalChain([target, 'access', _483 => _483.files, 'optionalAccess', _484 => _484[0]]);
27932
+ const file = _optionalChain([target, 'access', _485 => _485.files, 'optionalAccess', _486 => _486[0]]);
27925
27933
  if (!file) return;
27926
27934
  setUploadError(null);
27927
27935
  try {
@@ -28416,7 +28424,7 @@ function HighlightVideoPreview({
28416
28424
  input.accept = "video/*";
28417
28425
  input.onchange = async (e) => {
28418
28426
  const target = e.target;
28419
- const file = _optionalChain([target, 'access', _485 => _485.files, 'optionalAccess', _486 => _486[0]]);
28427
+ const file = _optionalChain([target, 'access', _487 => _487.files, 'optionalAccess', _488 => _488[0]]);
28420
28428
  if (!file) return;
28421
28429
  await onUpload(file);
28422
28430
  };
@@ -28600,7 +28608,7 @@ function HighlightVideoCombinedSection({
28600
28608
  input.accept = "video/*";
28601
28609
  input.onchange = async (e) => {
28602
28610
  const target = e.target;
28603
- const file = _optionalChain([target, 'access', _487 => _487.files, 'optionalAccess', _488 => _488[0]]);
28611
+ const file = _optionalChain([target, 'access', _489 => _489.files, 'optionalAccess', _490 => _490[0]]);
28604
28612
  if (!file) return;
28605
28613
  await onUpload(file);
28606
28614
  };
@@ -28894,7 +28902,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
28894
28902
  return editMode ? "Set Global Permission" : "";
28895
28903
  }
28896
28904
  const option = approvalLevelOptions.find((opt) => opt.value === level);
28897
- return _optionalChain([option, 'optionalAccess', _489 => _489.label]) || level;
28905
+ return _optionalChain([option, 'optionalAccess', _491 => _491.label]) || level;
28898
28906
  };
28899
28907
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
28900
28908
  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: [
@@ -29108,12 +29116,12 @@ function PhoneInput({
29108
29116
  const runValidation = _react.useCallback.call(void 0, (phone) => {
29109
29117
  if (!phone || digitCount(phone) === 0) {
29110
29118
  setIsInvalid(false);
29111
- _optionalChain([onValidationChange, 'optionalCall', _490 => _490(false)]);
29119
+ _optionalChain([onValidationChange, 'optionalCall', _492 => _492(false)]);
29112
29120
  return;
29113
29121
  }
29114
29122
  const invalid = !validatePhoneNumber(phone, countryCode);
29115
29123
  setIsInvalid(invalid);
29116
- _optionalChain([onValidationChange, 'optionalCall', _491 => _491(invalid)]);
29124
+ _optionalChain([onValidationChange, 'optionalCall', _493 => _493(invalid)]);
29117
29125
  }, [countryCode, digitCount, onValidationChange]);
29118
29126
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
29119
29127
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -29162,7 +29170,7 @@ function PhoneInput({
29162
29170
  debouncedValidation(val);
29163
29171
  } else if (digitCount(val) === 0) {
29164
29172
  setIsInvalid(false);
29165
- _optionalChain([onValidationChange, 'optionalCall', _492 => _492(false)]);
29173
+ _optionalChain([onValidationChange, 'optionalCall', _494 => _494(false)]);
29166
29174
  }
29167
29175
  }
29168
29176
  },
@@ -29503,19 +29511,19 @@ function NotificationsProvider({
29503
29511
  }, []);
29504
29512
  const markRead = React92.useCallback((id) => {
29505
29513
  dispatch({ type: "markRead", id });
29506
- void _optionalChain([actionsRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.onMarkRead, 'optionalCall', _495 => _495(id)]);
29514
+ void _optionalChain([actionsRef, 'access', _495 => _495.current, 'optionalAccess', _496 => _496.onMarkRead, 'optionalCall', _497 => _497(id)]);
29507
29515
  }, []);
29508
29516
  const markAllRead = React92.useCallback(() => {
29509
29517
  dispatch({ type: "markAllRead" });
29510
- void _optionalChain([actionsRef, 'access', _496 => _496.current, 'optionalAccess', _497 => _497.onMarkAllRead, 'optionalCall', _498 => _498()]);
29518
+ void _optionalChain([actionsRef, 'access', _498 => _498.current, 'optionalAccess', _499 => _499.onMarkAllRead, 'optionalCall', _500 => _500()]);
29511
29519
  }, []);
29512
29520
  const markSettled = React92.useCallback((id) => {
29513
29521
  dispatch({ type: "markSettled", id });
29514
- void _optionalChain([actionsRef, 'access', _499 => _499.current, 'optionalAccess', _500 => _500.onMarkSettled, 'optionalCall', _501 => _501(id)]);
29522
+ void _optionalChain([actionsRef, 'access', _501 => _501.current, 'optionalAccess', _502 => _502.onMarkSettled, 'optionalCall', _503 => _503(id)]);
29515
29523
  }, []);
29516
29524
  const remove = React92.useCallback((id) => {
29517
29525
  dispatch({ type: "remove", id });
29518
- void _optionalChain([actionsRef, 'access', _502 => _502.current, 'optionalAccess', _503 => _503.onRemove, 'optionalCall', _504 => _504(id)]);
29526
+ void _optionalChain([actionsRef, 'access', _504 => _504.current, 'optionalAccess', _505 => _505.onRemove, 'optionalCall', _506 => _506(id)]);
29519
29527
  }, []);
29520
29528
  const clear = React92.useCallback(() => dispatch({ type: "clear" }), []);
29521
29529
  const open = React92.useCallback(() => setIsOpen(true), []);
@@ -29524,14 +29532,14 @@ function NotificationsProvider({
29524
29532
  const setShowPopups = React92.useCallback(
29525
29533
  (value2) => {
29526
29534
  setShowPopupsState(value2);
29527
- _optionalChain([onShowPopupsChange, 'optionalCall', _505 => _505(value2)]);
29535
+ _optionalChain([onShowPopupsChange, 'optionalCall', _507 => _507(value2)]);
29528
29536
  },
29529
29537
  [onShowPopupsChange]
29530
29538
  );
29531
29539
  const setShowDesktopPopups = React92.useCallback(
29532
29540
  (value2) => {
29533
29541
  setShowDesktopPopupsState(value2);
29534
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _506 => _506(value2)]);
29542
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _508 => _508(value2)]);
29535
29543
  },
29536
29544
  [onShowDesktopPopupsChange]
29537
29545
  );
@@ -29635,7 +29643,7 @@ function NotificationTile({
29635
29643
  if (!counting) return;
29636
29644
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
29637
29645
  const timer = window.setTimeout(() => {
29638
- _optionalChain([onSettle, 'optionalCall', _507 => _507(id)]);
29646
+ _optionalChain([onSettle, 'optionalCall', _509 => _509(id)]);
29639
29647
  }, remaining);
29640
29648
  return () => window.clearTimeout(timer);
29641
29649
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -29697,7 +29705,7 @@ function NotificationTile({
29697
29705
  "button",
29698
29706
  {
29699
29707
  type: "button",
29700
- onClick: () => _optionalChain([onSettle, 'optionalCall', _508 => _508(id)]),
29708
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _510 => _510(id)]),
29701
29709
  "aria-label": "Dismiss notification",
29702
29710
  tabIndex: isLive ? 0 : -1,
29703
29711
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -29830,7 +29838,7 @@ function DrawerScrollList({
29830
29838
  if (!sentinel || !root) return;
29831
29839
  const observer = new IntersectionObserver(
29832
29840
  (entries) => {
29833
- if (_optionalChain([entries, 'access', _509 => _509[0], 'optionalAccess', _510 => _510.isIntersecting])) _optionalChain([loadMoreRef, 'access', _511 => _511.current, 'optionalCall', _512 => _512()]);
29841
+ if (_optionalChain([entries, 'access', _511 => _511[0], 'optionalAccess', _512 => _512.isIntersecting])) _optionalChain([loadMoreRef, 'access', _513 => _513.current, 'optionalCall', _514 => _514()]);
29834
29842
  },
29835
29843
  { root, rootMargin: loadMoreRootMargin }
29836
29844
  );
@@ -29845,7 +29853,7 @@ function DrawerScrollList({
29845
29853
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
29846
29854
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29847
29855
  unreadNotifications.map((n) => {
29848
- const custom = _optionalChain([renderTile, 'optionalCall', _513 => _513(n, { onComplete, onSettle, liveDurationMs })]);
29856
+ const custom = _optionalChain([renderTile, 'optionalCall', _515 => _515(n, { onComplete, onSettle, liveDurationMs })]);
29849
29857
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
29850
29858
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29851
29859
  NotificationTile,
@@ -30009,7 +30017,7 @@ function NotificationPopups({
30009
30017
  className
30010
30018
  ),
30011
30019
  children: live.map((n) => {
30012
- const custom = _optionalChain([renderTile, 'optionalCall', _514 => _514(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
30020
+ const custom = _optionalChain([renderTile, 'optionalCall', _516 => _516(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
30013
30021
  if (custom) {
30014
30022
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
30015
30023
  }
@@ -30189,21 +30197,21 @@ function transformWebinarToProgram(webinar) {
30189
30197
  // src/components/features/notifications/types.ts
30190
30198
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
30191
30199
  function isApprovalNotification(notification) {
30192
- return _optionalChain([notification, 'access', _515 => _515.meta, 'optionalAccess', _516 => _516.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
30200
+ return _optionalChain([notification, 'access', _517 => _517.meta, 'optionalAccess', _518 => _518.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
30193
30201
  }
30194
30202
  function getApprovalMeta(notification) {
30195
30203
  if (!isApprovalNotification(notification)) return null;
30196
30204
  const meta = notification.meta;
30197
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _517 => _517.approvalRequestId]);
30198
- const toolCalls = _optionalChain([meta, 'optionalAccess', _518 => _518.toolCalls]);
30205
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _519 => _519.approvalRequestId]);
30206
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _520 => _520.toolCalls]);
30199
30207
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
30200
30208
  return {
30201
30209
  approvalRequestId,
30202
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _519 => _519.dialogId]), () => ( null)),
30203
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _520 => _520.ticketId]), () => ( null)),
30204
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _521 => _521.approvalType]), () => ( null)),
30205
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _522 => _522.resolution]), () => ( null)),
30206
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _523 => _523.resolvedByName]), () => ( null)),
30210
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _521 => _521.dialogId]), () => ( null)),
30211
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _522 => _522.ticketId]), () => ( null)),
30212
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _523 => _523.approvalType]), () => ( null)),
30213
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _524 => _524.resolution]), () => ( null)),
30214
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _525 => _525.resolvedByName]), () => ( null)),
30207
30215
  toolCalls
30208
30216
  };
30209
30217
  }
@@ -30252,7 +30260,7 @@ function ApprovalRequestNotificationTile({
30252
30260
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
30253
30261
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
30254
30262
  const approval = getApprovalMeta(notification);
30255
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _524 => _524.resolution]));
30263
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _526 => _526.resolution]));
30256
30264
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
30257
30265
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
30258
30266
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -30520,7 +30528,7 @@ function TimeTrackerPanel({
30520
30528
  error: showFieldError ? "Required if no notes added" : void 0,
30521
30529
  disableClientFilter: !!onTicketSearch,
30522
30530
  onInputChange: (value, reason) => {
30523
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _525 => _525(value)]);
30531
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _527 => _527(value)]);
30524
30532
  }
30525
30533
  }
30526
30534
  )
@@ -30610,7 +30618,7 @@ function LastEntryRow({ entry, onClick }) {
30610
30618
  {
30611
30619
  variant: "outline",
30612
30620
  size: "icon",
30613
- onClick: () => _optionalChain([onClick, 'optionalCall', _526 => _526(entry)]),
30621
+ onClick: () => _optionalChain([onClick, 'optionalCall', _528 => _528(entry)]),
30614
30622
  disabled: !onClick,
30615
30623
  "aria-label": `Open entry: ${entry.title}`,
30616
30624
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -30654,9 +30662,9 @@ function HeaderButton({
30654
30662
  function TimeTrackerHeaderButton({ className, disabled }) {
30655
30663
  const ctx = useOptionalTimeTracker();
30656
30664
  const elapsedLabel = useTrackerClock({
30657
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _527 => _527.status]), () => ( "ready")),
30658
- runningSince: _optionalChain([ctx, 'optionalAccess', _528 => _528.runningSince]),
30659
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _529 => _529.accumulatedMs])
30665
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _529 => _529.status]), () => ( "ready")),
30666
+ runningSince: _optionalChain([ctx, 'optionalAccess', _530 => _530.runningSince]),
30667
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _531 => _531.accumulatedMs])
30660
30668
  });
30661
30669
  if (!ctx) return null;
30662
30670
  const { isOpen, open, close, status } = ctx;
@@ -30939,15 +30947,15 @@ function TicketCard({
30939
30947
  transition: sortable.transition
30940
30948
  };
30941
30949
  if (showNewMessage) style.borderColor = columnColor;
30942
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _530 => _530.deviceHostnames, 'optionalAccess', _531 => _531.length]) || ticket.organizationName);
30950
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _532 => _532.deviceHostnames, 'optionalAccess', _533 => _533.length]) || ticket.organizationName);
30943
30951
  const deviceText = [
30944
- _optionalChain([ticket, 'access', _532 => _532.deviceHostnames, 'optionalAccess', _533 => _533.join, 'call', _534 => _534(", ")]),
30952
+ _optionalChain([ticket, 'access', _534 => _534.deviceHostnames, 'optionalAccess', _535 => _535.join, 'call', _536 => _536(", ")]),
30945
30953
  ticket.organizationName
30946
30954
  ].filter(Boolean).join(", ");
30947
30955
  const handleClick = (e) => {
30948
30956
  if (sortable.isDragging) e.preventDefault();
30949
30957
  };
30950
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _535 => _535.assignees, 'optionalAccess', _536 => _536.length]) || renderAssignSlot);
30958
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _537 => _537.assignees, 'optionalAccess', _538 => _538.length]) || renderAssignSlot);
30951
30959
  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: [
30952
30960
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30953
30961
  _chunkCCG4DARMcjs.Flag02Icon,
@@ -30956,7 +30964,7 @@ function TicketCard({
30956
30964
  "aria-label": `Priority: ${ticket.priority}`
30957
30965
  }
30958
30966
  ),
30959
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _537 => _537.assignees, 'optionalAccess', _538 => _538.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
30967
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _539 => _539.assignees, 'optionalAccess', _540 => _540.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
30960
30968
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30961
30969
  SquareAvatar,
30962
30970
  {
@@ -30987,7 +30995,7 @@ function TicketCard({
30987
30995
  ] }),
30988
30996
  rightSection
30989
30997
  ] }),
30990
- _optionalChain([ticket, 'access', _539 => _539.tags, 'optionalAccess', _540 => _540.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30998
+ _optionalChain([ticket, 'access', _541 => _541.tags, 'optionalAccess', _542 => _542.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30991
30999
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
30992
31000
  /* @__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 }) }),
30993
31001
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -31187,7 +31195,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
31187
31195
  const observer = new IntersectionObserver(
31188
31196
  (entries) => {
31189
31197
  if (entries.some((e) => e.isIntersecting)) {
31190
- _optionalChain([loadMoreRef, 'access', _541 => _541.current, 'optionalCall', _542 => _542(columnIdRef.current)]);
31198
+ _optionalChain([loadMoreRef, 'access', _543 => _543.current, 'optionalCall', _544 => _544(columnIdRef.current)]);
31191
31199
  }
31192
31200
  },
31193
31201
  { root, rootMargin: loadMoreRootMargin }
@@ -31217,7 +31225,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
31217
31225
  ticket: t,
31218
31226
  columnId: column.id,
31219
31227
  columnColor: column.color,
31220
- href: _optionalChain([getTicketHref, 'optionalCall', _543 => _543(t.id)]),
31228
+ href: _optionalChain([getTicketHref, 'optionalCall', _545 => _545(t.id)]),
31221
31229
  renderAssignSlot,
31222
31230
  onApprove,
31223
31231
  onReject,
@@ -31317,17 +31325,17 @@ function Board({
31317
31325
  const pointer = _core.pointerWithin.call(void 0, args);
31318
31326
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
31319
31327
  const ticketHit = intersections.find(
31320
- (c) => _optionalChain([c, 'access', _544 => _544.data, 'optionalAccess', _545 => _545.droppableContainer, 'optionalAccess', _546 => _546.data, 'optionalAccess', _547 => _547.current, 'optionalAccess', _548 => _548.type]) === "ticket"
31328
+ (c) => _optionalChain([c, 'access', _546 => _546.data, 'optionalAccess', _547 => _547.droppableContainer, 'optionalAccess', _548 => _548.data, 'optionalAccess', _549 => _549.current, 'optionalAccess', _550 => _550.type]) === "ticket"
31321
31329
  );
31322
31330
  if (ticketHit) return [ticketHit];
31323
31331
  const columnHit = intersections.find(
31324
- (c) => _optionalChain([c, 'access', _549 => _549.data, 'optionalAccess', _550 => _550.droppableContainer, 'optionalAccess', _551 => _551.data, 'optionalAccess', _552 => _552.current, 'optionalAccess', _553 => _553.type]) === "column"
31332
+ (c) => _optionalChain([c, 'access', _551 => _551.data, 'optionalAccess', _552 => _552.droppableContainer, 'optionalAccess', _553 => _553.data, 'optionalAccess', _554 => _554.current, 'optionalAccess', _555 => _555.type]) === "column"
31325
31333
  );
31326
31334
  if (columnHit) {
31327
- const columnId = _optionalChain([columnHit, 'access', _554 => _554.data, 'optionalAccess', _555 => _555.droppableContainer, 'optionalAccess', _556 => _556.data, 'optionalAccess', _557 => _557.current, 'optionalAccess', _558 => _558.columnId]);
31335
+ const columnId = _optionalChain([columnHit, 'access', _556 => _556.data, 'optionalAccess', _557 => _557.droppableContainer, 'optionalAccess', _558 => _558.data, 'optionalAccess', _559 => _559.current, 'optionalAccess', _560 => _560.columnId]);
31328
31336
  const ticketsInColumn = args.droppableContainers.filter((c) => {
31329
31337
  const d = c.data.current;
31330
- return _optionalChain([d, 'optionalAccess', _559 => _559.type]) === "ticket" && d.columnId === columnId;
31338
+ return _optionalChain([d, 'optionalAccess', _561 => _561.type]) === "ticket" && d.columnId === columnId;
31331
31339
  });
31332
31340
  if (ticketsInColumn.length > 0) {
31333
31341
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -31352,20 +31360,20 @@ function Board({
31352
31360
  const overId = String(over.id);
31353
31361
  if (activeId === overId) return;
31354
31362
  const overData = over.data.current;
31355
- const fromColumnId = _optionalChain([locate, 'call', _560 => _560(items, activeId), 'optionalAccess', _561 => _561.columnId]);
31356
- const toColumnId = _optionalChain([overData, 'optionalAccess', _562 => _562.columnId]);
31363
+ const fromColumnId = _optionalChain([locate, 'call', _562 => _562(items, activeId), 'optionalAccess', _563 => _563.columnId]);
31364
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _564 => _564.columnId]);
31357
31365
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
31358
31366
  const origin = dragOriginRef.current;
31359
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _563 => _563.fromColumnId]) === toColumnId;
31367
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _565 => _565.fromColumnId]) === toColumnId;
31360
31368
  const targetCol = items.find((c) => c.id === toColumnId);
31361
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _564 => _564.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
31362
- if (_optionalChain([targetCol, 'optionalAccess', _565 => _565.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
31369
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _566 => _566.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
31370
+ if (_optionalChain([targetCol, 'optionalAccess', _567 => _567.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
31363
31371
  setItems((prev) => {
31364
31372
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
31365
31373
  const toCol = prev.find((c) => c.id === toColumnId);
31366
31374
  if (fromIndex < 0 || !toCol) return prev;
31367
31375
  let toIndex;
31368
- if (_optionalChain([overData, 'optionalAccess', _566 => _566.type]) === "column") {
31376
+ if (_optionalChain([overData, 'optionalAccess', _568 => _568.type]) === "column") {
31369
31377
  toIndex = toCol.tickets.length;
31370
31378
  } else {
31371
31379
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -31407,14 +31415,14 @@ function Board({
31407
31415
  const toColumnId = located.columnId;
31408
31416
  const isCrossColumn = origin.fromColumnId !== toColumnId;
31409
31417
  const targetCol = items.find((c) => c.id === toColumnId);
31410
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _567 => _567.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _568 => _568.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
31418
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _569 => _569.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _570 => _570.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
31411
31419
  setItems(columns);
31412
31420
  return;
31413
31421
  }
31414
31422
  let finalIndex = located.index;
31415
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _569 => _569.find, 'call', _570 => _570((c) => c.id === toColumnId), 'optionalAccess', _571 => _571.tickets]), () => ( []));
31423
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _571 => _571.find, 'call', _572 => _572((c) => c.id === toColumnId), 'optionalAccess', _573 => _573.tickets]), () => ( []));
31416
31424
  const overData = over.data.current;
31417
- if (_optionalChain([overData, 'optionalAccess', _572 => _572.type]) === "ticket") {
31425
+ if (_optionalChain([overData, 'optionalAccess', _574 => _574.type]) === "ticket") {
31418
31426
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
31419
31427
  if (overIndex >= 0 && overIndex !== located.index) {
31420
31428
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -31434,8 +31442,8 @@ function Board({
31434
31442
  ticketId: origin.ticketId,
31435
31443
  fromColumnId: origin.fromColumnId,
31436
31444
  toColumnId,
31437
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _573 => _573[finalIndex - 1], 'optionalAccess', _574 => _574.id]), () => ( null)),
31438
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _575 => _575[finalIndex + 1], 'optionalAccess', _576 => _576.id]), () => ( null))
31445
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _575 => _575[finalIndex - 1], 'optionalAccess', _576 => _576.id]), () => ( null)),
31446
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _577 => _577[finalIndex + 1], 'optionalAccess', _578 => _578.id]), () => ( null))
31439
31447
  });
31440
31448
  };
31441
31449
  const handleDragCancel = () => {
@@ -31464,8 +31472,8 @@ function Board({
31464
31472
  children: items.map((column, i) => {
31465
31473
  const prev = items[i - 1];
31466
31474
  const next = items[i + 1];
31467
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _577 => _577.system]));
31468
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _578 => _578.system]));
31475
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _579 => _579.system]));
31476
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _580 => _580.system]));
31469
31477
  const showGap = i > 0 && !joinLeft;
31470
31478
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React98.Fragment, { children: [
31471
31479
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -31518,7 +31526,7 @@ function Board({
31518
31526
  {
31519
31527
  ticket: activeTicket.ticket,
31520
31528
  columnId: activeTicket.columnId,
31521
- columnColor: _optionalChain([items, 'access', _579 => _579.find, 'call', _580 => _580((c) => c.id === activeTicket.columnId), 'optionalAccess', _581 => _581.color]),
31529
+ columnColor: _optionalChain([items, 'access', _581 => _581.find, 'call', _582 => _582((c) => c.id === activeTicket.columnId), 'optionalAccess', _583 => _583.color]),
31522
31530
  isOverlay: true
31523
31531
  }
31524
31532
  ) : null })
@@ -31534,7 +31542,7 @@ function locate(cols, ticketId) {
31534
31542
  return null;
31535
31543
  }
31536
31544
  function findIndexInColumn(cols, columnId, ticketId) {
31537
- return _nullishCoalesce(_optionalChain([cols, 'access', _582 => _582.find, 'call', _583 => _583((c) => c.id === columnId), 'optionalAccess', _584 => _584.tickets, 'access', _585 => _585.findIndex, 'call', _586 => _586((t) => t.id === ticketId)]), () => ( -1));
31545
+ return _nullishCoalesce(_optionalChain([cols, 'access', _584 => _584.find, 'call', _585 => _585((c) => c.id === columnId), 'optionalAccess', _586 => _586.tickets, 'access', _587 => _587.findIndex, 'call', _588 => _588((t) => t.id === ticketId)]), () => ( -1));
31538
31546
  }
31539
31547
 
31540
31548
  // src/components/features/board/types.ts
@@ -31782,7 +31790,7 @@ function Header2({ config, platform }) {
31782
31790
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
31783
31791
  "flex justify-start w-full",
31784
31792
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
31785
- index < (_nullishCoalesce(_optionalChain([item, 'access', _587 => _587.children, 'optionalAccess', _588 => _588.length]), () => ( 0))) - 1 && "mb-1",
31793
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _589 => _589.children, 'optionalAccess', _590 => _590.length]), () => ( 0))) - 1 && "mb-1",
31786
31794
  "text-ods-text-primary",
31787
31795
  // All dropdown items use primary text color
31788
31796
  child.isActive && "bg-ods-bg-hover"
@@ -31874,7 +31882,7 @@ function Header2({ config, platform }) {
31874
31882
  style: config.style,
31875
31883
  children: [
31876
31884
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31877
- _optionalChain([config, 'access', _589 => _589.actions, 'optionalAccess', _590 => _590.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
31885
+ _optionalChain([config, 'access', _591 => _591.actions, 'optionalAccess', _592 => _592.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
31878
31886
  /* @__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 })
31879
31887
  ] }),
31880
31888
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31891,7 +31899,7 @@ function Header2({ config, platform }) {
31891
31899
  }
31892
31900
  ),
31893
31901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
31894
- _optionalChain([config, 'access', _591 => _591.actions, 'optionalAccess', _592 => _592.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
31902
+ _optionalChain([config, 'access', _593 => _593.actions, 'optionalAccess', _594 => _594.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
31895
31903
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31896
31904
  _chunkQJGRP2YEcjs.Button,
31897
31905
  {
@@ -31899,10 +31907,10 @@ function Header2({ config, platform }) {
31899
31907
  size: "icon",
31900
31908
  className: "flex md:hidden",
31901
31909
  onClick: () => {
31902
- _optionalChain([config, 'access', _593 => _593.mobile, 'optionalAccess', _594 => _594.onToggle, 'optionalCall', _595 => _595()]);
31910
+ _optionalChain([config, 'access', _595 => _595.mobile, 'optionalAccess', _596 => _596.onToggle, 'optionalCall', _597 => _597()]);
31903
31911
  },
31904
- "aria-label": _optionalChain([config, 'access', _596 => _596.mobile, 'optionalAccess', _597 => _597.isOpen]) ? "Close menu" : "Open menu",
31905
- leftIcon: _optionalChain([config, 'access', _598 => _598.mobile, 'optionalAccess', _599 => _599.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Menu01Icon, {})
31912
+ "aria-label": _optionalChain([config, 'access', _598 => _598.mobile, 'optionalAccess', _599 => _599.isOpen]) ? "Close menu" : "Open menu",
31913
+ leftIcon: _optionalChain([config, 'access', _600 => _600.mobile, 'optionalAccess', _601 => _601.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Menu01Icon, {})
31906
31914
  }
31907
31915
  )
31908
31916
  ] })
@@ -31919,10 +31927,10 @@ function Header2({ config, platform }) {
31919
31927
  // src/components/navigation/header-skeleton.tsx
31920
31928
 
31921
31929
  function HeaderSkeleton({ config }) {
31922
- const showNavigation = _optionalChain([config, 'optionalAccess', _600 => _600.navigation]) && config.navigation.items.length > 0;
31923
- const showActions = _optionalChain([config, 'optionalAccess', _601 => _601.actions, 'optionalAccess', _602 => _602.right]) && config.actions.right.length > 0;
31924
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _603 => _603.mobile, 'optionalAccess', _604 => _604.enabled]);
31925
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _605 => _605.className, 'optionalAccess', _606 => _606.includes, 'call', _607 => _607("admin")]);
31930
+ const showNavigation = _optionalChain([config, 'optionalAccess', _602 => _602.navigation]) && config.navigation.items.length > 0;
31931
+ const showActions = _optionalChain([config, 'optionalAccess', _603 => _603.actions, 'optionalAccess', _604 => _604.right]) && config.actions.right.length > 0;
31932
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _605 => _605.mobile, 'optionalAccess', _606 => _606.enabled]);
31933
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _607 => _607.className, 'optionalAccess', _608 => _608.includes, 'call', _609 => _609("admin")]);
31926
31934
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31927
31935
  "header",
31928
31936
  {
@@ -31931,11 +31939,11 @@ function HeaderSkeleton({ config }) {
31931
31939
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
31932
31940
  "px-6 py-3",
31933
31941
  "transition-opacity duration-300 ease-in-out",
31934
- _optionalChain([config, 'optionalAccess', _608 => _608.className])
31942
+ _optionalChain([config, 'optionalAccess', _610 => _610.className])
31935
31943
  ),
31936
31944
  children: [
31937
31945
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31938
- isAdminHeader && _optionalChain([config, 'optionalAccess', _609 => _609.actions, 'optionalAccess', _610 => _610.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" }) }),
31946
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _611 => _611.actions, 'optionalAccess', _612 => _612.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" }) }),
31939
31947
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
31940
31948
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
31941
31949
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -31943,8 +31951,8 @@ function HeaderSkeleton({ config }) {
31943
31951
  ] }),
31944
31952
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
31945
31953
  "hidden md:flex items-center gap-2",
31946
- _optionalChain([config, 'optionalAccess', _611 => _611.navigation, 'optionalAccess', _612 => _612.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31947
- _optionalChain([config, 'optionalAccess', _613 => _613.navigation, 'optionalAccess', _614 => _614.position]) === "right" && "ml-auto mr-4"
31954
+ _optionalChain([config, 'optionalAccess', _613 => _613.navigation, 'optionalAccess', _614 => _614.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31955
+ _optionalChain([config, 'optionalAccess', _615 => _615.navigation, 'optionalAccess', _616 => _616.position]) === "right" && "ml-auto mr-4"
31948
31956
  ), children: [
31949
31957
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
31950
31958
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -31992,7 +32000,7 @@ function MobileNavPanel({ isOpen, config }) {
31992
32000
  _react.useEffect.call(void 0, () => {
31993
32001
  const handleKeyDown = (e) => {
31994
32002
  if (e.key === "Escape" && isOpen) {
31995
- _optionalChain([config, 'access', _615 => _615.onClose, 'optionalCall', _616 => _616()]);
32003
+ _optionalChain([config, 'access', _617 => _617.onClose, 'optionalCall', _618 => _618()]);
31996
32004
  }
31997
32005
  };
31998
32006
  if (isOpen) {
@@ -32009,7 +32017,7 @@ function MobileNavPanel({ isOpen, config }) {
32009
32017
  if (item.onClick) {
32010
32018
  item.onClick();
32011
32019
  }
32012
- _optionalChain([config, 'access', _617 => _617.onClose, 'optionalCall', _618 => _618()]);
32020
+ _optionalChain([config, 'access', _619 => _619.onClose, 'optionalCall', _620 => _620()]);
32013
32021
  };
32014
32022
  if (item.href) {
32015
32023
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32179,7 +32187,7 @@ function SlidingSidebar({ config }) {
32179
32187
  variant: "transparent",
32180
32188
  size: "default",
32181
32189
  onClick: () => {
32182
- _optionalChain([item, 'access', _619 => _619.onClick, 'optionalCall', _620 => _620()]);
32190
+ _optionalChain([item, 'access', _621 => _621.onClick, 'optionalCall', _622 => _622()]);
32183
32191
  config.onClose();
32184
32192
  },
32185
32193
  leftIcon: item.icon,
@@ -32202,7 +32210,7 @@ function SlidingSidebar({ config }) {
32202
32210
  variant: "transparent",
32203
32211
  size: "default",
32204
32212
  onClick: () => {
32205
- _optionalChain([item, 'access', _621 => _621.onClick, 'optionalCall', _622 => _622()]);
32213
+ _optionalChain([item, 'access', _623 => _623.onClick, 'optionalCall', _624 => _624()]);
32206
32214
  config.onClose();
32207
32215
  },
32208
32216
  leftIcon: item.icon,
@@ -32329,7 +32337,7 @@ function StickySectionNav({
32329
32337
  ] });
32330
32338
  }
32331
32339
  function useSectionNavigation(sections, options) {
32332
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _623 => _623[0], 'optionalAccess', _624 => _624.id]) || "");
32340
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _625 => _625[0], 'optionalAccess', _626 => _626.id]) || "");
32333
32341
  const isScrollingFromClick = _react.useRef.call(void 0, false);
32334
32342
  const { offset: offset2 = 100 } = options || {};
32335
32343
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -32353,7 +32361,7 @@ function useSectionNavigation(sections, options) {
32353
32361
  const handleScroll = () => {
32354
32362
  if (isScrollingFromClick.current) return;
32355
32363
  const scrollPosition = window.scrollY + offset2 + 50;
32356
- let currentSection = _optionalChain([sections, 'access', _625 => _625[0], 'optionalAccess', _626 => _626.id]) || "";
32364
+ let currentSection = _optionalChain([sections, 'access', _627 => _627[0], 'optionalAccess', _628 => _628.id]) || "";
32357
32365
  for (let i = sections.length - 1; i >= 0; i--) {
32358
32366
  const element = document.getElementById(sections[i].id);
32359
32367
  if (element && scrollPosition >= element.offsetTop) {
@@ -32554,7 +32562,7 @@ function NavigationSidebar({ config, disabled = false }) {
32554
32562
  } else {
32555
32563
  setDesktopMinimized((prev) => !prev);
32556
32564
  }
32557
- _optionalChain([config, 'access', _627 => _627.onToggleMinimized, 'optionalCall', _628 => _628()]);
32565
+ _optionalChain([config, 'access', _629 => _629.onToggleMinimized, 'optionalCall', _630 => _630()]);
32558
32566
  }, [isTablet, setDesktopMinimized, config]);
32559
32567
  const closeOverlay = _react.useCallback.call(void 0, () => {
32560
32568
  setTabletMinimized(true);
@@ -32568,11 +32576,11 @@ function NavigationSidebar({ config, disabled = false }) {
32568
32576
  return () => document.removeEventListener("keydown", handleKeyDown);
32569
32577
  }, [isOverlayOpen, closeOverlay]);
32570
32578
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
32571
- _optionalChain([event, 'optionalAccess', _629 => _629.stopPropagation, 'call', _630 => _630()]);
32579
+ _optionalChain([event, 'optionalAccess', _631 => _631.stopPropagation, 'call', _632 => _632()]);
32572
32580
  if (item.onClick) {
32573
32581
  item.onClick();
32574
32582
  } else if (item.path) {
32575
- _optionalChain([config, 'access', _631 => _631.onNavigate, 'optionalCall', _632 => _632(item.path)]);
32583
+ _optionalChain([config, 'access', _633 => _633.onNavigate, 'optionalCall', _634 => _634(item.path)]);
32576
32584
  }
32577
32585
  if (isTablet) setTabletMinimized(true);
32578
32586
  }, [config, isTablet]);
@@ -32692,11 +32700,11 @@ function HeaderGlobalSearch({
32692
32700
  };
32693
32701
  const handleSubmit = (e) => {
32694
32702
  e.preventDefault();
32695
- _optionalChain([onSubmit, 'optionalCall', _633 => _633(currentValue)]);
32703
+ _optionalChain([onSubmit, 'optionalCall', _635 => _635(currentValue)]);
32696
32704
  };
32697
32705
  const handleKeyDown = (e) => {
32698
32706
  if (e.key === "Enter") {
32699
- _optionalChain([onSubmit, 'optionalCall', _634 => _634(currentValue)]);
32707
+ _optionalChain([onSubmit, 'optionalCall', _636 => _636(currentValue)]);
32700
32708
  }
32701
32709
  };
32702
32710
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -32790,8 +32798,8 @@ function HeaderOrganizationFilter({
32790
32798
  className
32791
32799
  }) {
32792
32800
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
32793
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _635 => _635.name]) || "All Organizations";
32794
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _636 => _636.deviceCount]), () => ( totalDeviceCount));
32801
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _637 => _637.name]) || "All Organizations";
32802
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _638 => _638.deviceCount]), () => ( totalDeviceCount));
32795
32803
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
32796
32804
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32797
32805
  "button",
@@ -32816,11 +32824,11 @@ function HeaderOrganizationFilter({
32816
32824
  }
32817
32825
  ) }),
32818
32826
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
32819
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _637 => _637("")]), children: "All Organizations" }),
32827
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _639 => _639("")]), children: "All Organizations" }),
32820
32828
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32821
32829
  _chunkQJGRP2YEcjs.DropdownMenuItem,
32822
32830
  {
32823
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _638 => _638(org.id)]),
32831
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _640 => _640(org.id)]),
32824
32832
  children: org.name
32825
32833
  },
32826
32834
  org.id
@@ -33010,9 +33018,9 @@ function NotificationsHeaderButton({
33010
33018
  dimmedClass
33011
33019
  }) {
33012
33020
  const ctx = useOptionalNotifications();
33013
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _639 => _639.unreadCount]), () => ( fallbackUnreadCount))) > 0;
33014
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _640 => _640.isOpen]), () => ( false));
33015
- const onClick = _optionalChain([ctx, 'optionalAccess', _641 => _641.toggle]);
33021
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _641 => _641.unreadCount]), () => ( fallbackUnreadCount))) > 0;
33022
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _642 => _642.isOpen]), () => ( false));
33023
+ const onClick = _optionalChain([ctx, 'optionalAccess', _643 => _643.toggle]);
33016
33024
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33017
33025
  HeaderButton,
33018
33026
  {
@@ -33076,7 +33084,7 @@ var MobileBurgerMenu = React114.default.memo(function MobileBurgerMenu2({
33076
33084
  if (item.onClick) {
33077
33085
  item.onClick();
33078
33086
  } else if (item.path) {
33079
- _optionalChain([config, 'access', _642 => _642.onNavigate, 'optionalCall', _643 => _643(item.path)]);
33087
+ _optionalChain([config, 'access', _644 => _644.onNavigate, 'optionalCall', _645 => _645(item.path)]);
33080
33088
  }
33081
33089
  onClose();
33082
33090
  }, [config, onClose]);
@@ -33319,7 +33327,7 @@ var AppLayoutDrawerRoot = ({
33319
33327
  const handleOpenChange = React107.useCallback(
33320
33328
  (next) => {
33321
33329
  if (!isControlled) setInternalOpen(next);
33322
- _optionalChain([onOpenChange, 'optionalCall', _644 => _644(next)]);
33330
+ _optionalChain([onOpenChange, 'optionalCall', _646 => _646(next)]);
33323
33331
  },
33324
33332
  [isControlled, onOpenChange]
33325
33333
  );
@@ -33700,10 +33708,10 @@ var AppLayoutDrawerContent = React107.forwardRef(
33700
33708
  ),
33701
33709
  style,
33702
33710
  onInteractOutside: (event) => {
33703
- _optionalChain([onInteractOutside, 'optionalCall', _645 => _645(event)]);
33711
+ _optionalChain([onInteractOutside, 'optionalCall', _647 => _647(event)]);
33704
33712
  if (event.defaultPrevented) return;
33705
33713
  const target = event.target;
33706
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _646 => _646.contains, 'call', _647 => _647(target)]);
33714
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _648 => _648.contains, 'call', _649 => _649(target)]);
33707
33715
  if (!isInsideContainer) {
33708
33716
  event.preventDefault();
33709
33717
  return;
@@ -34116,7 +34124,7 @@ var ShellTypeBadge = ({
34116
34124
  className,
34117
34125
  iconClassName
34118
34126
  }) => {
34119
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _648 => _648.toUpperCase, 'call', _649 => _649()]);
34127
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _650 => _650.toUpperCase, 'call', _651 => _651()]);
34120
34128
  const label = getShellLabel(normalizedType);
34121
34129
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
34122
34130
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -34503,12 +34511,12 @@ function OnboardingWalkthrough({
34503
34511
  }
34504
34512
  }, [state.completedSteps, markComplete]);
34505
34513
  const handleStepSkip = (step) => {
34506
- _optionalChain([step, 'access', _650 => _650.onSkip, 'optionalCall', _651 => _651()]);
34514
+ _optionalChain([step, 'access', _652 => _652.onSkip, 'optionalCall', _653 => _653()]);
34507
34515
  markSkipped(step.id);
34508
34516
  };
34509
34517
  const handleDismiss = () => {
34510
34518
  dismissOnboarding();
34511
- _optionalChain([onDismiss, 'optionalCall', _652 => _652()]);
34519
+ _optionalChain([onDismiss, 'optionalCall', _654 => _654()]);
34512
34520
  };
34513
34521
  if (state.dismissed) {
34514
34522
  return null;
@@ -34638,7 +34646,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
34638
34646
  onKeyDown: (e) => {
34639
34647
  if (e.key === "Enter" || e.key === " ") {
34640
34648
  e.preventDefault();
34641
- _optionalChain([onClick, 'optionalCall', _653 => _653()]);
34649
+ _optionalChain([onClick, 'optionalCall', _655 => _655()]);
34642
34650
  }
34643
34651
  },
34644
34652
  children: [
@@ -34739,7 +34747,7 @@ var LogsList = React111.forwardRef(({
34739
34747
  log,
34740
34748
  isLast: index === logs.length - 1,
34741
34749
  showConnector,
34742
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _654 => _654(log)])
34750
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _656 => _656(log)])
34743
34751
  },
34744
34752
  log.id
34745
34753
  ))
@@ -34843,7 +34851,7 @@ var Slider = React113.forwardRef(
34843
34851
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
34844
34852
  const handleChange = (e) => {
34845
34853
  const newValue = [Number(e.target.value)];
34846
- _optionalChain([onValueChange, 'optionalCall', _655 => _655(newValue)]);
34854
+ _optionalChain([onValueChange, 'optionalCall', _657 => _657(newValue)]);
34847
34855
  };
34848
34856
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34849
34857
  "input",
@@ -35274,7 +35282,7 @@ function CursorPaginationSimple({
35274
35282
  {
35275
35283
  variant: "transparent",
35276
35284
  size: "icon",
35277
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _656 => _656("")]),
35285
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _658 => _658("")]),
35278
35286
  disabled: !hasPreviousPage || loading,
35279
35287
  className: "h-8 w-8",
35280
35288
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -35286,7 +35294,7 @@ function CursorPaginationSimple({
35286
35294
  {
35287
35295
  variant: "transparent",
35288
35296
  size: "icon",
35289
- onClick: () => _optionalChain([onNext, 'optionalCall', _657 => _657("")]),
35297
+ onClick: () => _optionalChain([onNext, 'optionalCall', _659 => _659("")]),
35290
35298
  disabled: !hasNextPage || loading,
35291
35299
  className: "h-8 w-8",
35292
35300
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -35306,8 +35314,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
35306
35314
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
35307
35315
  title: _nullishCoalesce(message2, () => ( "No results found")),
35308
35316
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
35309
- buttonLabel: _optionalChain([action, 'optionalAccess', _658 => _658.label]),
35310
- onButtonClick: _optionalChain([action, 'optionalAccess', _659 => _659.onClick]),
35317
+ buttonLabel: _optionalChain([action, 'optionalAccess', _660 => _660.label]),
35318
+ onButtonClick: _optionalChain([action, 'optionalAccess', _661 => _661.onClick]),
35311
35319
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
35312
35320
  }
35313
35321
  );
@@ -35328,7 +35336,7 @@ function TableColumnFilterDropdown({
35328
35336
  placement = "bottom-start",
35329
35337
  dropdownClassName = "min-w-[240px]"
35330
35338
  }) {
35331
- const activeCount = _optionalChain([filters, 'optionalAccess', _660 => _660[columnKey], 'optionalAccess', _661 => _661.length]) || 0;
35339
+ const activeCount = _optionalChain([filters, 'optionalAccess', _662 => _662[columnKey], 'optionalAccess', _663 => _663.length]) || 0;
35332
35340
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35333
35341
  FiltersDropdown,
35334
35342
  {
@@ -35371,7 +35379,7 @@ function TableColumnFilterDropdown({
35371
35379
  delete newFilters[columnKey];
35372
35380
  onFilterChange(newFilters);
35373
35381
  },
35374
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _662 => _662[columnKey]]) || [] },
35382
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _664 => _664[columnKey]]) || [] },
35375
35383
  placement,
35376
35384
  dropdownClassName
35377
35385
  }
@@ -35581,7 +35589,7 @@ function TableCardSkeleton({
35581
35589
  className,
35582
35590
  rowClassName
35583
35591
  }) {
35584
- const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _663 => _663.key]);
35592
+ const primaryKey = _optionalChain([(_nullishCoalesce(columns.find((c) => /flex-(1|\[)/.test(c.width || "")), () => ( columns[0]))), 'optionalAccess', _665 => _665.key]);
35585
35593
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35586
35594
  "div",
35587
35595
  {
@@ -35645,9 +35653,14 @@ function TableRow({
35645
35653
  compact,
35646
35654
  selectable,
35647
35655
  selected,
35648
- onSelect
35656
+ onSelect,
35657
+ animateRowReorder,
35658
+ motionDiv
35649
35659
  }) {
35650
35660
  const isLinkMode = Boolean(href) && !onClick;
35661
+ const animate = Boolean(animateRowReorder && motionDiv);
35662
+ const Row = animate ? motionDiv : "div";
35663
+ const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
35651
35664
  const handleRowClick = (e) => {
35652
35665
  const target = e.target;
35653
35666
  if (target.closest("[data-no-row-click]")) {
@@ -35669,7 +35682,7 @@ function TableRow({
35669
35682
  const keys = column.key.split(".");
35670
35683
  let value = item;
35671
35684
  for (const key of keys) {
35672
- value = _optionalChain([value, 'optionalAccess', _664 => _664[key]]);
35685
+ value = _optionalChain([value, 'optionalAccess', _666 => _666[key]]);
35673
35686
  }
35674
35687
  if (value === null || value === void 0) {
35675
35688
  return "-";
@@ -35683,8 +35696,9 @@ function TableRow({
35683
35696
  return String(value);
35684
35697
  };
35685
35698
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35686
- "div",
35699
+ Row,
35687
35700
  {
35701
+ ...motionProps,
35688
35702
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35689
35703
  "relative rounded-[6px] bg-ods-card border border-ods-border overflow-hidden",
35690
35704
  (onClick || isLinkMode) && "cursor-pointer hover:bg-ods-bg-active transition-colors",
@@ -35736,10 +35750,28 @@ function TableRow({
35736
35750
  );
35737
35751
  }
35738
35752
 
35753
+ // src/components/ui/table/use-table-motion.ts
35754
+
35755
+ function useTableMotion(enabled) {
35756
+ const [runtime, setRuntime] = _react.useState.call(void 0, null);
35757
+ _react.useEffect.call(void 0, () => {
35758
+ if (!enabled || runtime) return;
35759
+ let active = true;
35760
+ Promise.resolve().then(() => _interopRequireWildcard(require("framer-motion"))).then((m) => {
35761
+ if (active) setRuntime({ motionDiv: m.motion.div, LayoutGroup: m.LayoutGroup });
35762
+ }).catch(() => {
35763
+ });
35764
+ return () => {
35765
+ active = false;
35766
+ };
35767
+ }, [enabled, runtime]);
35768
+ return enabled ? runtime : null;
35769
+ }
35770
+
35739
35771
  // src/components/ui/table/table.tsx
35740
35772
 
35741
35773
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
35742
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _665 => _665.length])) || Boolean(renderRowActions);
35774
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _667 => _667.length])) || Boolean(renderRowActions);
35743
35775
  const result = [...columns];
35744
35776
  if (hasActions) {
35745
35777
  const actionsColumn = {
@@ -35821,8 +35853,10 @@ function Table({
35821
35853
  paginationClassName,
35822
35854
  infiniteScroll,
35823
35855
  stickyHeader,
35824
- stickyHeaderOffset
35856
+ stickyHeaderOffset,
35857
+ animateRowReorder
35825
35858
  }) {
35859
+ const tableMotion = useTableMotion(Boolean(animateRowReorder));
35826
35860
  const columnsWithActions = injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref);
35827
35861
  const getRowHref = (item) => {
35828
35862
  if (onRowClick || !rowHref) return void 0;
@@ -35833,7 +35867,7 @@ function Table({
35833
35867
  return rowKey(item);
35834
35868
  }
35835
35869
  const key = item[rowKey];
35836
- return _optionalChain([key, 'optionalAccess', _666 => _666.toString, 'call', _667 => _667()]) || index.toString();
35870
+ return _optionalChain([key, 'optionalAccess', _668 => _668.toString, 'call', _669 => _669()]) || index.toString();
35837
35871
  };
35838
35872
  const getRowClassName = (item, index) => {
35839
35873
  if (typeof rowClassName === "function") {
@@ -35867,23 +35901,23 @@ function Table({
35867
35901
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
35868
35902
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
35869
35903
  const sentinelRef = _react.useRef.call(void 0, null);
35870
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _668 => _668.onLoadMore]));
35871
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _669 => _669.onLoadMore]);
35904
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.onLoadMore]));
35905
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _671 => _671.onLoadMore]);
35872
35906
  _react.useEffect.call(void 0, () => {
35873
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35907
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _672 => _672.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35874
35908
  const sentinel = sentinelRef.current;
35875
35909
  if (!sentinel) return;
35876
35910
  const observer = new IntersectionObserver(
35877
35911
  (entries) => {
35878
- if (_optionalChain([entries, 'access', _671 => _671[0], 'optionalAccess', _672 => _672.isIntersecting])) {
35879
- _optionalChain([onLoadMoreRef, 'access', _673 => _673.current, 'optionalCall', _674 => _674()]);
35912
+ if (_optionalChain([entries, 'access', _673 => _673[0], 'optionalAccess', _674 => _674.isIntersecting])) {
35913
+ _optionalChain([onLoadMoreRef, 'access', _675 => _675.current, 'optionalCall', _676 => _676()]);
35880
35914
  }
35881
35915
  },
35882
35916
  { rootMargin: "200px" }
35883
35917
  );
35884
35918
  observer.observe(sentinel);
35885
35919
  return () => observer.disconnect();
35886
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _675 => _675.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _676 => _676.isFetchingNextPage])]);
35920
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _678 => _678.isFetchingNextPage])]);
35887
35921
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
35888
35922
  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: [
35889
35923
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -35938,23 +35972,29 @@ function Table({
35938
35972
  hasChevron: Boolean(rowHref)
35939
35973
  }
35940
35974
  ) : data.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
35941
- data.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35942
- TableRow,
35943
- {
35944
- item,
35945
- columns: columnsWithActions,
35946
- onClick: onRowClick,
35947
- href: getRowHref(item),
35948
- className: getRowClassName(item, index),
35949
- index,
35950
- compact,
35951
- selectable,
35952
- selected: isRowSelected(item),
35953
- onSelect: handleSelectRow
35954
- },
35955
- getRowKey(item, index)
35956
- )),
35957
- _optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35975
+ (() => {
35976
+ const rows = data.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35977
+ TableRow,
35978
+ {
35979
+ item,
35980
+ columns: columnsWithActions,
35981
+ onClick: onRowClick,
35982
+ href: getRowHref(item),
35983
+ className: getRowClassName(item, index),
35984
+ index,
35985
+ compact,
35986
+ selectable,
35987
+ selected: isRowSelected(item),
35988
+ onSelect: handleSelectRow,
35989
+ animateRowReorder,
35990
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _679 => _679.motionDiv])
35991
+ },
35992
+ getRowKey(item, index)
35993
+ ));
35994
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _680 => _680.LayoutGroup]);
35995
+ return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
35996
+ })(),
35997
+ _optionalChain([infiniteScroll, 'optionalAccess', _681 => _681.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35958
35998
  TableCardSkeleton,
35959
35999
  {
35960
36000
  columns,
@@ -35963,7 +36003,7 @@ function Table({
35963
36003
  hasChevron: Boolean(rowHref)
35964
36004
  }
35965
36005
  ),
35966
- _optionalChain([infiniteScroll, 'optionalAccess', _678 => _678.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
36006
+ _optionalChain([infiniteScroll, 'optionalAccess', _682 => _682.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35967
36007
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35968
36008
  "div",
35969
36009
  {
@@ -36321,7 +36361,7 @@ function QueryReportTable({
36321
36361
  );
36322
36362
  const handleExport = () => {
36323
36363
  exportToCSV(data, columns, exportFilename);
36324
- _optionalChain([onExport, 'optionalCall', _679 => _679()]);
36364
+ _optionalChain([onExport, 'optionalCall', _683 => _683()]);
36325
36365
  };
36326
36366
  const tableMinWidth = columns.length * (columnWidth + 16);
36327
36367
  const {
@@ -36494,7 +36534,7 @@ function DataTableColumnFilter({
36494
36534
  align = "left"
36495
36535
  }) {
36496
36536
  const currentValue = column.getFilterValue();
36497
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _680 => _680.length]), () => ( 0));
36537
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _684 => _684.length]), () => ( 0));
36498
36538
  const sections = _react.useMemo.call(void 0,
36499
36539
  () => [
36500
36540
  {
@@ -36574,7 +36614,7 @@ function DataTableHeader({
36574
36614
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
36575
36615
  if (header.isPlaceholder) return false;
36576
36616
  if (isLgUp) return true;
36577
- return Boolean(_optionalChain([header, 'access', _681 => _681.column, 'access', _682 => _682.columnDef, 'access', _683 => _683.meta, 'optionalAccess', _684 => _684.filter]));
36617
+ return Boolean(_optionalChain([header, 'access', _685 => _685.column, 'access', _686 => _686.columnDef, 'access', _687 => _687.meta, 'optionalAccess', _688 => _688.filter]));
36578
36618
  });
36579
36619
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36580
36620
  "div",
@@ -36604,20 +36644,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36604
36644
  if (header.isPlaceholder) return null;
36605
36645
  const column = header.column;
36606
36646
  const meta = column.columnDef.meta;
36607
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _685 => _685.filter]));
36608
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _686 => _686.align]), () => ( "left"));
36609
- const canSort = _optionalChain([meta, 'optionalAccess', _687 => _687.sortable]) === true;
36610
- const sortDir = _optionalChain([sort, 'optionalAccess', _688 => _688.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
36647
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _689 => _689.filter]));
36648
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _690 => _690.align]), () => ( "left"));
36649
+ const canSort = _optionalChain([meta, 'optionalAccess', _691 => _691.sortable]) === true;
36650
+ const sortDir = _optionalChain([sort, 'optionalAccess', _692 => _692.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
36611
36651
  if (!isLgUp && !hasFilter) return null;
36612
36652
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36613
36653
  "div",
36614
36654
  {
36615
36655
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36616
36656
  "flex items-stretch",
36617
- isLgUp && (_optionalChain([meta, 'optionalAccess', _689 => _689.width]) || "flex-1 min-w-0"),
36618
- _optionalChain([meta, 'optionalAccess', _690 => _690.headerClassName]),
36657
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _693 => _693.width]) || "flex-1 min-w-0"),
36658
+ _optionalChain([meta, 'optionalAccess', _694 => _694.headerClassName]),
36619
36659
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
36620
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _691 => _691.hideAt]))
36660
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _695 => _695.hideAt]))
36621
36661
  ),
36622
36662
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36623
36663
  DataTableColumnFilter,
@@ -36636,7 +36676,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36636
36676
  isLgUp && alignJustify(align),
36637
36677
  canSort && "group cursor-pointer"
36638
36678
  ),
36639
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _692 => _692(column.id)]) : void 0,
36679
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _696 => _696(column.id)]) : void 0,
36640
36680
  children: [
36641
36681
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
36642
36682
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -36701,7 +36741,7 @@ function DataTableSkeleton({
36701
36741
  }) {
36702
36742
  const table = useDataTableContext();
36703
36743
  const columns = table.getVisibleFlatColumns();
36704
- const firstColumnId = _optionalChain([columns, 'access', _693 => _693[0], 'optionalAccess', _694 => _694.id]);
36744
+ const firstColumnId = _optionalChain([columns, 'access', _697 => _697[0], 'optionalAccess', _698 => _698.id]);
36705
36745
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36706
36746
  "div",
36707
36747
  {
@@ -36725,7 +36765,7 @@ function DataTableSkeleton({
36725
36765
  {
36726
36766
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36727
36767
  "flex flex-col justify-center shrink-0",
36728
- _optionalChain([meta, 'optionalAccess', _695 => _695.width]) || "flex-1"
36768
+ _optionalChain([meta, 'optionalAccess', _699 => _699.width]) || "flex-1"
36729
36769
  ),
36730
36770
  children: [
36731
36771
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -36774,7 +36814,7 @@ function DataTableRowImpl({
36774
36814
  const handleClick = _react.useCallback.call(void 0,
36775
36815
  (e) => {
36776
36816
  const target = e.target;
36777
- if (!_optionalChain([containerRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.contains, 'call', _698 => _698(target)])) {
36817
+ if (!_optionalChain([containerRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.contains, 'call', _702 => _702(target)])) {
36778
36818
  if (isLinkMode) e.preventDefault();
36779
36819
  return;
36780
36820
  }
@@ -36782,7 +36822,7 @@ function DataTableRowImpl({
36782
36822
  if (isLinkMode) e.preventDefault();
36783
36823
  return;
36784
36824
  }
36785
- _optionalChain([onClick, 'optionalCall', _699 => _699(row.original)]);
36825
+ _optionalChain([onClick, 'optionalCall', _703 => _703(row.original)]);
36786
36826
  },
36787
36827
  [onClick, row.original, isLinkMode]
36788
36828
  );
@@ -36807,10 +36847,10 @@ function DataTableRowImpl({
36807
36847
  {
36808
36848
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36809
36849
  "flex flex-col overflow-hidden",
36810
- alignJustify(_optionalChain([meta, 'optionalAccess', _700 => _700.align])),
36811
- _optionalChain([meta, 'optionalAccess', _701 => _701.width]) || "flex-1 min-w-0",
36812
- _optionalChain([meta, 'optionalAccess', _702 => _702.cellClassName]),
36813
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _703 => _703.hideAt]))
36850
+ alignJustify(_optionalChain([meta, 'optionalAccess', _704 => _704.align])),
36851
+ _optionalChain([meta, 'optionalAccess', _705 => _705.width]) || "flex-1 min-w-0",
36852
+ _optionalChain([meta, 'optionalAccess', _706 => _706.cellClassName]),
36853
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _707 => _707.hideAt]))
36814
36854
  ),
36815
36855
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
36816
36856
  },
@@ -36889,7 +36929,7 @@ function DataTableBody({
36889
36929
  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: [
36890
36930
  rows.map((row, index) => {
36891
36931
  const item = row.original;
36892
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _704 => _704(item)]), () => ( void 0));
36932
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _708 => _708(item)]), () => ( void 0));
36893
36933
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
36894
36934
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36895
36935
  DataTableRow,
@@ -36899,7 +36939,7 @@ function DataTableBody({
36899
36939
  href,
36900
36940
  compact,
36901
36941
  className: cls,
36902
- subRow: _optionalChain([renderSubRow, 'optionalCall', _705 => _705(item)])
36942
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _709 => _709(item)])
36903
36943
  },
36904
36944
  row.id
36905
36945
  );
@@ -36954,7 +36994,7 @@ function DataTableInfiniteFooter({
36954
36994
  if (!sentinel) return;
36955
36995
  const observer = new IntersectionObserver(
36956
36996
  (entries) => {
36957
- if (_optionalChain([entries, 'access', _706 => _706[0], 'optionalAccess', _707 => _707.isIntersecting])) onLoadMoreRef.current();
36997
+ if (_optionalChain([entries, 'access', _710 => _710[0], 'optionalAccess', _711 => _711.isIntersecting])) onLoadMoreRef.current();
36958
36998
  },
36959
36999
  { rootMargin }
36960
37000
  );
@@ -37002,7 +37042,7 @@ function DataTableRowCount({
37002
37042
  const table = useDataTableContext();
37003
37043
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
37004
37044
  if (hideWhenEmpty && count === 0) return null;
37005
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _708 => _708(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37045
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _712 => _712(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37006
37046
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37007
37047
  "span",
37008
37048
  {
@@ -37161,7 +37201,7 @@ function SearchInput({
37161
37201
  if (!showHiddenTags) return;
37162
37202
  const handleClick = (e) => {
37163
37203
  const target = e.target;
37164
- if (!_optionalChain([hiddenTagsRef, 'access', _709 => _709.current, 'optionalAccess', _710 => _710.contains, 'call', _711 => _711(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _712 => _712.current, 'optionalAccess', _713 => _713.contains, 'call', _714 => _714(target)])) {
37204
+ if (!_optionalChain([hiddenTagsRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.contains, 'call', _715 => _715(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.contains, 'call', _718 => _718(target)])) {
37165
37205
  setShowHiddenTags(false);
37166
37206
  }
37167
37207
  };
@@ -37209,10 +37249,10 @@ function SearchInput({
37209
37249
  } else {
37210
37250
  setInternalValue("");
37211
37251
  }
37212
- _optionalChain([inputRef, 'access', _715 => _715.current, 'optionalAccess', _716 => _716.focus, 'call', _717 => _717()]);
37252
+ _optionalChain([inputRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.focus, 'call', _721 => _721()]);
37213
37253
  };
37214
37254
  const handleResultClick = (result, e) => {
37215
- _optionalChain([onResultSelect, 'optionalCall', _718 => _718(
37255
+ _optionalChain([onResultSelect, 'optionalCall', _722 => _722(
37216
37256
  result,
37217
37257
  e ? {
37218
37258
  metaKey: e.metaKey,
@@ -37244,7 +37284,7 @@ function SearchInput({
37244
37284
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
37245
37285
  handleResultClick(flatResults[highlightedIndex]);
37246
37286
  } else {
37247
- _optionalChain([onSubmit, 'optionalCall', _719 => _719(currentValue)]);
37287
+ _optionalChain([onSubmit, 'optionalCall', _723 => _723(currentValue)]);
37248
37288
  }
37249
37289
  break;
37250
37290
  case "Escape":
@@ -37322,7 +37362,7 @@ function SearchInput({
37322
37362
  dropdownVisible && "!border-ods-accent"
37323
37363
  ),
37324
37364
  onClick: () => {
37325
- _optionalChain([inputRef, 'access', _720 => _720.current, 'optionalAccess', _721 => _721.focus, 'call', _722 => _722()]);
37365
+ _optionalChain([inputRef, 'access', _724 => _724.current, 'optionalAccess', _725 => _725.focus, 'call', _726 => _726()]);
37326
37366
  setIsOpen(true);
37327
37367
  },
37328
37368
  children: [
@@ -37406,10 +37446,10 @@ function SearchInput({
37406
37446
  align: "start",
37407
37447
  onOpenAutoFocus: (e) => {
37408
37448
  e.preventDefault();
37409
- _optionalChain([inputRef, 'access', _723 => _723.current, 'optionalAccess', _724 => _724.focus, 'call', _725 => _725()]);
37449
+ _optionalChain([inputRef, 'access', _727 => _727.current, 'optionalAccess', _728 => _728.focus, 'call', _729 => _729()]);
37410
37450
  },
37411
37451
  onInteractOutside: (e) => {
37412
- if (_optionalChain([containerRef, 'access', _726 => _726.current, 'optionalAccess', _727 => _727.contains, 'call', _728 => _728(e.target)])) {
37452
+ if (_optionalChain([containerRef, 'access', _730 => _730.current, 'optionalAccess', _731 => _731.contains, 'call', _732 => _732(e.target)])) {
37413
37453
  e.preventDefault();
37414
37454
  }
37415
37455
  },
@@ -37426,10 +37466,10 @@ function SearchInput({
37426
37466
  ref: hiddenTagsPopupRef,
37427
37467
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
37428
37468
  style: {
37429
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.getBoundingClientRect, 'call', _731 => _731(), 'access', _732 => _732.left]), () => ( 0))) : 0
37469
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _733 => _733.current, 'optionalAccess', _734 => _734.getBoundingClientRect, 'call', _735 => _735(), 'access', _736 => _736.left]), () => ( 0))) : 0
37430
37470
  },
37431
37471
  onRemove: (value2) => {
37432
- _optionalChain([onFilterRemove, 'optionalCall', _733 => _733(value2)]);
37472
+ _optionalChain([onFilterRemove, 'optionalCall', _737 => _737(value2)]);
37433
37473
  if (hiddenCount <= 1) setShowHiddenTags(false);
37434
37474
  }
37435
37475
  }
@@ -37480,7 +37520,7 @@ function FilterListItem({
37480
37520
  }) {
37481
37521
  const handleToggle = () => {
37482
37522
  if (disabled) return;
37483
- _optionalChain([onToggle, 'optionalCall', _734 => _734(!selected)]);
37523
+ _optionalChain([onToggle, 'optionalCall', _738 => _738(!selected)]);
37484
37524
  };
37485
37525
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37486
37526
  "div",
@@ -37527,7 +37567,7 @@ function FilterListItem({
37527
37567
  CheckboxPrimitive4.Root,
37528
37568
  {
37529
37569
  checked: selected,
37530
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _735 => _735(c === true)]),
37570
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _739 => _739(c === true)]),
37531
37571
  onClick: (e) => e.stopPropagation(),
37532
37572
  disabled,
37533
37573
  "aria-label": title,
@@ -37626,7 +37666,7 @@ function TagSearchInput({
37626
37666
  if (!showHiddenTags) return;
37627
37667
  const handleClick = (e) => {
37628
37668
  const target = e.target;
37629
- if (!_optionalChain([hiddenTagsRef, 'access', _736 => _736.current, 'optionalAccess', _737 => _737.contains, 'call', _738 => _738(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _739 => _739.current, 'optionalAccess', _740 => _740.contains, 'call', _741 => _741(target)])) {
37669
+ if (!_optionalChain([hiddenTagsRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.contains, 'call', _742 => _742(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.contains, 'call', _745 => _745(target)])) {
37630
37670
  setShowHiddenTags(false);
37631
37671
  }
37632
37672
  };
@@ -37642,13 +37682,13 @@ function TagSearchInput({
37642
37682
  e.preventDefault();
37643
37683
  onSubmit(searchValue);
37644
37684
  }
37645
- _optionalChain([onKeyDown, 'optionalCall', _742 => _742(e)]);
37685
+ _optionalChain([onKeyDown, 'optionalCall', _746 => _746(e)]);
37646
37686
  };
37647
37687
  const handleClearAll = (e) => {
37648
37688
  e.stopPropagation();
37649
37689
  e.preventDefault();
37650
- _optionalChain([onClearAll, 'optionalCall', _743 => _743()]);
37651
- _optionalChain([inputRef, 'access', _744 => _744.current, 'optionalAccess', _745 => _745.focus, 'call', _746 => _746()]);
37690
+ _optionalChain([onClearAll, 'optionalCall', _747 => _747()]);
37691
+ _optionalChain([inputRef, 'access', _748 => _748.current, 'optionalAccess', _749 => _749.focus, 'call', _750 => _750()]);
37652
37692
  };
37653
37693
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
37654
37694
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -37665,7 +37705,7 @@ function TagSearchInput({
37665
37705
  className
37666
37706
  ),
37667
37707
  onClick: () => {
37668
- if (!disabled) _optionalChain([inputRef, 'access', _747 => _747.current, 'optionalAccess', _748 => _748.focus, 'call', _749 => _749()]);
37708
+ if (!disabled) _optionalChain([inputRef, 'access', _751 => _751.current, 'optionalAccess', _752 => _752.focus, 'call', _753 => _753()]);
37669
37709
  },
37670
37710
  children: [
37671
37711
  /* @__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" }) }),
@@ -37737,7 +37777,7 @@ function TagSearchInput({
37737
37777
  items: hiddenTags,
37738
37778
  disabled,
37739
37779
  style: {
37740
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _750 => _750.current, 'optionalAccess', _751 => _751.getBoundingClientRect, 'call', _752 => _752(), 'access', _753 => _753.left]), () => ( 0))) : 0
37780
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _754 => _754.current, 'optionalAccess', _755 => _755.getBoundingClientRect, 'call', _756 => _756(), 'access', _757 => _757.left]), () => ( 0))) : 0
37741
37781
  },
37742
37782
  onRemove: (value) => {
37743
37783
  onTagRemove(value);
@@ -37838,7 +37878,7 @@ function MarkdownEditor({
37838
37878
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
37839
37879
  _react.useEffect.call(void 0, () => {
37840
37880
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
37841
- if (_optionalChain([mod, 'access', _754 => _754.commands, 'optionalAccess', _755 => _755.getExtraCommands])) {
37881
+ if (_optionalChain([mod, 'access', _758 => _758.commands, 'optionalAccess', _759 => _759.getExtraCommands])) {
37842
37882
  setDefaultExtraCommands(mod.commands.getExtraCommands());
37843
37883
  }
37844
37884
  });
@@ -37872,7 +37912,7 @@ function MarkdownEditor({
37872
37912
  const isImage = file.type.startsWith("image/");
37873
37913
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
37874
37914
  insertTextAtCursor(markdown);
37875
- _optionalChain([onFileUploaded, 'optionalCall', _756 => _756(url, file.name)]);
37915
+ _optionalChain([onFileUploaded, 'optionalCall', _760 => _760(url, file.name)]);
37876
37916
  } catch (error) {
37877
37917
  console.error("File upload failed:", error);
37878
37918
  setUploadProgress("Upload failed. Please try again.");
@@ -37885,7 +37925,7 @@ function MarkdownEditor({
37885
37925
  );
37886
37926
  const handleFileInputChange = _react.useCallback.call(void 0,
37887
37927
  (e) => {
37888
- const file = _optionalChain([e, 'access', _757 => _757.target, 'access', _758 => _758.files, 'optionalAccess', _759 => _759[0]]);
37928
+ const file = _optionalChain([e, 'access', _761 => _761.target, 'access', _762 => _762.files, 'optionalAccess', _763 => _763[0]]);
37889
37929
  if (file) {
37890
37930
  handleFileUpload(file);
37891
37931
  e.target.value = "";
@@ -37896,7 +37936,7 @@ function MarkdownEditor({
37896
37936
  const handlePaste = _react.useCallback.call(void 0,
37897
37937
  (e) => {
37898
37938
  if (!onUploadFile) return;
37899
- const items = _optionalChain([e, 'access', _760 => _760.clipboardData, 'optionalAccess', _761 => _761.items]);
37939
+ const items = _optionalChain([e, 'access', _764 => _764.clipboardData, 'optionalAccess', _765 => _765.items]);
37900
37940
  if (!items) return;
37901
37941
  for (const item of items) {
37902
37942
  if (item.type.startsWith("image/")) {
@@ -37921,7 +37961,7 @@ function MarkdownEditor({
37921
37961
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
37922
37962
  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" }),
37923
37963
  execute: () => {
37924
- _optionalChain([fileInputRef, 'access', _762 => _762.current, 'optionalAccess', _763 => _763.click, 'call', _764 => _764()]);
37964
+ _optionalChain([fileInputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.click, 'call', _768 => _768()]);
37925
37965
  }
37926
37966
  } : null;
37927
37967
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -37933,7 +37973,7 @@ function MarkdownEditor({
37933
37973
  const EDGE_ZONE = 60;
37934
37974
  const MAX_SCROLL_SPEED = 15;
37935
37975
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
37936
- let node = _optionalChain([el, 'optionalAccess', _765 => _765.parentElement]);
37976
+ let node = _optionalChain([el, 'optionalAccess', _769 => _769.parentElement]);
37937
37977
  while (node && node !== document.documentElement) {
37938
37978
  const { overflowY } = window.getComputedStyle(node);
37939
37979
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -38076,7 +38116,7 @@ function matchesAccept(file, accept) {
38076
38116
  });
38077
38117
  }
38078
38118
  function dragHasFiles(e) {
38079
- const types = _optionalChain([e, 'access', _766 => _766.dataTransfer, 'optionalAccess', _767 => _767.types]);
38119
+ const types = _optionalChain([e, 'access', _770 => _770.dataTransfer, 'optionalAccess', _771 => _771.types]);
38080
38120
  if (!types) return false;
38081
38121
  for (let i = 0; i < types.length; i++) {
38082
38122
  if (types[i] === "Files") return true;
@@ -38172,7 +38212,7 @@ function FileUpload({
38172
38212
  e.stopPropagation();
38173
38213
  setDragActive(false);
38174
38214
  if (disabled) return;
38175
- if (_optionalChain([e, 'access', _768 => _768.dataTransfer, 'access', _769 => _769.files, 'optionalAccess', _770 => _770.length])) {
38215
+ if (_optionalChain([e, 'access', _772 => _772.dataTransfer, 'access', _773 => _773.files, 'optionalAccess', _774 => _774.length])) {
38176
38216
  handleFiles(e.dataTransfer.files);
38177
38217
  }
38178
38218
  };
@@ -38200,7 +38240,7 @@ function FileUpload({
38200
38240
  e.preventDefault();
38201
38241
  dragCounter = 0;
38202
38242
  setDragActive(false);
38203
- if (_optionalChain([e, 'access', _771 => _771.dataTransfer, 'optionalAccess', _772 => _772.files, 'optionalAccess', _773 => _773.length])) {
38243
+ if (_optionalChain([e, 'access', _775 => _775.dataTransfer, 'optionalAccess', _776 => _776.files, 'optionalAccess', _777 => _777.length])) {
38204
38244
  handleFilesRef.current(e.dataTransfer.files);
38205
38245
  }
38206
38246
  };
@@ -38222,7 +38262,7 @@ function FileUpload({
38222
38262
  };
38223
38263
  }, [acceptWindowDrops, disabled]);
38224
38264
  const handleFileSelect = (e) => {
38225
- if (_optionalChain([e, 'access', _774 => _774.target, 'access', _775 => _775.files, 'optionalAccess', _776 => _776.length])) {
38265
+ if (_optionalChain([e, 'access', _778 => _778.target, 'access', _779 => _779.files, 'optionalAccess', _780 => _780.length])) {
38226
38266
  handleFiles(e.target.files);
38227
38267
  }
38228
38268
  };
@@ -38239,7 +38279,7 @@ function FileUpload({
38239
38279
  };
38240
38280
  const openDialog = async () => {
38241
38281
  if (disabled) return;
38242
- _optionalChain([fileInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.click, 'call', _779 => _779()]);
38282
+ _optionalChain([fileInputRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.click, 'call', _783 => _783()]);
38243
38283
  };
38244
38284
  const displayError = error || validationError || void 0;
38245
38285
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -38301,7 +38341,7 @@ function FileUpload({
38301
38341
  "button",
38302
38342
  {
38303
38343
  type: "button",
38304
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _780 => _780(entry.id)]),
38344
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _784 => _784(entry.id)]),
38305
38345
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
38306
38346
  "aria-label": `Remove ${entry.fileName}`,
38307
38347
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrashIcon, { className: "size-6" })
@@ -38432,7 +38472,7 @@ function ImageUploader({
38432
38472
  onChange(file);
38433
38473
  };
38434
38474
  const handleFileSelect = (e) => {
38435
- validateAndEmit(_optionalChain([e, 'access', _781 => _781.target, 'access', _782 => _782.files, 'optionalAccess', _783 => _783[0]]));
38475
+ validateAndEmit(_optionalChain([e, 'access', _785 => _785.target, 'access', _786 => _786.files, 'optionalAccess', _787 => _787[0]]));
38436
38476
  if (inputRef.current) inputRef.current.value = "";
38437
38477
  };
38438
38478
  const handleDrag = (e) => {
@@ -38447,11 +38487,11 @@ function ImageUploader({
38447
38487
  e.stopPropagation();
38448
38488
  setDragActive(false);
38449
38489
  if (!interactive) return;
38450
- validateAndEmit(_optionalChain([e, 'access', _784 => _784.dataTransfer, 'access', _785 => _785.files, 'optionalAccess', _786 => _786[0]]));
38490
+ validateAndEmit(_optionalChain([e, 'access', _788 => _788.dataTransfer, 'access', _789 => _789.files, 'optionalAccess', _790 => _790[0]]));
38451
38491
  };
38452
38492
  const openDialog = () => {
38453
38493
  if (!interactive) return;
38454
- _optionalChain([inputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.click, 'call', _789 => _789()]);
38494
+ _optionalChain([inputRef, 'access', _791 => _791.current, 'optionalAccess', _792 => _792.click, 'call', _793 => _793()]);
38455
38495
  };
38456
38496
  const handleRootKeyDown = (e) => {
38457
38497
  if (hasImage || !interactive) return;
@@ -38642,8 +38682,8 @@ function ColorPresetSelect({
38642
38682
  }) {
38643
38683
  const selectedPreset = presets.find((p) => p.key === presetKey);
38644
38684
  const isCustom = !selectedPreset;
38645
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _790 => _790.label]), () => ( "Custom"));
38646
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _791 => _791.color]), () => ( value));
38685
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _794 => _794.label]), () => ( "Custom"));
38686
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _795 => _795.color]), () => ( value));
38647
38687
  const groups = [
38648
38688
  {
38649
38689
  items: [
@@ -38933,7 +38973,7 @@ function TicketStatusConfigRow({
38933
38973
  _chunkQJGRP2YEcjs.Input,
38934
38974
  {
38935
38975
  value: name,
38936
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _792 => _792(e.target.value)]),
38976
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _796 => _796(e.target.value)]),
38937
38977
  disabled: isSystem,
38938
38978
  readOnly: isSystem,
38939
38979
  "aria-label": "Status name",
@@ -39306,14 +39346,14 @@ function TicketInfoSection({
39306
39346
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39307
39347
  SquareAvatar,
39308
39348
  {
39309
- src: _optionalChain([organization, 'optionalAccess', _793 => _793.imageSrc]),
39310
- alt: _optionalChain([organization, 'optionalAccess', _794 => _794.name]),
39311
- fallback: _optionalChain([organization, 'optionalAccess', _795 => _795.name]) || "Org",
39349
+ src: _optionalChain([organization, 'optionalAccess', _797 => _797.imageSrc]),
39350
+ alt: _optionalChain([organization, 'optionalAccess', _798 => _798.name]),
39351
+ fallback: _optionalChain([organization, 'optionalAccess', _799 => _799.name]) || "Org",
39312
39352
  size: "md",
39313
39353
  className: "shrink-0"
39314
39354
  }
39315
39355
  ),
39316
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _796 => _796.name]) || "Unassigned", label: "Organization" })
39356
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _800 => _800.name]) || "Unassigned", label: "Organization" })
39317
39357
  ] }),
39318
39358
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39319
39359
  AssigneeDropdown,
@@ -39334,10 +39374,10 @@ function TicketInfoSection({
39334
39374
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39335
39375
  InfoCell2,
39336
39376
  {
39337
- value: _optionalChain([device, 'optionalAccess', _797 => _797.name]) || "Unassigned",
39377
+ value: _optionalChain([device, 'optionalAccess', _801 => _801.name]) || "Unassigned",
39338
39378
  label: "Device",
39339
- icon: _optionalChain([device, 'optionalAccess', _798 => _798.icon]),
39340
- onClick: _optionalChain([device, 'optionalAccess', _799 => _799.onClick])
39379
+ icon: _optionalChain([device, 'optionalAccess', _802 => _802.icon]),
39380
+ onClick: _optionalChain([device, 'optionalAccess', _803 => _803.onClick])
39341
39381
  }
39342
39382
  ),
39343
39383
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39667,7 +39707,7 @@ function RoadmapCard({
39667
39707
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39668
39708
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39669
39709
  const hasFigma = !!item.figmaUrl;
39670
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _800 => _800.screenshots, 'optionalAccess', _801 => _801.length]), () => ( 0))) > 0;
39710
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _804 => _804.screenshots, 'optionalAccess', _805 => _805.length]), () => ( 0))) > 0;
39671
39711
  const typeLabel = getTaskTypeLabel(item.customItemId);
39672
39712
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39673
39713
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39686,7 +39726,7 @@ function RoadmapCard({
39686
39726
  unoptimized: true,
39687
39727
  className: "h-8 w-8 object-contain"
39688
39728
  }
39689
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _802 => _802.title, 'optionalAccess', _803 => _803.substring, 'call', _804 => _804(0, 2)]) || "??" })
39729
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _806 => _806.title, 'optionalAccess', _807 => _807.substring, 'call', _808 => _808(0, 2)]) || "??" })
39690
39730
  }
39691
39731
  ),
39692
39732
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -39761,7 +39801,7 @@ function RoadmapCard({
39761
39801
  unoptimized: true,
39762
39802
  className: "object-contain p-1"
39763
39803
  }
39764
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _805 => _805.title, 'optionalAccess', _806 => _806.substring, 'call', _807 => _807(0, 2)]) || "??" }) }),
39804
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _809 => _809.title, 'optionalAccess', _810 => _810.substring, 'call', _811 => _811(0, 2)]) || "??" }) }),
39765
39805
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
39766
39806
  /* @__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 }) }),
39767
39807
  /* @__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: [
@@ -40271,7 +40311,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
40271
40311
  ] }) : null,
40272
40312
  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
40273
40313
  ] }),
40274
- _optionalChain([anchorProps, 'optionalAccess', _808 => _808.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
40314
+ _optionalChain([anchorProps, 'optionalAccess', _812 => _812.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
40275
40315
  ] });
40276
40316
  if (!anchorProps) {
40277
40317
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -40341,7 +40381,7 @@ function getDefaultOptions() {
40341
40381
  // node_modules/date-fns/startOfWeek.mjs
40342
40382
  function startOfWeek(date, options) {
40343
40383
  const defaultOptions2 = getDefaultOptions();
40344
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _809 => _809.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _810 => _810.locale, 'optionalAccess', _811 => _811.options, 'optionalAccess', _812 => _812.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _813 => _813.locale, 'optionalAccess', _814 => _814.options, 'optionalAccess', _815 => _815.weekStartsOn]))), () => ( 0));
40384
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _813 => _813.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _814 => _814.locale, 'optionalAccess', _815 => _815.options, 'optionalAccess', _816 => _816.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _817 => _817.locale, 'optionalAccess', _818 => _818.options, 'optionalAccess', _819 => _819.weekStartsOn]))), () => ( 0));
40345
40385
  const _date = toDate(date);
40346
40386
  const day = _date.getDay();
40347
40387
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -40516,7 +40556,7 @@ var formatDistance = (token, count, options) => {
40516
40556
  } else {
40517
40557
  result = tokenValue.other.replace("{{count}}", count.toString());
40518
40558
  }
40519
- if (_optionalChain([options, 'optionalAccess', _816 => _816.addSuffix])) {
40559
+ if (_optionalChain([options, 'optionalAccess', _820 => _820.addSuffix])) {
40520
40560
  if (options.comparison && options.comparison > 0) {
40521
40561
  return "in " + result;
40522
40562
  } else {
@@ -40583,15 +40623,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40583
40623
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40584
40624
  function buildLocalizeFn(args) {
40585
40625
  return (value, options) => {
40586
- const context = _optionalChain([options, 'optionalAccess', _817 => _817.context]) ? String(options.context) : "standalone";
40626
+ const context = _optionalChain([options, 'optionalAccess', _821 => _821.context]) ? String(options.context) : "standalone";
40587
40627
  let valuesArray;
40588
40628
  if (context === "formatting" && args.formattingValues) {
40589
40629
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40590
- const width = _optionalChain([options, 'optionalAccess', _818 => _818.width]) ? String(options.width) : defaultWidth;
40630
+ const width = _optionalChain([options, 'optionalAccess', _822 => _822.width]) ? String(options.width) : defaultWidth;
40591
40631
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40592
40632
  } else {
40593
40633
  const defaultWidth = args.defaultWidth;
40594
- const width = _optionalChain([options, 'optionalAccess', _819 => _819.width]) ? String(options.width) : args.defaultWidth;
40634
+ const width = _optionalChain([options, 'optionalAccess', _823 => _823.width]) ? String(options.width) : args.defaultWidth;
40595
40635
  valuesArray = args.values[width] || args.values[defaultWidth];
40596
40636
  }
40597
40637
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -40971,7 +41011,7 @@ function getWeekYear(date, options) {
40971
41011
  const _date = toDate(date);
40972
41012
  const year = _date.getFullYear();
40973
41013
  const defaultOptions2 = getDefaultOptions();
40974
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _820 => _820.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _821 => _821.locale, 'optionalAccess', _822 => _822.options, 'optionalAccess', _823 => _823.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _824 => _824.locale, 'optionalAccess', _825 => _825.options, 'optionalAccess', _826 => _826.firstWeekContainsDate]))), () => ( 1));
41014
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _824 => _824.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _825 => _825.locale, 'optionalAccess', _826 => _826.options, 'optionalAccess', _827 => _827.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _828 => _828.locale, 'optionalAccess', _829 => _829.options, 'optionalAccess', _830 => _830.firstWeekContainsDate]))), () => ( 1));
40975
41015
  const firstWeekOfNextYear = constructFrom(date, 0);
40976
41016
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
40977
41017
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -40992,7 +41032,7 @@ function getWeekYear(date, options) {
40992
41032
  // node_modules/date-fns/startOfWeekYear.mjs
40993
41033
  function startOfWeekYear(date, options) {
40994
41034
  const defaultOptions2 = getDefaultOptions();
40995
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _827 => _827.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _828 => _828.locale, 'optionalAccess', _829 => _829.options, 'optionalAccess', _830 => _830.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _831 => _831.locale, 'optionalAccess', _832 => _832.options, 'optionalAccess', _833 => _833.firstWeekContainsDate]))), () => ( 1));
41035
+ 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));
40996
41036
  const year = getWeekYear(date, options);
40997
41037
  const firstWeek = constructFrom(date, 0);
40998
41038
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -41807,9 +41847,9 @@ var doubleQuoteRegExp = /''/g;
41807
41847
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
41808
41848
  function format(date, formatStr, options) {
41809
41849
  const defaultOptions2 = getDefaultOptions();
41810
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _834 => _834.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41811
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _835 => _835.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _836 => _836.locale, 'optionalAccess', _837 => _837.options, 'optionalAccess', _838 => _838.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _839 => _839.locale, 'optionalAccess', _840 => _840.options, 'optionalAccess', _841 => _841.firstWeekContainsDate]))), () => ( 1));
41812
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _842 => _842.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _843 => _843.locale, 'optionalAccess', _844 => _844.options, 'optionalAccess', _845 => _845.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _846 => _846.locale, 'optionalAccess', _847 => _847.options, 'optionalAccess', _848 => _848.weekStartsOn]))), () => ( 0));
41850
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _838 => _838.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41851
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _839 => _839.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _840 => _840.locale, 'optionalAccess', _841 => _841.options, 'optionalAccess', _842 => _842.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _843 => _843.locale, 'optionalAccess', _844 => _844.options, 'optionalAccess', _845 => _845.firstWeekContainsDate]))), () => ( 1));
41852
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _846 => _846.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _847 => _847.locale, 'optionalAccess', _848 => _848.options, 'optionalAccess', _849 => _849.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _850 => _850.locale, 'optionalAccess', _851 => _851.options, 'optionalAccess', _852 => _852.weekStartsOn]))), () => ( 0));
41813
41853
  const originalDate = toDate(date);
41814
41854
  if (!isValid(originalDate)) {
41815
41855
  throw new RangeError("Invalid time value");
@@ -41850,7 +41890,7 @@ function format(date, formatStr, options) {
41850
41890
  return parts.map((part) => {
41851
41891
  if (!part.isToken) return part.value;
41852
41892
  const token = part.value;
41853
- if (!_optionalChain([options, 'optionalAccess', _849 => _849.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _850 => _850.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41893
+ if (!_optionalChain([options, 'optionalAccess', _853 => _853.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _854 => _854.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41854
41894
  warnOrThrowProtectedError(token, formatStr, String(date));
41855
41895
  }
41856
41896
  const formatter = formatters[token[0]];
@@ -42031,7 +42071,7 @@ function ProgramCard({
42031
42071
  const dur = formatDurationFromRange(w.start_at, w.end_at);
42032
42072
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42033
42073
  }
42034
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _851 => _851.labels, 'optionalAccess', _852 => _852.singular])].filter(
42074
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _855 => _855.labels, 'optionalAccess', _856 => _856.singular])].filter(
42035
42075
  (s) => typeof s === "string" && s.length > 0
42036
42076
  );
42037
42077
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -42188,7 +42228,7 @@ function ProgramCard({
42188
42228
 
42189
42229
 
42190
42230
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
42191
- const goalsCount = _optionalChain([campaign, 'access', _853 => _853.goals, 'optionalAccess', _854 => _854.length]) || 0;
42231
+ const goalsCount = _optionalChain([campaign, 'access', _857 => _857.goals, 'optionalAccess', _858 => _858.length]) || 0;
42192
42232
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
42193
42233
  /* @__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" }) }),
42194
42234
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42350,7 +42390,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
42350
42390
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
42351
42391
  const safePath = sanitizePath(row.path);
42352
42392
  if (safePath) {
42353
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _855 => _855.docPlatformTargets, 'optionalAccess', _856 => _856[row.documentType]]) : void 0;
42393
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _859 => _859.docPlatformTargets, 'optionalAccess', _860 => _860[row.documentType]]) : void 0;
42354
42394
  if (docTarget) {
42355
42395
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
42356
42396
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -42565,8 +42605,8 @@ function cardMenuGroups(href, discuss, openDetails) {
42565
42605
  if (href) {
42566
42606
  items.push({
42567
42607
  id: "open-details",
42568
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _857 => _857.label]), () => ( "Open Details")),
42569
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _858 => _858.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.EyeIcon, { size: 20 }))),
42608
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _861 => _861.label]), () => ( "Open Details")),
42609
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _862 => _862.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.EyeIcon, { size: 20 }))),
42570
42610
  // Main row → open the entity (same tab, soft Link nav).
42571
42611
  href,
42572
42612
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42596,8 +42636,8 @@ function HubspotTicketChatCard({
42596
42636
  isNewTab,
42597
42637
  discuss
42598
42638
  }) {
42599
- const status = typeof _optionalChain([chatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.status]) === "string" ? chatRef.metadata.status : void 0;
42600
- const statusLabel = typeof _optionalChain([chatRef, 'access', _861 => _861.metadata, 'optionalAccess', _862 => _862.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42639
+ const status = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.status]) === "string" ? chatRef.metadata.status : void 0;
42640
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _865 => _865.metadata, 'optionalAccess', _866 => _866.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42601
42641
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42602
42642
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42603
42643
  MingoInfoCard,
@@ -42620,7 +42660,7 @@ function FaqChatCard({
42620
42660
  isNewTab,
42621
42661
  discuss
42622
42662
  }) {
42623
- const section = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42663
+ const section = typeof _optionalChain([chatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42624
42664
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42625
42665
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42626
42666
  MingoInfoCard,
@@ -42640,7 +42680,7 @@ function SlackChatCard({
42640
42680
  isNewTab,
42641
42681
  discuss
42642
42682
  }) {
42643
- const channelName = typeof _optionalChain([chatRef, 'access', _865 => _865.metadata, 'optionalAccess', _866 => _866.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42683
+ const channelName = typeof _optionalChain([chatRef, 'access', _869 => _869.metadata, 'optionalAccess', _870 => _870.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42644
42684
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42645
42685
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42646
42686
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42680,7 +42720,7 @@ function GenericFinancialChatCard({
42680
42720
  isNewTab,
42681
42721
  discuss
42682
42722
  }) {
42683
- const subtitle = typeof _optionalChain([chatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42723
+ const subtitle = typeof _optionalChain([chatRef, 'access', _871 => _871.metadata, 'optionalAccess', _872 => _872.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42684
42724
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42685
42725
  MingoInfoCard,
42686
42726
  {
@@ -42749,12 +42789,12 @@ function ProductReleaseChatCard({
42749
42789
  discuss
42750
42790
  }) {
42751
42791
  const releaseProps = buildProps(item);
42752
- const status = _optionalChain([item, 'optionalAccess', _869 => _869.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42792
+ const status = _optionalChain([item, 'optionalAccess', _873 => _873.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42753
42793
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42754
42794
  EntityMingoCard,
42755
42795
  {
42756
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.title]), () => ( "")),
42757
- description: _optionalChain([item, 'optionalAccess', _871 => _871.summary]) || releaseProps.formattedDate || void 0,
42796
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _874 => _874.title]), () => ( "")),
42797
+ description: _optionalChain([item, 'optionalAccess', _875 => _875.summary]) || releaseProps.formattedDate || void 0,
42758
42798
  cover: releaseProps.coverImage || void 0,
42759
42799
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Rocket02Icon, { size: 24 }),
42760
42800
  status,
@@ -42771,17 +42811,17 @@ function CampaignChatCard({
42771
42811
  isNewTab,
42772
42812
  discuss
42773
42813
  }) {
42774
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _872 => _872.goals])) ? item.goals.length : 0;
42814
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _876 => _876.goals])) ? item.goals.length : 0;
42775
42815
  const meta = [
42776
- _optionalChain([item, 'optionalAccess', _873 => _873.start_date]) ? formatDateShort(item.start_date) : null,
42816
+ _optionalChain([item, 'optionalAccess', _877 => _877.start_date]) ? formatDateShort(item.start_date) : null,
42777
42817
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
42778
42818
  "Marketing campaign"
42779
42819
  ].filter(Boolean).join(" \xB7 ");
42780
42820
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42781
42821
  EntityMingoCard,
42782
42822
  {
42783
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _874 => _874.name]), () => ( "")),
42784
- description: meta || _optionalChain([item, 'optionalAccess', _875 => _875.description]) || void 0,
42823
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _878 => _878.name]), () => ( "")),
42824
+ description: meta || _optionalChain([item, 'optionalAccess', _879 => _879.description]) || void 0,
42785
42825
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Megaphone01Icon, { size: 24 }),
42786
42826
  chatRef,
42787
42827
  isNewTab,
@@ -42834,14 +42874,14 @@ function BlogChatCard({
42834
42874
  hasEmbeddedVideo,
42835
42875
  discuss
42836
42876
  }) {
42837
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _876 => _876.categories])) ? _optionalChain([item, 'access', _877 => _877.categories, 'access', _878 => _878.find, 'call', _879 => _879((c) => c && c.name), 'optionalAccess', _880 => _880.name]) : void 0;
42877
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _880 => _880.categories])) ? _optionalChain([item, 'access', _881 => _881.categories, 'access', _882 => _882.find, 'call', _883 => _883((c) => c && c.name), 'optionalAccess', _884 => _884.name]) : void 0;
42838
42878
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
42839
42879
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42840
42880
  EntityMingoCard,
42841
42881
  {
42842
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _881 => _881.title]), () => ( "")),
42843
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _882 => _882.summary]), () => ( void 0)),
42844
- cover: entityCover(_optionalChain([item, 'optionalAccess', _883 => _883.featured_image]), ogPlaceholder),
42882
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _885 => _885.title]), () => ( "")),
42883
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _886 => _886.summary]), () => ( void 0)),
42884
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _887 => _887.featured_image]), ogPlaceholder),
42845
42885
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.NewspaperIcon, { size: 24 }),
42846
42886
  status,
42847
42887
  chatRef,
@@ -42858,13 +42898,13 @@ function CaseStudyChatCard({
42858
42898
  ogPlaceholder,
42859
42899
  discuss
42860
42900
  }) {
42861
- const meta = [_optionalChain([item, 'optionalAccess', _884 => _884.msp, 'optionalAccess', _885 => _885.name]), _optionalChain([item, 'optionalAccess', _886 => _886.user, 'optionalAccess', _887 => _887.full_name])].filter(Boolean).join(" \xB7 ");
42901
+ const meta = [_optionalChain([item, 'optionalAccess', _888 => _888.msp, 'optionalAccess', _889 => _889.name]), _optionalChain([item, 'optionalAccess', _890 => _890.user, 'optionalAccess', _891 => _891.full_name])].filter(Boolean).join(" \xB7 ");
42862
42902
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42863
42903
  EntityMingoCard,
42864
42904
  {
42865
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _888 => _888.title]), () => ( "")),
42866
- description: _optionalChain([item, 'optionalAccess', _889 => _889.summary]) || meta || void 0,
42867
- cover: entityCover(_optionalChain([item, 'optionalAccess', _890 => _890.featured_image]), ogPlaceholder),
42905
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _892 => _892.title]), () => ( "")),
42906
+ description: _optionalChain([item, 'optionalAccess', _893 => _893.summary]) || meta || void 0,
42907
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _894 => _894.featured_image]), ogPlaceholder),
42868
42908
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrophyIcon, { size: 24 }),
42869
42909
  status: { label: "Case study", variant: "grey" },
42870
42910
  chatRef,
@@ -42881,13 +42921,13 @@ function CustomerInterviewChatCard({
42881
42921
  ogPlaceholder,
42882
42922
  discuss
42883
42923
  }) {
42884
- const meta = [_optionalChain([item, 'optionalAccess', _891 => _891.user, 'optionalAccess', _892 => _892.full_name]), _optionalChain([item, 'optionalAccess', _893 => _893.msp, 'optionalAccess', _894 => _894.name])].filter(Boolean).join(" \xB7 ");
42924
+ const meta = [_optionalChain([item, 'optionalAccess', _895 => _895.user, 'optionalAccess', _896 => _896.full_name]), _optionalChain([item, 'optionalAccess', _897 => _897.msp, 'optionalAccess', _898 => _898.name])].filter(Boolean).join(" \xB7 ");
42885
42925
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42886
42926
  EntityMingoCard,
42887
42927
  {
42888
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _895 => _895.title]), () => ( "")),
42889
- description: _optionalChain([item, 'optionalAccess', _896 => _896.video_summary]) || meta || void 0,
42890
- cover: entityCover(_optionalChain([item, 'optionalAccess', _897 => _897.featured_image]), ogPlaceholder),
42928
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _899 => _899.title]), () => ( "")),
42929
+ description: _optionalChain([item, 'optionalAccess', _900 => _900.video_summary]) || meta || void 0,
42930
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _901 => _901.featured_image]), ogPlaceholder),
42891
42931
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MicrophoneIcon, { size: 24 }),
42892
42932
  status: { label: "Interview", variant: "grey" },
42893
42933
  chatRef,
@@ -42904,13 +42944,13 @@ function InvestorUpdateChatCard({
42904
42944
  ogPlaceholder,
42905
42945
  discuss
42906
42946
  }) {
42907
- const title = _optionalChain([item, 'optionalAccess', _898 => _898.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _899 => _899.update_number]), () => ( "?"))}`;
42947
+ const title = _optionalChain([item, 'optionalAccess', _902 => _902.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _903 => _903.update_number]), () => ( "?"))}`;
42908
42948
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42909
42949
  EntityMingoCard,
42910
42950
  {
42911
42951
  title,
42912
- description: _optionalChain([item, 'optionalAccess', _900 => _900.strategic_update]) || _optionalChain([item, 'optionalAccess', _901 => _901.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _902 => _902.period_start]), _optionalChain([item, 'optionalAccess', _903 => _903.period_end])) || void 0,
42913
- cover: entityCover(_optionalChain([item, 'optionalAccess', _904 => _904.featured_image]), ogPlaceholder),
42952
+ description: _optionalChain([item, 'optionalAccess', _904 => _904.strategic_update]) || _optionalChain([item, 'optionalAccess', _905 => _905.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _906 => _906.period_start]), _optionalChain([item, 'optionalAccess', _907 => _907.period_end])) || void 0,
42953
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _908 => _908.featured_image]), ogPlaceholder),
42914
42954
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.PresentationLineIcon, { size: 24 }),
42915
42955
  status: { label: "Investor update", variant: "grey" },
42916
42956
  chatRef,
@@ -42927,12 +42967,12 @@ function OnboardingGuideChatCard({
42927
42967
  ogPlaceholder,
42928
42968
  discuss
42929
42969
  }) {
42930
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _905 => _905.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _906 => _906.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _907 => _907.og_image_url]), ogPlaceholder)));
42970
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _909 => _909.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _910 => _910.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _911 => _911.og_image_url]), ogPlaceholder)));
42931
42971
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42932
42972
  EntityMingoCard,
42933
42973
  {
42934
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _908 => _908.title]), () => ( "")),
42935
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _909 => _909.summary]), () => ( _optionalChain([item, 'optionalAccess', _910 => _910.description]))), () => ( void 0)),
42974
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
42975
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _913 => _913.summary]), () => ( _optionalChain([item, 'optionalAccess', _914 => _914.description]))), () => ( void 0)),
42936
42976
  cover,
42937
42977
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CompassIcon, { size: 24 }),
42938
42978
  status: { label: "Guide", variant: "grey" },
@@ -42953,25 +42993,25 @@ function ProgramChatCard({
42953
42993
  discuss
42954
42994
  }) {
42955
42995
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MicrophoneIcon, { size: 24 });
42956
- const isScheduled = _optionalChain([item, 'optionalAccess', _911 => _911.status]) === "scheduled";
42996
+ const isScheduled = _optionalChain([item, 'optionalAccess', _915 => _915.status]) === "scheduled";
42957
42997
  let typeMeta;
42958
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _912 => _912.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42998
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _916 => _916.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42959
42999
  typeMeta = formatDurationCompact(item.duration_seconds);
42960
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _913 => _913.location_name]) === "string" && item.location_name.trim().length > 0) {
43000
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _917 => _917.location_name]) === "string" && item.location_name.trim().length > 0) {
42961
43001
  typeMeta = item.location_name;
42962
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _914 => _914.start_at])) {
43002
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _918 => _918.start_at])) {
42963
43003
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
42964
43004
  const dur = formatDurationFromRange(item.start_at, item.end_at);
42965
43005
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42966
43006
  }
42967
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _915 => _915.date]), () => ( null)), { fallback: "", timezone: "local" });
43007
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _919 => _919.date]), () => ( null)), { fallback: "", timezone: "local" });
42968
43008
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
42969
43009
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42970
43010
  EntityMingoCard,
42971
43011
  {
42972
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _916 => _916.title]), () => ( "")),
42973
- description: meta || _optionalChain([item, 'optionalAccess', _917 => _917.description]) || void 0,
42974
- cover: entityCover(_optionalChain([item, 'optionalAccess', _918 => _918.cover_url]), ogPlaceholder),
43012
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _920 => _920.title]), () => ( "")),
43013
+ description: meta || _optionalChain([item, 'optionalAccess', _921 => _921.description]) || void 0,
43014
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _922 => _922.cover_url]), ogPlaceholder),
42975
43015
  fallbackIcon: icon,
42976
43016
  status: { label, variant: "grey" },
42977
43017
  chatRef,
@@ -42988,10 +43028,10 @@ function RoadmapChatCard({
42988
43028
  cardType,
42989
43029
  discuss
42990
43030
  }) {
42991
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _919 => _919.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42992
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _920 => _920.customItemId]) != null;
43031
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _923 => _923.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43032
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _924 => _924.customItemId]) != null;
42993
43033
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MapIcon, { size: 24 });
42994
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _921 => _921.customItemId]), className: "size-6" }) : logoUrl ? (
43034
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _925 => _925.customItemId]), className: "size-6" }) : logoUrl ? (
42995
43035
  // Contained (not full-bleed) so the integration logo keeps its aspect
42996
43036
  // ratio inside the bordered icon box — matches RoadmapCard.
42997
43037
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -42999,10 +43039,10 @@ function RoadmapChatCard({
42999
43039
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43000
43040
  EntityMingoCard,
43001
43041
  {
43002
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.title]), () => ( "")),
43003
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _923 => _923.description]), () => ( void 0)),
43042
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _926 => _926.title]), () => ( "")),
43043
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _927 => _927.description]), () => ( void 0)),
43004
43044
  fallbackIcon: icon,
43005
- status: statusPill(_optionalChain([item, 'optionalAccess', _924 => _924.status])),
43045
+ status: statusPill(_optionalChain([item, 'optionalAccess', _928 => _928.status])),
43006
43046
  chatRef,
43007
43047
  isNewTab,
43008
43048
  discuss,
@@ -43088,7 +43128,7 @@ function programRegistryEntries() {
43088
43128
  discuss: opts.discuss,
43089
43129
  configKey: cfg.configKey,
43090
43130
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
43091
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildOgPlaceholderUrl, 'optionalCall', _927 => _927(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")))]), () => ( null))
43131
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _929 => _929.extras, 'optionalAccess', _930 => _930.buildOgPlaceholderUrl, 'optionalCall', _931 => _931(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")))]), () => ( null))
43092
43132
  }
43093
43133
  )
43094
43134
  };
@@ -43240,8 +43280,8 @@ var CHAT_CARD_REGISTRY = {
43240
43280
  chatRef,
43241
43281
  isNewTab: opts.isNewTab,
43242
43282
  discuss: opts.discuss,
43243
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _929 => _929.extras, 'optionalAccess', _930 => _930.buildOgPlaceholderUrl, 'optionalCall', _931 => _931(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")))]), () => ( null)),
43244
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _933 => _933.metadata, 'optionalAccess', _934 => _934.hasEmbeddedVideo]) === true
43283
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _933 => _933.extras, 'optionalAccess', _934 => _934.buildOgPlaceholderUrl, 'optionalCall', _935 => _935(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _936 => _936.title]), () => ( "")))]), () => ( null)),
43284
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _937 => _937.metadata, 'optionalAccess', _938 => _938.hasEmbeddedVideo]) === true
43245
43285
  }
43246
43286
  )
43247
43287
  },
@@ -43258,7 +43298,7 @@ var CHAT_CARD_REGISTRY = {
43258
43298
  chatRef,
43259
43299
  isNewTab: opts.isNewTab,
43260
43300
  discuss: opts.discuss,
43261
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _935 => _935.extras, 'optionalAccess', _936 => _936.buildOgPlaceholderUrl, 'optionalCall', _937 => _937(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _938 => _938.title]), () => ( "")))]), () => ( null))
43301
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildOgPlaceholderUrl, 'optionalCall', _941 => _941(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.title]), () => ( "")))]), () => ( null))
43262
43302
  }
43263
43303
  )
43264
43304
  },
@@ -43275,7 +43315,7 @@ var CHAT_CARD_REGISTRY = {
43275
43315
  chatRef,
43276
43316
  isNewTab: opts.isNewTab,
43277
43317
  discuss: opts.discuss,
43278
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildOgPlaceholderUrl, 'optionalCall', _941 => _941(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.title]), () => ( "")))]), () => ( null))
43318
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _943 => _943.extras, 'optionalAccess', _944 => _944.buildOgPlaceholderUrl, 'optionalCall', _945 => _945(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _946 => _946.title]), () => ( "")))]), () => ( null))
43279
43319
  }
43280
43320
  )
43281
43321
  },
@@ -43286,7 +43326,7 @@ var CHAT_CARD_REGISTRY = {
43286
43326
  bareInline: true,
43287
43327
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
43288
43328
  render: (item, chatRef, opts) => {
43289
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _943 => _943.extras, 'optionalAccess', _944 => _944.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43329
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _947 => _947.extras, 'optionalAccess', _948 => _948.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43290
43330
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43291
43331
  ProductReleaseChatCard,
43292
43332
  {
@@ -43313,7 +43353,7 @@ var CHAT_CARD_REGISTRY = {
43313
43353
  chatRef,
43314
43354
  isNewTab: opts.isNewTab,
43315
43355
  discuss: opts.discuss,
43316
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildOgPlaceholderUrl, 'optionalCall', _947 => _947(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _948 => _948.title]), () => ( "")))]), () => ( null))
43356
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _949 => _949.extras, 'optionalAccess', _950 => _950.buildOgPlaceholderUrl, 'optionalCall', _951 => _951(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _952 => _952.title]), () => ( "")))]), () => ( null))
43317
43357
  }
43318
43358
  )
43319
43359
  },
@@ -43332,7 +43372,7 @@ var CHAT_CARD_REGISTRY = {
43332
43372
  chatRef,
43333
43373
  isNewTab: opts.isNewTab,
43334
43374
  discuss: opts.discuss,
43335
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _949 => _949.extras, 'optionalAccess', _950 => _950.buildOgPlaceholderUrl, 'optionalCall', _951 => _951(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _952 => _952.title]), () => ( "")))]), () => ( null))
43375
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _953 => _953.extras, 'optionalAccess', _954 => _954.buildOgPlaceholderUrl, 'optionalCall', _955 => _955(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _956 => _956.title]), () => ( "")))]), () => ( null))
43336
43376
  }
43337
43377
  )
43338
43378
  },
@@ -43344,7 +43384,7 @@ var CHAT_CARD_REGISTRY = {
43344
43384
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
43345
43385
  // No public viewer — synthesize the hub-internal admin URL post-fetch
43346
43386
  // so the wrapper + isNewTab computation see the actual destination.
43347
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _953 => _953.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43387
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _957 => _957.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43348
43388
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43349
43389
  CampaignChatCard,
43350
43390
  {
@@ -43370,12 +43410,12 @@ function ChatCardNavWrap({
43370
43410
  const onClickCapture = (e) => {
43371
43411
  if (!href) return;
43372
43412
  const targetEl = e.target;
43373
- if (_optionalChain([targetEl, 'optionalAccess', _954 => _954.closest, 'optionalCall', _955 => _955("button")])) return;
43374
- if (!_optionalChain([targetEl, 'optionalAccess', _956 => _956.closest, 'optionalCall', _957 => _957("a")])) return;
43413
+ if (_optionalChain([targetEl, 'optionalAccess', _958 => _958.closest, 'optionalCall', _959 => _959("button")])) return;
43414
+ if (!_optionalChain([targetEl, 'optionalAccess', _960 => _960.closest, 'optionalCall', _961 => _961("a")])) return;
43375
43415
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
43376
43416
  if (!handled) return;
43377
43417
  e.stopPropagation();
43378
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _958 => _958.closeChat])) panel.closeChat();
43418
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _962 => _962.closeChat])) panel.closeChat();
43379
43419
  };
43380
43420
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
43381
43421
  }
@@ -43397,7 +43437,7 @@ function ChatCardLoader({
43397
43437
  title: chatRef.title,
43398
43438
  externalUrl: chatRef.url,
43399
43439
  targetPlatform: chatRef.targetPlatform,
43400
- path: typeof _optionalChain([chatRef, 'access', _959 => _959.metadata, 'optionalAccess', _960 => _960.path]) === "string" ? chatRef.metadata.path : null
43440
+ path: typeof _optionalChain([chatRef, 'access', _963 => _963.metadata, 'optionalAccess', _964 => _964.path]) === "string" ? chatRef.metadata.path : null
43401
43441
  },
43402
43442
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
43403
43443
  );
@@ -43411,7 +43451,7 @@ function ChatCardLoader({
43411
43451
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
43412
43452
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
43413
43453
  const { item, isLoading } = useChatCardItem(
43414
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _961 => _961.contentRefType]), () => ( "")),
43454
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _965 => _965.contentRefType]), () => ( "")),
43415
43455
  fetchEntry ? resolvedChatRef.id : ""
43416
43456
  );
43417
43457
  if (!entry) return null;
@@ -43442,7 +43482,7 @@ function ChatCardLoader({
43442
43482
  isNewTab,
43443
43483
  discuss
43444
43484
  };
43445
- const path = typeof _optionalChain([finalChatRef, 'access', _962 => _962.metadata, 'optionalAccess', _963 => _963.path]) === "string" ? finalChatRef.metadata.path : null;
43485
+ const path = typeof _optionalChain([finalChatRef, 'access', _966 => _966.metadata, 'optionalAccess', _967 => _967.path]) === "string" ? finalChatRef.metadata.path : null;
43446
43486
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43447
43487
  ChatCardNavWrap,
43448
43488
  {
@@ -43828,7 +43868,7 @@ function useJetStreamDialogSubscription({
43828
43868
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43829
43869
  conn: sharedConn,
43830
43870
  wsUrl,
43831
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]),
43871
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _968 => _968.current, 'optionalCall', _969 => _969()]),
43832
43872
  backoff: reconnectionBackoffRef.current,
43833
43873
  getFreshUrl: () => getNatsWsUrlRef.current(),
43834
43874
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -43843,7 +43883,7 @@ function useJetStreamDialogSubscription({
43843
43883
  setReconnectionCount((c) => c + 1);
43844
43884
  }
43845
43885
  hadConnectionBeforeRef.current = true;
43846
- _optionalChain([onConnectRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]);
43886
+ _optionalChain([onConnectRef, 'access', _970 => _970.current, 'optionalCall', _971 => _971()]);
43847
43887
  }
43848
43888
  if (status === "error") {
43849
43889
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -43853,7 +43893,7 @@ function useJetStreamDialogSubscription({
43853
43893
  setIsConnected(false);
43854
43894
  setIsSubscribed(false);
43855
43895
  tearDownSubscription();
43856
- _optionalChain([onDisconnectRef, 'access', _968 => _968.current, 'optionalCall', _969 => _969()]);
43896
+ _optionalChain([onDisconnectRef, 'access', _972 => _972.current, 'optionalCall', _973 => _973()]);
43857
43897
  }
43858
43898
  }
43859
43899
  });
@@ -43932,7 +43972,7 @@ function useJetStreamDialogSubscription({
43932
43972
  }
43933
43973
  subscriptionRef.current = handle;
43934
43974
  setIsSubscribed(true);
43935
- _optionalChain([onSubscribedRef, 'access', _970 => _970.current, 'optionalCall', _971 => _971()]);
43975
+ _optionalChain([onSubscribedRef, 'access', _974 => _974.current, 'optionalCall', _975 => _975()]);
43936
43976
  } catch (e44) {
43937
43977
  if (!cancelled) {
43938
43978
  setIsSubscribed(false);
@@ -44045,20 +44085,20 @@ function useNatsDialogSubscription({
44045
44085
  const tearDownSubscriptions = () => {
44046
44086
  subscriptionRefs.current.forEach((sub) => {
44047
44087
  try {
44048
- _optionalChain([sub, 'optionalAccess', _972 => _972.unsubscribe, 'call', _973 => _973()]);
44088
+ _optionalChain([sub, 'optionalAccess', _976 => _976.unsubscribe, 'call', _977 => _977()]);
44049
44089
  } catch (e46) {
44050
44090
  }
44051
44091
  });
44052
44092
  subscriptionRefs.current.clear();
44053
44093
  lastSubscribedDialogIdRef.current = null;
44054
- _optionalChain([abortControllerRef, 'access', _974 => _974.current, 'optionalAccess', _975 => _975.abort, 'call', _976 => _976()]);
44094
+ _optionalChain([abortControllerRef, 'access', _978 => _978.current, 'optionalAccess', _979 => _979.abort, 'call', _980 => _980()]);
44055
44095
  abortControllerRef.current = null;
44056
44096
  };
44057
44097
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
44058
44098
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44059
44099
  conn: sharedConn,
44060
44100
  wsUrl,
44061
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]),
44101
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]),
44062
44102
  backoff: reconnectionBackoffRef.current,
44063
44103
  getFreshUrl: () => getNatsWsUrlRef.current(),
44064
44104
  shouldRetryOn: isDisconnectStatus,
@@ -44069,7 +44109,7 @@ function useNatsDialogSubscription({
44069
44109
  setReconnectionCount((c) => c + 1);
44070
44110
  }
44071
44111
  hadConnectionBeforeRef.current = true;
44072
- _optionalChain([onConnectRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]);
44112
+ _optionalChain([onConnectRef, 'access', _983 => _983.current, 'optionalCall', _984 => _984()]);
44073
44113
  }
44074
44114
  if (status === "error") {
44075
44115
  console.warn("[NATS] protocol error:", evt.data);
@@ -44079,7 +44119,7 @@ function useNatsDialogSubscription({
44079
44119
  setIsConnected(false);
44080
44120
  setIsSubscribed(false);
44081
44121
  tearDownSubscriptions();
44082
- _optionalChain([onDisconnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]);
44122
+ _optionalChain([onDisconnectRef, 'access', _985 => _985.current, 'optionalCall', _986 => _986()]);
44083
44123
  }
44084
44124
  }
44085
44125
  });
@@ -44110,13 +44150,13 @@ function useNatsDialogSubscription({
44110
44150
  setIsSubscribed(false);
44111
44151
  subscriptionRefs.current.forEach((sub) => {
44112
44152
  try {
44113
- _optionalChain([sub, 'optionalAccess', _983 => _983.unsubscribe, 'call', _984 => _984()]);
44153
+ _optionalChain([sub, 'optionalAccess', _987 => _987.unsubscribe, 'call', _988 => _988()]);
44114
44154
  } catch (e47) {
44115
44155
  }
44116
44156
  });
44117
44157
  subscriptionRefs.current.clear();
44118
44158
  lastSubscribedDialogIdRef.current = null;
44119
- _optionalChain([abortControllerRef, 'access', _985 => _985.current, 'optionalAccess', _986 => _986.abort, 'call', _987 => _987()]);
44159
+ _optionalChain([abortControllerRef, 'access', _989 => _989.current, 'optionalAccess', _990 => _990.abort, 'call', _991 => _991()]);
44120
44160
  abortControllerRef.current = null;
44121
44161
  }
44122
44162
  return;
@@ -44128,12 +44168,12 @@ function useNatsDialogSubscription({
44128
44168
  if (subscriptionRefs.current.size > 0) {
44129
44169
  subscriptionRefs.current.forEach((sub) => {
44130
44170
  try {
44131
- _optionalChain([sub, 'optionalAccess', _988 => _988.unsubscribe, 'call', _989 => _989()]);
44171
+ _optionalChain([sub, 'optionalAccess', _992 => _992.unsubscribe, 'call', _993 => _993()]);
44132
44172
  } catch (e48) {
44133
44173
  }
44134
44174
  });
44135
44175
  subscriptionRefs.current.clear();
44136
- _optionalChain([abortControllerRef, 'access', _990 => _990.current, 'optionalAccess', _991 => _991.abort, 'call', _992 => _992()]);
44176
+ _optionalChain([abortControllerRef, 'access', _994 => _994.current, 'optionalAccess', _995 => _995.abort, 'call', _996 => _996()]);
44137
44177
  }
44138
44178
  abortControllerRef.current = new AbortController();
44139
44179
  const abort = abortControllerRef.current;
@@ -44165,7 +44205,7 @@ function useNatsDialogSubscription({
44165
44205
  });
44166
44206
  lastSubscribedDialogIdRef.current = dialogId;
44167
44207
  setIsSubscribed(true);
44168
- _optionalChain([onSubscribedRef, 'access', _993 => _993.current, 'optionalCall', _994 => _994()]);
44208
+ _optionalChain([onSubscribedRef, 'access', _997 => _997.current, 'optionalCall', _998 => _998()]);
44169
44209
  };
44170
44210
  if (isConnectedRef.current) {
44171
44211
  createSubscriptions();
@@ -44175,7 +44215,7 @@ function useNatsDialogSubscription({
44175
44215
  abort.abort();
44176
44216
  subscriptionRefs.current.forEach((sub) => {
44177
44217
  try {
44178
- _optionalChain([sub, 'optionalAccess', _995 => _995.unsubscribe, 'call', _996 => _996()]);
44218
+ _optionalChain([sub, 'optionalAccess', _999 => _999.unsubscribe, 'call', _1000 => _1000()]);
44179
44219
  } catch (e50) {
44180
44220
  }
44181
44221
  });
@@ -44216,7 +44256,7 @@ function useNatsDialogSubscription({
44216
44256
  });
44217
44257
  lastSubscribedDialogIdRef.current = dialogId2;
44218
44258
  setIsSubscribed(true);
44219
- _optionalChain([onSubscribedRef, 'access', _997 => _997.current, 'optionalCall', _998 => _998()]);
44259
+ _optionalChain([onSubscribedRef, 'access', _1001 => _1001.current, 'optionalCall', _1002 => _1002()]);
44220
44260
  } else if (subscriptionRefs.current.size > 0) {
44221
44261
  setIsSubscribed(true);
44222
44262
  }
@@ -44224,10 +44264,10 @@ function useNatsDialogSubscription({
44224
44264
  return { isConnected, isSubscribed, reconnectionCount };
44225
44265
  }
44226
44266
  function buildNatsWsUrl(apiBaseUrl, options) {
44227
- const path = _optionalChain([options, 'optionalAccess', _999 => _999.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44267
+ const path = _optionalChain([options, 'optionalAccess', _1003 => _1003.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44228
44268
  const u = new URL(path, apiBaseUrl);
44229
44269
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
44230
- if (_optionalChain([options, 'optionalAccess', _1000 => _1000.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1001 => _1001.token])) {
44270
+ if (_optionalChain([options, 'optionalAccess', _1004 => _1004.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1005 => _1005.token])) {
44231
44271
  u.searchParams.set("authorization", options.token);
44232
44272
  }
44233
44273
  return u.toString();
@@ -44363,7 +44403,7 @@ function parseChunkToAction(chunk) {
44363
44403
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
44364
44404
  // historical path in `process-historical-messages.ts`) — keeps both
44365
44405
  // message sources producing an identical shape.
44366
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1002 => _1002.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1003 => _1003.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44406
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1006 => _1006.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1007 => _1007.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44367
44407
  };
44368
44408
  case MESSAGE_TYPE.TOKEN_USAGE:
44369
44409
  return {
@@ -44555,8 +44595,8 @@ var MessageSegmentAccumulator = class {
44555
44595
  type: "tool_execution",
44556
44596
  data: {
44557
44597
  ...toolData,
44558
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1004 => _1004.data, 'access', _1005 => _1005.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1006 => _1006.toolTitle]))),
44559
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1007 => _1007.parameters])
44598
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1008 => _1008.data, 'access', _1009 => _1009.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1010 => _1010.toolTitle]))),
44599
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1011 => _1011.parameters])
44560
44600
  }
44561
44601
  };
44562
44602
  if (existingIndex !== -1) {
@@ -44580,8 +44620,8 @@ var MessageSegmentAccumulator = class {
44580
44620
  if (seg.type !== "approval_batch") return seg;
44581
44621
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44582
44622
  if (!hasCall) return seg;
44583
- const prev = _optionalChain([seg, 'access', _1008 => _1008.data, 'access', _1009 => _1009.executions, 'optionalAccess', _1010 => _1010[execId]]);
44584
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1011 => _1011.result]), success: _optionalChain([prev, 'optionalAccess', _1012 => _1012.success]) };
44623
+ const prev = _optionalChain([seg, 'access', _1012 => _1012.data, 'access', _1013 => _1013.executions, 'optionalAccess', _1014 => _1014[execId]]);
44624
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1015 => _1015.result]), success: _optionalChain([prev, 'optionalAccess', _1016 => _1016.success]) };
44585
44625
  matched = true;
44586
44626
  return {
44587
44627
  ...seg,
@@ -44703,10 +44743,10 @@ var MessageSegmentAccumulator = class {
44703
44743
  const segment = {
44704
44744
  type: "approval_request",
44705
44745
  data: {
44706
- command: _optionalChain([pendingApproval, 'optionalAccess', _1013 => _1013.command]) || "",
44707
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1014 => _1014.explanation]),
44746
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1017 => _1017.command]) || "",
44747
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1018 => _1018.explanation]),
44708
44748
  requestId,
44709
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1015 => _1015.approvalType]) || approvalType
44749
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1019 => _1019.approvalType]) || approvalType
44710
44750
  },
44711
44751
  status,
44712
44752
  onApprove: this.callbacks.onApprove,
@@ -44898,7 +44938,7 @@ function useRealtimeChunkProcessor(options) {
44898
44938
  if (initialState.escalatedApprovals) {
44899
44939
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
44900
44940
  initialState.escalatedApprovals.forEach((data, requestId) => {
44901
- _optionalChain([callbacks, 'access', _1016 => _1016.onEscalatedApproval, 'optionalCall', _1017 => _1017(requestId, data)]);
44941
+ _optionalChain([callbacks, 'access', _1020 => _1020.onEscalatedApproval, 'optionalCall', _1021 => _1021(requestId, data)]);
44902
44942
  });
44903
44943
  }
44904
44944
  hasEverStreamedRef.current = true;
@@ -44919,12 +44959,12 @@ function useRealtimeChunkProcessor(options) {
44919
44959
  if (!action) return;
44920
44960
  const accumulator = accumulatorRef.current;
44921
44961
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
44922
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1018 => _1018.onSegmentsUpdate, 'optionalCall', _1019 => _1019(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44962
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1022 => _1022.onSegmentsUpdate, 'optionalCall', _1023 => _1023(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44923
44963
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
44924
44964
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
44925
44965
  if (isInStreamRef.current) {
44926
44966
  isInStreamRef.current = false;
44927
- _optionalChain([callbacks, 'access', _1020 => _1020.onStreamEnd, 'optionalCall', _1021 => _1021()]);
44967
+ _optionalChain([callbacks, 'access', _1024 => _1024.onStreamEnd, 'optionalCall', _1025 => _1025()]);
44928
44968
  accumulator.resetSegments();
44929
44969
  }
44930
44970
  return;
@@ -44933,16 +44973,16 @@ function useRealtimeChunkProcessor(options) {
44933
44973
  case "message_start":
44934
44974
  isInStreamRef.current = true;
44935
44975
  hasEverStreamedRef.current = true;
44936
- _optionalChain([callbacks, 'access', _1022 => _1022.onStreamStart, 'optionalCall', _1023 => _1023()]);
44976
+ _optionalChain([callbacks, 'access', _1026 => _1026.onStreamStart, 'optionalCall', _1027 => _1027()]);
44937
44977
  accumulator.resetSegments();
44938
44978
  break;
44939
44979
  case "message_end":
44940
44980
  isInStreamRef.current = false;
44941
- _optionalChain([callbacks, 'access', _1024 => _1024.onStreamEnd, 'optionalCall', _1025 => _1025()]);
44981
+ _optionalChain([callbacks, 'access', _1028 => _1028.onStreamEnd, 'optionalCall', _1029 => _1029()]);
44942
44982
  accumulator.resetSegments();
44943
44983
  break;
44944
44984
  case "metadata":
44945
- _optionalChain([callbacks, 'access', _1026 => _1026.onMetadata, 'optionalCall', _1027 => _1027(action)]);
44985
+ _optionalChain([callbacks, 'access', _1030 => _1030.onMetadata, 'optionalCall', _1031 => _1031(action)]);
44946
44986
  break;
44947
44987
  case "text": {
44948
44988
  const segments = accumulator.appendText(action.text);
@@ -44985,7 +45025,7 @@ function useRealtimeChunkProcessor(options) {
44985
45025
  emitSegments(segments);
44986
45026
  } else {
44987
45027
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44988
- _optionalChain([callbacks, 'access', _1028 => _1028.onEscalatedApproval, 'optionalCall', _1029 => _1029(requestId, { command, explanation, approvalType })]);
45028
+ _optionalChain([callbacks, 'access', _1032 => _1032.onEscalatedApproval, 'optionalCall', _1033 => _1033(requestId, { command, explanation, approvalType })]);
44989
45029
  }
44990
45030
  break;
44991
45031
  }
@@ -44997,13 +45037,13 @@ function useRealtimeChunkProcessor(options) {
44997
45037
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
44998
45038
  pendingEscalatedRef.current.set(requestId, {
44999
45039
  command: summary,
45000
- explanation: _optionalChain([required, 'optionalAccess', _1030 => _1030.toolExplanation]),
45040
+ explanation: _optionalChain([required, 'optionalAccess', _1034 => _1034.toolExplanation]),
45001
45041
  approvalType,
45002
45042
  toolCalls
45003
45043
  });
45004
- _optionalChain([callbacks, 'access', _1031 => _1031.onEscalatedApproval, 'optionalCall', _1032 => _1032(requestId, {
45044
+ _optionalChain([callbacks, 'access', _1035 => _1035.onEscalatedApproval, 'optionalCall', _1036 => _1036(requestId, {
45005
45045
  command: summary,
45006
- explanation: _optionalChain([required, 'optionalAccess', _1033 => _1033.toolExplanation]),
45046
+ explanation: _optionalChain([required, 'optionalAccess', _1037 => _1037.toolExplanation]),
45007
45047
  approvalType
45008
45048
  })]);
45009
45049
  break;
@@ -45033,7 +45073,7 @@ function useRealtimeChunkProcessor(options) {
45033
45073
  const status = approved ? "approved" : "rejected";
45034
45074
  if (escalatedData) {
45035
45075
  pendingEscalatedRef.current.delete(requestId);
45036
- _optionalChain([callbacks, 'access', _1034 => _1034.onEscalatedApprovalResult, 'optionalCall', _1035 => _1035(requestId, approved, {
45076
+ _optionalChain([callbacks, 'access', _1038 => _1038.onEscalatedApprovalResult, 'optionalCall', _1039 => _1039(requestId, approved, {
45037
45077
  command: escalatedData.command,
45038
45078
  explanation: escalatedData.explanation,
45039
45079
  approvalType: escalatedData.approvalType
@@ -45079,29 +45119,29 @@ function useRealtimeChunkProcessor(options) {
45079
45119
  emitSegments(accumulator.getSegments());
45080
45120
  }
45081
45121
  }
45082
- _optionalChain([callbacks, 'access', _1036 => _1036.onApprovalResolved, 'optionalCall', _1037 => _1037(requestId, status, approvalType, resolvedByName)]);
45122
+ _optionalChain([callbacks, 'access', _1040 => _1040.onApprovalResolved, 'optionalCall', _1041 => _1041(requestId, status, approvalType, resolvedByName)]);
45083
45123
  break;
45084
45124
  }
45085
45125
  case "error": {
45086
45126
  let message2;
45087
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1038 => _1038.details])) {
45127
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1042 => _1042.details])) {
45088
45128
  try {
45089
- message2 = _optionalChain([JSON, 'access', _1039 => _1039.parse, 'call', _1040 => _1040(action.details), 'optionalAccess', _1041 => _1041.error, 'optionalAccess', _1042 => _1042.message]);
45129
+ message2 = _optionalChain([JSON, 'access', _1043 => _1043.parse, 'call', _1044 => _1044(action.details), 'optionalAccess', _1045 => _1045.error, 'optionalAccess', _1046 => _1046.message]);
45090
45130
  } catch (e52) {
45091
45131
  message2 = action.details;
45092
45132
  }
45093
45133
  }
45094
45134
  const segments = accumulator.addError(action.error, message2);
45095
45135
  emitSegments(segments);
45096
- _optionalChain([callbacks, 'access', _1043 => _1043.onError, 'optionalCall', _1044 => _1044(action.error, message2)]);
45136
+ _optionalChain([callbacks, 'access', _1047 => _1047.onError, 'optionalCall', _1048 => _1048(action.error, message2)]);
45097
45137
  break;
45098
45138
  }
45099
45139
  case "system": {
45100
- _optionalChain([callbacks, 'access', _1045 => _1045.onSystemMessage, 'optionalCall', _1046 => _1046(action.text, { streamSeq })]);
45140
+ _optionalChain([callbacks, 'access', _1049 => _1049.onSystemMessage, 'optionalCall', _1050 => _1050(action.text, { streamSeq })]);
45101
45141
  break;
45102
45142
  }
45103
45143
  case "direct_message": {
45104
- _optionalChain([callbacks, 'access', _1047 => _1047.onDirectMessage, 'optionalCall', _1048 => _1048(action.text, {
45144
+ _optionalChain([callbacks, 'access', _1051 => _1051.onDirectMessage, 'optionalCall', _1052 => _1052(action.text, {
45105
45145
  ownerType: action.ownerType,
45106
45146
  displayName: action.displayName,
45107
45147
  userId: action.userId,
@@ -45110,7 +45150,7 @@ function useRealtimeChunkProcessor(options) {
45110
45150
  break;
45111
45151
  }
45112
45152
  case "message_request":
45113
- _optionalChain([callbacks, 'access', _1049 => _1049.onUserMessage, 'optionalCall', _1050 => _1050(action.text, {
45153
+ _optionalChain([callbacks, 'access', _1053 => _1053.onUserMessage, 'optionalCall', _1054 => _1054(action.text, {
45114
45154
  ownerType: action.ownerType,
45115
45155
  displayName: action.displayName,
45116
45156
  userId: action.userId,
@@ -45119,7 +45159,7 @@ function useRealtimeChunkProcessor(options) {
45119
45159
  })]);
45120
45160
  break;
45121
45161
  case "token_usage":
45122
- _optionalChain([callbacks, 'access', _1051 => _1051.onTokenUsage, 'optionalCall', _1052 => _1052(action.data)]);
45162
+ _optionalChain([callbacks, 'access', _1055 => _1055.onTokenUsage, 'optionalCall', _1056 => _1056(action.data)]);
45123
45163
  break;
45124
45164
  case "context_compaction_start": {
45125
45165
  const standalone = !isInStreamRef.current;
@@ -45134,7 +45174,7 @@ function useRealtimeChunkProcessor(options) {
45134
45174
  break;
45135
45175
  }
45136
45176
  case "dialog_closed":
45137
- _optionalChain([callbacks, 'access', _1053 => _1053.onDialogClosed, 'optionalCall', _1054 => _1054()]);
45177
+ _optionalChain([callbacks, 'access', _1057 => _1057.onDialogClosed, 'optionalCall', _1058 => _1058()]);
45138
45178
  break;
45139
45179
  default:
45140
45180
  break;
@@ -45181,7 +45221,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
45181
45221
  const data = await res.json();
45182
45222
  return _nullishCoalesce(data.commands, () => ( []));
45183
45223
  } catch (err) {
45184
- if (_optionalChain([err, 'optionalAccess', _1055 => _1055.name]) === "AbortError") throw err;
45224
+ if (_optionalChain([err, 'optionalAccess', _1059 => _1059.name]) === "AbortError") throw err;
45185
45225
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
45186
45226
  return [];
45187
45227
  }
@@ -45202,7 +45242,7 @@ function useSlashCommands(prefix, commandsUrl) {
45202
45242
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
45203
45243
  if (!cancelled) setCommands(next);
45204
45244
  } catch (err) {
45205
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1056 => _1056.name]) !== "AbortError") {
45245
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1060 => _1060.name]) !== "AbortError") {
45206
45246
  console.warn("[use-slash-commands] fetch failed:", err);
45207
45247
  }
45208
45248
  } finally {
@@ -45221,7 +45261,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
45221
45261
  const query = _reactquery.useQuery.call(void 0, {
45222
45262
  queryKey: ["chat-slash-commands", commandsUrl],
45223
45263
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
45224
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1057 => _1057.enabled]), () => ( true)),
45264
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1061 => _1061.enabled]), () => ( true)),
45225
45265
  staleTime: Infinity,
45226
45266
  gcTime: Infinity,
45227
45267
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -45257,18 +45297,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
45257
45297
  }
45258
45298
  const data = await res.json();
45259
45299
  return {
45260
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1058 => _1058.greeting]), () => ( null)),
45261
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1059 => _1059.enabledRagTableIds]), () => ( [])),
45262
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1060 => _1060.suggestedQueries]), () => ( []))
45300
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1062 => _1062.greeting]), () => ( null)),
45301
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1063 => _1063.enabledRagTableIds]), () => ( [])),
45302
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1064 => _1064.suggestedQueries]), () => ( []))
45263
45303
  };
45264
45304
  } catch (err) {
45265
- if (_optionalChain([err, 'optionalAccess', _1061 => _1061.name]) === "AbortError") throw err;
45305
+ if (_optionalChain([err, 'optionalAccess', _1065 => _1065.name]) === "AbortError") throw err;
45266
45306
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
45267
45307
  return EMPTY_STATE_FALLBACK;
45268
45308
  }
45269
45309
  }
45270
45310
  function useEmptyStateConfig(emptyStateUrl, options) {
45271
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1062 => _1062.enabled]), () => ( true))) && !!emptyStateUrl;
45311
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1066 => _1066.enabled]), () => ( true))) && !!emptyStateUrl;
45272
45312
  const query = _reactquery.useQuery.call(void 0, {
45273
45313
  queryKey: ["chat-empty-state", emptyStateUrl],
45274
45314
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -45297,7 +45337,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
45297
45337
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
45298
45338
  function uploadWithProgress(url, file, token, onProgress, signal) {
45299
45339
  return new Promise((resolve, reject) => {
45300
- if (_optionalChain([signal, 'optionalAccess', _1063 => _1063.aborted])) {
45340
+ if (_optionalChain([signal, 'optionalAccess', _1067 => _1067.aborted])) {
45301
45341
  reject(new Error("Upload cancelled"));
45302
45342
  return;
45303
45343
  }
@@ -45311,7 +45351,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45311
45351
  xhr.removeEventListener("error", handleError);
45312
45352
  xhr.removeEventListener("abort", handleAbort);
45313
45353
  xhr.removeEventListener("timeout", handleTimeout);
45314
- _optionalChain([signal, 'optionalAccess', _1064 => _1064.removeEventListener, 'call', _1065 => _1065("abort", handleSignalAbort)]);
45354
+ _optionalChain([signal, 'optionalAccess', _1068 => _1068.removeEventListener, 'call', _1069 => _1069("abort", handleSignalAbort)]);
45315
45355
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
45316
45356
  };
45317
45357
  const handleProgress = (event) => {
@@ -45347,7 +45387,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45347
45387
  const handleSignalAbort = () => {
45348
45388
  xhr.abort();
45349
45389
  };
45350
- _optionalChain([signal, 'optionalAccess', _1066 => _1066.addEventListener, 'call', _1067 => _1067("abort", handleSignalAbort, { once: true })]);
45390
+ _optionalChain([signal, 'optionalAccess', _1070 => _1070.addEventListener, 'call', _1071 => _1071("abort", handleSignalAbort, { once: true })]);
45351
45391
  xhr.upload.addEventListener("progress", handleProgress);
45352
45392
  xhr.addEventListener("load", handleLoad);
45353
45393
  xhr.addEventListener("error", handleError);
@@ -45391,12 +45431,12 @@ function useChatAttachments() {
45391
45431
  try {
45392
45432
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
45393
45433
  } catch (err) {
45394
- if (_optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal, 'access', _1069 => _1069.aborted])) return;
45434
+ if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
45395
45435
  throw new Error(
45396
45436
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
45397
45437
  );
45398
45438
  }
45399
- if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
45439
+ if (_optionalChain([ctrl, 'optionalAccess', _1074 => _1074.signal, 'access', _1075 => _1075.aborted])) return;
45400
45440
  if (!sniffed) {
45401
45441
  throw new Error("Unrecognized file format");
45402
45442
  }
@@ -45410,7 +45450,7 @@ function useChatAttachments() {
45410
45450
  const urlResp = await _chunkDCIB6AK3cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
45411
45451
  method: "POST",
45412
45452
  headers: { "Content-Type": "application/json" },
45413
- signal: _optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal]),
45453
+ signal: _optionalChain([ctrl, 'optionalAccess', _1076 => _1076.signal]),
45414
45454
  body: JSON.stringify({
45415
45455
  fileName: att.file.name,
45416
45456
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -45436,9 +45476,9 @@ function useChatAttachments() {
45436
45476
  (pct) => {
45437
45477
  updateOne(att.id, { progress: pct });
45438
45478
  },
45439
- _optionalChain([ctrl, 'optionalAccess', _1073 => _1073.signal])
45479
+ _optionalChain([ctrl, 'optionalAccess', _1077 => _1077.signal])
45440
45480
  );
45441
- if (_optionalChain([ctrl, 'optionalAccess', _1074 => _1074.signal, 'access', _1075 => _1075.aborted])) return;
45481
+ if (_optionalChain([ctrl, 'optionalAccess', _1078 => _1078.signal, 'access', _1079 => _1079.aborted])) return;
45442
45482
  updateOne(att.id, {
45443
45483
  status: "ready",
45444
45484
  progress: 100,
@@ -45446,7 +45486,7 @@ function useChatAttachments() {
45446
45486
  viewToken: mintData.viewToken
45447
45487
  });
45448
45488
  } catch (err) {
45449
- if (_optionalChain([ctrl, 'optionalAccess', _1076 => _1076.signal, 'access', _1077 => _1077.aborted])) return;
45489
+ if (_optionalChain([ctrl, 'optionalAccess', _1080 => _1080.signal, 'access', _1081 => _1081.aborted])) return;
45450
45490
  const message2 = err instanceof Error ? err.message : String(err);
45451
45491
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
45452
45492
  } finally {
@@ -45597,7 +45637,7 @@ var ANON_DEFAULTS = {
45597
45637
  function useResolveChatIdentity(enabled) {
45598
45638
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45599
45639
  const url = runtime.endpoints.identityUrl;
45600
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1078 => _1078.email]), () => ( null));
45640
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1082 => _1082.email]), () => ( null));
45601
45641
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45602
45642
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45603
45643
  _react.useEffect.call(void 0, () => {
@@ -45688,7 +45728,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45688
45728
  yield chunk;
45689
45729
  }
45690
45730
  } catch (err) {
45691
- if (_optionalChain([err, 'optionalAccess', _1079 => _1079.name]) === "AbortError" || ctrl.signal.aborted) {
45731
+ if (_optionalChain([err, 'optionalAccess', _1083 => _1083.name]) === "AbortError" || ctrl.signal.aborted) {
45692
45732
  return;
45693
45733
  }
45694
45734
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45739,7 +45779,7 @@ function useChat({
45739
45779
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45740
45780
  onMessagesChangeRef.current = onMessagesChange;
45741
45781
  _react.useEffect.call(void 0, () => {
45742
- _optionalChain([onMessagesChangeRef, 'access', _1080 => _1080.current, 'optionalCall', _1081 => _1081(messages)]);
45782
+ _optionalChain([onMessagesChangeRef, 'access', _1084 => _1084.current, 'optionalCall', _1085 => _1085(messages)]);
45743
45783
  }, [messages]);
45744
45784
  const {
45745
45785
  streamMessage,
@@ -45776,7 +45816,7 @@ function useChat({
45776
45816
  name: "You",
45777
45817
  content: text,
45778
45818
  timestamp: /* @__PURE__ */ new Date(),
45779
- ..._optionalChain([options, 'optionalAccess', _1082 => _1082.hidden]) ? { hidden: true } : {}
45819
+ ..._optionalChain([options, 'optionalAccess', _1086 => _1086.hidden]) ? { hidden: true } : {}
45780
45820
  };
45781
45821
  addMessage(userMessage);
45782
45822
  setIsTyping(true);
@@ -45838,7 +45878,7 @@ function useChat({
45838
45878
  currentTextSegment = "";
45839
45879
  }
45840
45880
  const seg = segment;
45841
- const proposalId = _optionalChain([seg, 'access', _1083 => _1083.data, 'optionalAccess', _1084 => _1084.requestId]);
45881
+ const proposalId = _optionalChain([seg, 'access', _1087 => _1087.data, 'optionalAccess', _1088 => _1088.requestId]);
45842
45882
  const updateApprovalMessage = (transform) => {
45843
45883
  setMessages((prev) => {
45844
45884
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -45847,7 +45887,7 @@ function useChat({
45847
45887
  if (!Array.isArray(m.content)) continue;
45848
45888
  const segments = m.content;
45849
45889
  const hasMatch = segments.some(
45850
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]) === proposalId
45890
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1089 => _1089.data, 'optionalAccess', _1090 => _1090.requestId]) === proposalId
45851
45891
  );
45852
45892
  if (!hasMatch) continue;
45853
45893
  const next = [...prev];
@@ -45889,11 +45929,11 @@ function useChat({
45889
45929
  if (!Array.isArray(m.content)) continue;
45890
45930
  const segments = m.content;
45891
45931
  const hasMatch = segments.some(
45892
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1087 => _1087.data, 'optionalAccess', _1088 => _1088.requestId]) === decision.proposalId
45932
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1091 => _1091.data, 'optionalAccess', _1092 => _1092.requestId]) === decision.proposalId
45893
45933
  );
45894
45934
  if (!hasMatch) continue;
45895
45935
  const flipped = segments.map(
45896
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1089 => _1089.data, 'optionalAccess', _1090 => _1090.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45936
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1093 => _1093.data, 'optionalAccess', _1094 => _1094.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45897
45937
  );
45898
45938
  const next = [...prev];
45899
45939
  next[i] = { ...m, content: flipped };
@@ -46055,8 +46095,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46055
46095
  })),
46056
46096
  { role: "user", content: message2 }
46057
46097
  ];
46058
- const targetPath = _optionalChain([extra, 'optionalAccess', _1091 => _1091.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46059
- const requestBody = _optionalChain([extra, 'optionalAccess', _1092 => _1092.approvalAction]) ? {
46098
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1095 => _1095.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46099
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1096 => _1096.approvalAction]) ? {
46060
46100
  proposal_id: extra.approvalAction.proposalId,
46061
46101
  action: extra.approvalAction.action,
46062
46102
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -46065,8 +46105,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46065
46105
  }))
46066
46106
  } : {
46067
46107
  messages: apiMessages,
46068
- ..._optionalChain([extra, 'optionalAccess', _1093 => _1093.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46069
- ..._optionalChain([extra, 'optionalAccess', _1094 => _1094.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46108
+ ..._optionalChain([extra, 'optionalAccess', _1097 => _1097.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46109
+ ..._optionalChain([extra, 'optionalAccess', _1098 => _1098.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46070
46110
  };
46071
46111
  const response = await _chunkDCIB6AK3cjs.embedAuthedFetch.call(void 0, targetPath, {
46072
46112
  method: "POST",
@@ -46076,7 +46116,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46076
46116
  if (!response.ok) {
46077
46117
  throw new Error(`Chat request failed: ${response.status}`);
46078
46118
  }
46079
- const reader = _optionalChain([response, 'access', _1095 => _1095.body, 'optionalAccess', _1096 => _1096.getReader, 'call', _1097 => _1097()]);
46119
+ const reader = _optionalChain([response, 'access', _1099 => _1099.body, 'optionalAccess', _1100 => _1100.getReader, 'call', _1101 => _1101()]);
46080
46120
  if (!reader) throw new Error("No response body");
46081
46121
  const decoder = new TextDecoder();
46082
46122
  let buffer = "";
@@ -46159,7 +46199,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46159
46199
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
46160
46200
  const result = _nullishCoalesce(meta.result, () => ( null));
46161
46201
  const card = _nullishCoalesce(meta.card, () => ( null));
46162
- if (_optionalChain([card, 'optionalAccess', _1098 => _1098.ref, 'optionalAccess', _1099 => _1099.id]) && _optionalChain([card, 'optionalAccess', _1100 => _1100.type])) {
46202
+ if (_optionalChain([card, 'optionalAccess', _1102 => _1102.ref, 'optionalAccess', _1103 => _1103.id]) && _optionalChain([card, 'optionalAccess', _1104 => _1104.type])) {
46163
46203
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
46164
46204
  const key = buildChatRefKey(card.type, card.ref.id);
46165
46205
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -46172,8 +46212,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46172
46212
  willAutoContinue: meta.willAutoContinue === true,
46173
46213
  ...toolName ? { toolName } : {},
46174
46214
  ...result ? { result } : {},
46175
- ..._optionalChain([card, 'optionalAccess', _1101 => _1101.marker]) ? { marker: card.marker } : {},
46176
- ..._optionalChain([card, 'optionalAccess', _1102 => _1102.ref]) ? { cardRef: card.ref } : {},
46215
+ ..._optionalChain([card, 'optionalAccess', _1105 => _1105.marker]) ? { marker: card.marker } : {},
46216
+ ..._optionalChain([card, 'optionalAccess', _1106 => _1106.ref]) ? { cardRef: card.ref } : {},
46177
46217
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
46178
46218
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
46179
46219
  };
@@ -46292,7 +46332,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
46292
46332
  var chatStorageKey = (source) => {
46293
46333
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
46294
46334
  const auth = _chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, );
46295
- if (_optionalChain([auth, 'optionalAccess', _1103 => _1103.email])) {
46335
+ if (_optionalChain([auth, 'optionalAccess', _1107 => _1107.email])) {
46296
46336
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
46297
46337
  }
46298
46338
  return base;
@@ -46347,7 +46387,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46347
46387
  const { active = true } = runtimeOptions;
46348
46388
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
46349
46389
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
46350
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1104 => _1104.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46390
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1108 => _1108.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46351
46391
  const persistedRef = _react.useRef.call(void 0, null);
46352
46392
  if (persistedRef.current === null) {
46353
46393
  pruneStaleChatStorage(source);
@@ -46452,7 +46492,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46452
46492
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
46453
46493
  sources = sourcesMapRef.current.get(lookupIdx);
46454
46494
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
46455
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1105 => _1105.current, 'access', _1106 => _1106.get, 'call', _1107 => _1107(lookupIdx), 'optionalAccess', _1108 => _1108.scrollAnchor]), () => ( void 0));
46495
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1109 => _1109.current, 'access', _1110 => _1110.get, 'call', _1111 => _1111(lookupIdx), 'optionalAccess', _1112 => _1112.scrollAnchor]), () => ( void 0));
46456
46496
  }
46457
46497
  return {
46458
46498
  id: m.id,
@@ -46500,7 +46540,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46500
46540
  );
46501
46541
  return;
46502
46542
  }
46503
- const refSlug = typeof _optionalChain([reference, 'access', _1109 => _1109.metadata, 'optionalAccess', _1110 => _1110.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46543
+ const refSlug = typeof _optionalChain([reference, 'access', _1113 => _1113.metadata, 'optionalAccess', _1114 => _1114.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46504
46544
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
46505
46545
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
46506
46546
  const text = `/${cmdId} display "${escaped}"`;
@@ -46572,18 +46612,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46572
46612
  clearMessages,
46573
46613
  streamingPhase,
46574
46614
  /** Provider key for the lib's `<ModelDisplay>` icon. */
46575
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.provider]), () => ( null)),
46576
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1112 => _1112.modelLabel]), () => ( null)),
46577
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.contextWindowMaxTokens]), () => ( null)),
46615
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.provider]), () => ( null)),
46616
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.modelLabel]), () => ( null)),
46617
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1117 => _1117.contextWindowMaxTokens]), () => ( null)),
46578
46618
  /** Input tokens (known after server's message_start frame; null until). */
46579
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1114 => _1114.inputTokens]), () => ( null)),
46619
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1118 => _1118.inputTokens]), () => ( null)),
46580
46620
  /** Output tokens (known only after server's trailing usage frame). */
46581
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.outputTokens]), () => ( null)),
46621
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1119 => _1119.outputTokens]), () => ( null)),
46582
46622
  /** Cache hit % (read / total-input × 100). null during streaming. */
46583
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.cacheHitRatePct]), () => ( null)),
46623
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1120 => _1120.cacheHitRatePct]), () => ( null)),
46584
46624
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46585
46625
  * token counts). null until the trailing usage frame lands. */
46586
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1117 => _1117.breakdown]), () => ( null)),
46626
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1121 => _1121.breakdown]), () => ( null)),
46587
46627
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46588
46628
  // Guide mode currently keeps its history in `localStorage` opaquely
46589
46629
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46641,15 +46681,15 @@ var noopRejectRequest = async (_id, _reason) => {
46641
46681
 
46642
46682
  // src/components/chat/utils/process-historical-messages.ts
46643
46683
  function getOwnerDisplayName(owner) {
46644
- if (_optionalChain([owner, 'optionalAccess', _1118 => _1118.type]) === OWNER_TYPE.ADMIN && owner.user) {
46684
+ if (_optionalChain([owner, 'optionalAccess', _1122 => _1122.type]) === OWNER_TYPE.ADMIN && owner.user) {
46645
46685
  const { firstName, lastName } = owner.user;
46646
46686
  const name = [firstName, lastName].filter(Boolean).join(" ");
46647
46687
  if (name) return name;
46648
46688
  }
46649
- return _optionalChain([owner, 'optionalAccess', _1119 => _1119.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46689
+ return _optionalChain([owner, 'optionalAccess', _1123 => _1123.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46650
46690
  }
46651
46691
  function getOwnerAvatar(owner) {
46652
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1120 => _1120.user, 'optionalAccess', _1121 => _1121.image, 'optionalAccess', _1122 => _1122.imageUrl]), () => ( void 0));
46692
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1124 => _1124.user, 'optionalAccess', _1125 => _1125.image, 'optionalAccess', _1126 => _1126.imageUrl]), () => ( void 0));
46653
46693
  }
46654
46694
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46655
46695
  messageDataArray.forEach((data) => {
@@ -46712,14 +46752,14 @@ function processHistoricalMessages(messages, options = {}) {
46712
46752
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46713
46753
  return;
46714
46754
  }
46715
- const isUserMessage = _optionalChain([msg, 'access', _1123 => _1123.owner, 'optionalAccess', _1124 => _1124.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1125 => _1125.owner, 'optionalAccess', _1126 => _1126.type]) === OWNER_TYPE.ADMIN;
46755
+ const isUserMessage = _optionalChain([msg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN;
46716
46756
  if (isUserMessage) {
46717
46757
  flushAssistantMessage();
46718
- const userAuthorType = _optionalChain([msg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46758
+ const userAuthorType = _optionalChain([msg, 'access', _1131 => _1131.owner, 'optionalAccess', _1132 => _1132.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46719
46759
  messageDataArray.forEach((data) => {
46720
46760
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46721
46761
  const rawContext = data.contextItems;
46722
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1129 => _1129.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1130 => _1130.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46762
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1133 => _1133.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1134 => _1134.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46723
46763
  processedMessages.push({
46724
46764
  id: msg.id,
46725
46765
  role: "user",
@@ -46743,7 +46783,7 @@ function processHistoricalMessages(messages, options = {}) {
46743
46783
  });
46744
46784
  const nextMsg = messages[index + 1];
46745
46785
  const isLastMessage = index === messages.length - 1;
46746
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1131 => _1131.owner, 'optionalAccess', _1132 => _1132.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1133 => _1133.owner, 'optionalAccess', _1134 => _1134.type]) === OWNER_TYPE.ADMIN);
46786
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1135 => _1135.owner, 'optionalAccess', _1136 => _1136.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1137 => _1137.owner, 'optionalAccess', _1138 => _1138.type]) === OWNER_TYPE.ADMIN);
46747
46787
  if (isLastMessage || nextIsFromUser) {
46748
46788
  flushAssistantMessage();
46749
46789
  }
@@ -46853,7 +46893,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46853
46893
  }
46854
46894
  }
46855
46895
  } else {
46856
- _optionalChain([escalatedApprovals, 'optionalAccess', _1135 => _1135.set, 'call', _1136 => _1136(data.approvalRequestId, {
46896
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1139 => _1139.set, 'call', _1140 => _1140(data.approvalRequestId, {
46857
46897
  command: data.command || "",
46858
46898
  explanation: data.explanation,
46859
46899
  approvalType,
@@ -46867,8 +46907,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46867
46907
  const existingStatus = approvalStatuses[data.approvalRequestId];
46868
46908
  const status = existingStatus || (data.approved ? "approved" : "rejected");
46869
46909
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
46870
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1137 => _1137.get, 'call', _1138 => _1138(data.approvalRequestId)]);
46871
- if (_optionalChain([escalatedData, 'optionalAccess', _1139 => _1139.toolCalls]) && escalatedData.toolCalls.length > 0) {
46910
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1141 => _1141.get, 'call', _1142 => _1142(data.approvalRequestId)]);
46911
+ if (_optionalChain([escalatedData, 'optionalAccess', _1143 => _1143.toolCalls]) && escalatedData.toolCalls.length > 0) {
46872
46912
  if (batchApprovalsEnabled) {
46873
46913
  accumulator.addApprovalBatch(
46874
46914
  data.approvalRequestId,
@@ -46890,7 +46930,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46890
46930
  );
46891
46931
  }
46892
46932
  }
46893
- _optionalChain([escalatedApprovals, 'optionalAccess', _1140 => _1140.delete, 'call', _1141 => _1141(data.approvalRequestId)]);
46933
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1144 => _1144.delete, 'call', _1145 => _1145(data.approvalRequestId)]);
46894
46934
  break;
46895
46935
  }
46896
46936
  if (escalatedData) {
@@ -46899,7 +46939,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46899
46939
  explanation: escalatedData.explanation,
46900
46940
  approvalType: escalatedData.approvalType
46901
46941
  });
46902
- _optionalChain([escalatedApprovals, 'optionalAccess', _1142 => _1142.delete, 'call', _1143 => _1143(data.approvalRequestId)]);
46942
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1146 => _1146.delete, 'call', _1147 => _1147(data.approvalRequestId)]);
46903
46943
  }
46904
46944
  const before = accumulator.getSegments();
46905
46945
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -46915,9 +46955,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46915
46955
  case MESSAGE_TYPE.ERROR:
46916
46956
  if ("error" in data) {
46917
46957
  let message2;
46918
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1144 => _1144.details])) {
46958
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1148 => _1148.details])) {
46919
46959
  try {
46920
- message2 = _optionalChain([JSON, 'access', _1145 => _1145.parse, 'call', _1146 => _1146(data.details), 'optionalAccess', _1147 => _1147.error, 'optionalAccess', _1148 => _1148.message]);
46960
+ message2 = _optionalChain([JSON, 'access', _1149 => _1149.parse, 'call', _1150 => _1150(data.details), 'optionalAccess', _1151 => _1151.error, 'optionalAccess', _1152 => _1152.message]);
46921
46961
  } catch (e59) {
46922
46962
  message2 = data.details;
46923
46963
  }
@@ -47000,14 +47040,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47000
47040
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47001
47041
  return;
47002
47042
  }
47003
- const isUserMessage = _optionalChain([msg, 'access', _1149 => _1149.owner, 'optionalAccess', _1150 => _1150.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1151 => _1151.owner, 'optionalAccess', _1152 => _1152.type]) === OWNER_TYPE.ADMIN;
47043
+ const isUserMessage = _optionalChain([msg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN;
47004
47044
  if (isUserMessage) {
47005
47045
  flushAssistantMessage();
47006
- const userAuthorType = _optionalChain([msg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47046
+ const userAuthorType = _optionalChain([msg, 'access', _1157 => _1157.owner, 'optionalAccess', _1158 => _1158.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47007
47047
  messageDataArray.forEach((data) => {
47008
47048
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47009
47049
  const rawContext = data.contextItems;
47010
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1155 => _1155.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1156 => _1156.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47050
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1159 => _1159.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1160 => _1160.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47011
47051
  processedMessages.push({
47012
47052
  id: msg.id,
47013
47053
  role: "user",
@@ -47031,7 +47071,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47031
47071
  });
47032
47072
  const nextMsg = messages[index + 1];
47033
47073
  const isLastMessage = index === messages.length - 1;
47034
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1157 => _1157.owner, 'optionalAccess', _1158 => _1158.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1159 => _1159.owner, 'optionalAccess', _1160 => _1160.type]) === OWNER_TYPE.ADMIN);
47074
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1161 => _1161.owner, 'optionalAccess', _1162 => _1162.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1163 => _1163.owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN);
47035
47075
  if (isLastMessage || nextIsFromUser) {
47036
47076
  flushAssistantMessage();
47037
47077
  }
@@ -47367,7 +47407,7 @@ function useNatsChatAdapter(config, options = {}) {
47367
47407
  }, [active, fetchDialogs, loadDialogsPage]);
47368
47408
  const sendMessage = _react.useCallback.call(void 0,
47369
47409
  async (text, sendOptions) => {
47370
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1161 => _1161.hidden]), () => ( false));
47410
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1165 => _1165.hidden]), () => ( false));
47371
47411
  setMessages((prev) => [
47372
47412
  ...prev,
47373
47413
  {
@@ -47531,11 +47571,11 @@ function useNatsChatAdapter(config, options = {}) {
47531
47571
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47532
47572
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47533
47573
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
47534
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1162 => _1162.provider]), () => ( modelProvider)), () => ( null)),
47535
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1163 => _1163.modelLabel]), () => ( modelLabel)), () => ( null)),
47536
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1164 => _1164.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1165 => _1165.contextWindowMaxTokens]))), () => ( null)),
47537
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1166 => _1166.inputTokensSize]), () => ( null)),
47538
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1167 => _1167.outputTokensSize]), () => ( null)),
47574
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1166 => _1166.provider]), () => ( modelProvider)), () => ( null)),
47575
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1167 => _1167.modelLabel]), () => ( modelLabel)), () => ( null)),
47576
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1168 => _1168.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1169 => _1169.contextWindowMaxTokens]))), () => ( null)),
47577
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1170 => _1170.inputTokensSize]), () => ( null)),
47578
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1171 => _1171.outputTokensSize]), () => ( null)),
47539
47579
  currentCacheHitRatePct: null,
47540
47580
  currentUsageBreakdown: null,
47541
47581
  // Dialog management
@@ -47783,7 +47823,7 @@ function extractIncompleteMessageState(lastMessage) {
47783
47823
  break;
47784
47824
  case "approval_batch": {
47785
47825
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
47786
- (c) => _optionalChain([segment, 'access', _1168 => _1168.data, 'access', _1169 => _1169.executions, 'optionalAccess', _1170 => _1170[c.toolExecutionRequestId], 'optionalAccess', _1171 => _1171.status]) === "done"
47826
+ (c) => _optionalChain([segment, 'access', _1172 => _1172.data, 'access', _1173 => _1173.executions, 'optionalAccess', _1174 => _1174[c.toolExecutionRequestId], 'optionalAccess', _1175 => _1175.status]) === "done"
47787
47827
  );
47788
47828
  if (segment.status !== "rejected" && !allDone) {
47789
47829
  hasIncompleteState = true;
@@ -47851,20 +47891,20 @@ function mergeHistoryWithRealtime(input) {
47851
47891
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
47852
47892
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
47853
47893
  const trailing = processedHistory[processedHistory.length - 1];
47854
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1172 => _1172.role]) === "assistant" ? trailing : null;
47855
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1173 => _1173.content, 'access', _1174 => _1174.find, 'call', _1175 => _1175((s) => s.type === "approval_batch"), 'optionalAccess', _1176 => _1176.data, 'optionalAccess', _1177 => _1177.approvalRequestId]), () => ( null)) : null;
47894
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1176 => _1176.role]) === "assistant" ? trailing : null;
47895
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1177 => _1177.content, 'access', _1178 => _1178.find, 'call', _1179 => _1179((s) => s.type === "approval_batch"), 'optionalAccess', _1180 => _1180.data, 'optionalAccess', _1181 => _1181.approvalRequestId]), () => ( null)) : null;
47856
47896
  let processedToUse = processedHistory;
47857
47897
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
47858
47898
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
47859
47899
  if (historyBatchId) {
47860
47900
  const batchTwins = existingMessages.filter(
47861
47901
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
47862
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1178 => _1178.data, 'optionalAccess', _1179 => _1179.approvalRequestId]) === historyBatchId
47902
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1182 => _1182.data, 'optionalAccess', _1183 => _1183.approvalRequestId]) === historyBatchId
47863
47903
  )
47864
47904
  );
47865
47905
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
47866
47906
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
47867
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1180 => _1180.content])) ? historyTrailingAssistant.content.length : 0;
47907
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1184 => _1184.content])) ? historyTrailingAssistant.content.length : 0;
47868
47908
  const realtimeSize = existingWithSameBatch.content.length;
47869
47909
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
47870
47910
  processedToUse = processedHistory.slice(0, -1);
@@ -47880,16 +47920,16 @@ function mergeHistoryWithRealtime(input) {
47880
47920
  if (pinnedSyntheticIds.has(m.id)) return true;
47881
47921
  if (droppedSyntheticIds.has(m.id)) return false;
47882
47922
  if (processedIds.has(m.id)) return false;
47883
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1181 => _1181.has, 'call', _1182 => _1182(m.id)])) return false;
47923
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1185 => _1185.has, 'call', _1186 => _1186(m.id)])) return false;
47884
47924
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
47885
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1183 => _1183.timestamp, 'optionalAccess', _1184 => _1184.getTime, 'call', _1185 => _1185()]), () => ( 0))) <= historyFetchedAt;
47925
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1187 => _1187.timestamp, 'optionalAccess', _1188 => _1188.getTime, 'call', _1189 => _1189()]), () => ( 0))) <= historyFetchedAt;
47886
47926
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
47887
47927
  }
47888
47928
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
47889
47929
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
47890
47930
  return false;
47891
47931
  }
47892
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1186 => _1186.timestamp, 'optionalAccess', _1187 => _1187.getTime, 'call', _1188 => _1188()]), () => ( 0))) <= historyFetchedAt;
47932
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1190 => _1190.timestamp, 'optionalAccess', _1191 => _1191.getTime, 'call', _1192 => _1192()]), () => ( 0))) <= historyFetchedAt;
47893
47933
  if (covered) return false;
47894
47934
  }
47895
47935
  return true;
@@ -48109,7 +48149,7 @@ function useChatDialogManager({
48109
48149
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
48110
48150
  if (restoreTarget) {
48111
48151
  try {
48112
- await _optionalChain([unarchiveDialog, 'optionalCall', _1189 => _1189(restoreTarget.id)]);
48152
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1193 => _1193(restoreTarget.id)]);
48113
48153
  } catch (err) {
48114
48154
  console.error("[useChatDialogManager] unarchive failed:", err);
48115
48155
  return;
@@ -48504,6 +48544,7 @@ function EmbeddableChatInner({
48504
48544
  };
48505
48545
  }, [isOpen, shellLess]);
48506
48546
  const chatInputRef = _react.useRef.call(void 0, null);
48547
+ const quickActionDraftRef = _react.useRef.call(void 0, null);
48507
48548
  const slashCommandsProp = _react.useMemo.call(void 0,
48508
48549
  () => ({
48509
48550
  fetchCommands: (prefix, signal) => fetchSlashCommands(prefix, signal, commandsUrl),
@@ -48518,7 +48559,7 @@ function EmbeddableChatInner({
48518
48559
  }),
48519
48560
  [commandsUrl]
48520
48561
  );
48521
- const userName = _optionalChain([identityUser, 'optionalAccess', _1190 => _1190.firstName, 'optionalAccess', _1191 => _1191.trim, 'call', _1192 => _1192()]) || _optionalChain([identityUser, 'optionalAccess', _1193 => _1193.name, 'optionalAccess', _1194 => _1194.split, 'call', _1195 => _1195(" "), 'access', _1196 => _1196[0], 'optionalAccess', _1197 => _1197.trim, 'call', _1198 => _1198()]) || void 0;
48562
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1194 => _1194.firstName, 'optionalAccess', _1195 => _1195.trim, 'call', _1196 => _1196()]) || _optionalChain([identityUser, 'optionalAccess', _1197 => _1197.name, 'optionalAccess', _1198 => _1198.split, 'call', _1199 => _1199(" "), 'access', _1200 => _1200[0], 'optionalAccess', _1201 => _1201.trim, 'call', _1202 => _1202()]) || void 0;
48522
48563
  const effectiveModes = _react.useMemo.call(void 0, () => {
48523
48564
  if (modes) return modes;
48524
48565
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48527,19 +48568,19 @@ function EmbeddableChatInner({
48527
48568
  const mingoCaps = _react.useMemo.call(void 0, () => {
48528
48569
  if (mingoState) {
48529
48570
  return {
48530
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1199 => _1199.canRename]), () => ( false)),
48531
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1200 => _1200.canArchive]), () => ( false)),
48532
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1201 => _1201.fetchArchivedDialogs]),
48533
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1202 => _1202.unarchiveDialog]),
48534
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1203 => _1203.searchQuery]),
48535
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1204 => _1204.onSearchChange])
48571
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1203 => _1203.canRename]), () => ( false)),
48572
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1204 => _1204.canArchive]), () => ( false)),
48573
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1205 => _1205.fetchArchivedDialogs]),
48574
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1206 => _1206.unarchiveDialog]),
48575
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1207 => _1207.searchQuery]),
48576
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1208 => _1208.onSearchChange])
48536
48577
  };
48537
48578
  }
48538
48579
  return {
48539
- canRename: !!_optionalChain([effectiveModes, 'access', _1205 => _1205.mingo, 'optionalAccess', _1206 => _1206.renameDialog]),
48540
- canArchive: !!_optionalChain([effectiveModes, 'access', _1207 => _1207.mingo, 'optionalAccess', _1208 => _1208.archiveDialog]),
48541
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1209 => _1209.mingo, 'optionalAccess', _1210 => _1210.fetchArchivedDialogs]),
48542
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1211 => _1211.mingo, 'optionalAccess', _1212 => _1212.unarchiveDialog]),
48580
+ canRename: !!_optionalChain([effectiveModes, 'access', _1209 => _1209.mingo, 'optionalAccess', _1210 => _1210.renameDialog]),
48581
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1211 => _1211.mingo, 'optionalAccess', _1212 => _1212.archiveDialog]),
48582
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1213 => _1213.mingo, 'optionalAccess', _1214 => _1214.fetchArchivedDialogs]),
48583
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1215 => _1215.mingo, 'optionalAccess', _1216 => _1216.unarchiveDialog]),
48543
48584
  searchQuery: void 0,
48544
48585
  onSearchChange: void 0
48545
48586
  };
@@ -48553,7 +48594,7 @@ function EmbeddableChatInner({
48553
48594
  if (controlledActiveMode === void 0) {
48554
48595
  setUncontrolledActiveMode(next);
48555
48596
  }
48556
- _optionalChain([onActiveModeChange, 'optionalCall', _1213 => _1213(next)]);
48597
+ _optionalChain([onActiveModeChange, 'optionalCall', _1217 => _1217(next)]);
48557
48598
  },
48558
48599
  [controlledActiveMode, onActiveModeChange]
48559
48600
  );
@@ -48607,7 +48648,7 @@ function EmbeddableChatInner({
48607
48648
  clear: clearAttachments
48608
48649
  } = useChatAttachments();
48609
48650
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48610
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1214 => _1214.maxItems]), () => ( 10));
48651
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1218 => _1218.maxItems]), () => ( 10));
48611
48652
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48612
48653
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48613
48654
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48624,10 +48665,10 @@ function EmbeddableChatInner({
48624
48665
  }, [activeDialogId, activeMode]);
48625
48666
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48626
48667
  const m = /* @__PURE__ */ new Map();
48627
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1215 => _1215.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48668
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1219 => _1219.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48628
48669
  return m;
48629
- }, [_optionalChain([contextPicker, 'optionalAccess', _1216 => _1216.entityTypes])]);
48630
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1217 => _1217.entityTypes]);
48670
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1220 => _1220.entityTypes])]);
48671
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1221 => _1221.entityTypes]);
48631
48672
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48632
48673
  const byType = /* @__PURE__ */ new Map();
48633
48674
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48639,7 +48680,7 @@ function EmbeddableChatInner({
48639
48680
  if (mentionActiveRef.current) {
48640
48681
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48641
48682
  if (contextItems.length >= contextMaxItems) return;
48642
- _optionalChain([chatInputRef, 'access', _1218 => _1218.current, 'optionalAccess', _1219 => _1219.commitMention, 'call', _1220 => _1220(mentionTokenOf(key, mentionMarkerByType), {
48683
+ _optionalChain([chatInputRef, 'access', _1222 => _1222.current, 'optionalAccess', _1223 => _1223.commitMention, 'call', _1224 => _1224(mentionTokenOf(key, mentionMarkerByType), {
48643
48684
  label: item.label,
48644
48685
  icon: resolveContextIcon(item)
48645
48686
  })]);
@@ -48661,9 +48702,9 @@ function EmbeddableChatInner({
48661
48702
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48662
48703
  if (mentionKeysRef.current.has(key)) {
48663
48704
  mentionKeysRef.current.delete(key);
48664
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1221 => _1221.current, 'optionalAccess', _1222 => _1222.getValue, 'call', _1223 => _1223()]), () => ( ""));
48705
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1225 => _1225.current, 'optionalAccess', _1226 => _1226.getValue, 'call', _1227 => _1227()]), () => ( ""));
48665
48706
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48666
- _optionalChain([chatInputRef, 'access', _1224 => _1224.current, 'optionalAccess', _1225 => _1225.setValue, 'call', _1226 => _1226(next)]);
48707
+ _optionalChain([chatInputRef, 'access', _1228 => _1228.current, 'optionalAccess', _1229 => _1229.setValue, 'call', _1230 => _1230(next)]);
48667
48708
  }
48668
48709
  }, [mentionMarkerByType]);
48669
48710
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48680,7 +48721,7 @@ function EmbeddableChatInner({
48680
48721
  }, []);
48681
48722
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48682
48723
  if (mentionActiveRef.current) {
48683
- _optionalChain([chatInputRef, 'access', _1227 => _1227.current, 'optionalAccess', _1228 => _1228.removeMentionTrigger, 'call', _1229 => _1229()]);
48724
+ _optionalChain([chatInputRef, 'access', _1231 => _1231.current, 'optionalAccess', _1232 => _1232.removeMentionTrigger, 'call', _1233 => _1233()]);
48684
48725
  }
48685
48726
  setContextPickerOpen(false);
48686
48727
  setMentionQuery(null);
@@ -48714,8 +48755,8 @@ function EmbeddableChatInner({
48714
48755
  []
48715
48756
  );
48716
48757
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
48717
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1230 => _1230.firstName]), _optionalChain([identityUser, 'optionalAccess', _1231 => _1231.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1232 => _1232.name, 'optionalAccess', _1233 => _1233.trim, 'call', _1234 => _1234()]) || void 0 : void 0;
48718
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1235 => _1235.avatarUrl, 'optionalAccess', _1236 => _1236.trim, 'call', _1237 => _1237()]) || void 0 : void 0;
48758
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1234 => _1234.firstName]), _optionalChain([identityUser, 'optionalAccess', _1235 => _1235.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1236 => _1236.name, 'optionalAccess', _1237 => _1237.trim, 'call', _1238 => _1238()]) || void 0 : void 0;
48759
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1239 => _1239.avatarUrl, 'optionalAccess', _1240 => _1240.trim, 'call', _1241 => _1241()]) || void 0 : void 0;
48719
48760
  const messages = _react.useMemo.call(void 0, () => {
48720
48761
  const cache = timestampCacheRef.current;
48721
48762
  const seenIds = /* @__PURE__ */ new Set();
@@ -48863,9 +48904,9 @@ function EmbeddableChatInner({
48863
48904
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
48864
48905
  const lastSources = _react.useMemo.call(void 0, () => {
48865
48906
  if (chatLoading) return void 0;
48866
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1238 => _1238.sources]);
48907
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1242 => _1242.sources]);
48867
48908
  if (!sources || sources.length === 0) return void 0;
48868
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1239 => _1239.content]) || "";
48909
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1243 => _1243.content]) || "";
48869
48910
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
48870
48911
  (m) => parseInt(m[1], 10)
48871
48912
  );
@@ -48912,7 +48953,7 @@ function EmbeddableChatInner({
48912
48953
  ChatPanelHeader,
48913
48954
  {
48914
48955
  showBack: hasConversation || guideCanReturnToMingo,
48915
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1240 => _1240.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48956
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1244 => _1244.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48916
48957
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
48917
48958
  isArchivedView: isViewingArchived,
48918
48959
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -49030,10 +49071,24 @@ function EmbeddableChatInner({
49030
49071
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
49031
49072
  subtitleLoading: emptyStateLoading,
49032
49073
  ...guideWelcome,
49033
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1241 => _1241.quickActions]), () => ( guideSuggestedActions)),
49074
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1245 => _1245.quickActions]), () => ( guideSuggestedActions)),
49034
49075
  onQuickAction: (action) => {
49076
+ quickActionDraftRef.current = null;
49077
+ _optionalChain([chatInputRef, 'access', _1246 => _1246.current, 'optionalAccess', _1247 => _1247.setValue, 'call', _1248 => _1248("")]);
49035
49078
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
49036
49079
  },
49080
+ onQuickActionHover: (action) => {
49081
+ if (quickActionDraftRef.current === null) {
49082
+ quickActionDraftRef.current = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1249 => _1249.current, 'optionalAccess', _1250 => _1250.getValue, 'call', _1251 => _1251()]), () => ( ""));
49083
+ }
49084
+ _optionalChain([chatInputRef, 'access', _1252 => _1252.current, 'optionalAccess', _1253 => _1253.setValue, 'call', _1254 => _1254(_nullishCoalesce(action.prompt, () => ( action.label)))]);
49085
+ },
49086
+ onQuickActionHoverEnd: () => {
49087
+ if (quickActionDraftRef.current !== null) {
49088
+ _optionalChain([chatInputRef, 'access', _1255 => _1255.current, 'optionalAccess', _1256 => _1256.setValue, 'call', _1257 => _1257(quickActionDraftRef.current)]);
49089
+ quickActionDraftRef.current = null;
49090
+ }
49091
+ },
49037
49092
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
49038
49093
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49039
49094
  MingoOnboardingCardSkeleton,
@@ -50107,4 +50162,4 @@ function EmbeddableChatInner({
50107
50162
 
50108
50163
 
50109
50164
  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.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.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.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.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.AIGeneratedBadge = AIGeneratedBadge; 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.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.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.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.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.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.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.assets = assets;
50110
- //# sourceMappingURL=chunk-PNWORHOR.cjs.map
50165
+ //# sourceMappingURL=chunk-I3CNFZOY.cjs.map