@flamingo-stack/openframe-frontend-core 0.0.339 → 0.0.340

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 (88) hide show
  1. package/dist/{chunk-D5BRTQEA.cjs → chunk-4K2M2WC4.cjs} +26 -26
  2. package/dist/{chunk-D5BRTQEA.cjs.map → chunk-4K2M2WC4.cjs.map} +1 -1
  3. package/dist/{chunk-IK22LSYP.js → chunk-53MGSWCC.js} +4 -4
  4. package/dist/{chunk-DUJINSKJ.js → chunk-573LTCRV.js} +2 -2
  5. package/dist/{chunk-J7VJHE6O.js → chunk-7TENQYAJ.js} +2 -2
  6. package/dist/{chunk-DKK3VRRM.cjs → chunk-BMSJTLGO.cjs} +12 -12
  7. package/dist/{chunk-DKK3VRRM.cjs.map → chunk-BMSJTLGO.cjs.map} +1 -1
  8. package/dist/{chunk-4DXRKAV6.cjs → chunk-DFFOCQFO.cjs} +5 -5
  9. package/dist/{chunk-4DXRKAV6.cjs.map → chunk-DFFOCQFO.cjs.map} +1 -1
  10. package/dist/{chunk-FFNTLQZR.cjs → chunk-DRO773DG.cjs} +56 -56
  11. package/dist/{chunk-FFNTLQZR.cjs.map → chunk-DRO773DG.cjs.map} +1 -1
  12. package/dist/{chunk-PNWORHOR.cjs → chunk-ERMMMQET.cjs} +619 -596
  13. package/dist/chunk-ERMMMQET.cjs.map +1 -0
  14. package/dist/{chunk-OJJCWMLT.cjs → chunk-EXFHHZ2C.cjs} +9 -9
  15. package/dist/{chunk-OJJCWMLT.cjs.map → chunk-EXFHHZ2C.cjs.map} +1 -1
  16. package/dist/{chunk-I7NP2ZAJ.js → chunk-GGFJ5OQ3.js} +4 -4
  17. package/dist/{chunk-7OPVJDX6.cjs → chunk-HVYR323G.cjs} +15 -15
  18. package/dist/{chunk-7OPVJDX6.cjs.map → chunk-HVYR323G.cjs.map} +1 -1
  19. package/dist/{chunk-5A5SLX2F.js → chunk-KE2PMD6A.js} +2 -2
  20. package/dist/{chunk-JOLEA7LT.cjs → chunk-L6YX6D26.cjs} +31 -31
  21. package/dist/{chunk-JOLEA7LT.cjs.map → chunk-L6YX6D26.cjs.map} +1 -1
  22. package/dist/{chunk-HHS3CJ7G.js → chunk-MNLQMAY3.js} +2 -2
  23. package/dist/{chunk-742ZCG3D.js → chunk-NC3DJLP5.js} +4 -4
  24. package/dist/{chunk-I54DGTLP.js → chunk-NDHQG4I4.js} +26 -3
  25. package/dist/chunk-NDHQG4I4.js.map +1 -0
  26. package/dist/{chunk-S5B3ZX6U.js → chunk-OVN265XQ.js} +2 -2
  27. package/dist/{chunk-6YWPFPKC.cjs → chunk-SIK5LBUN.cjs} +25 -25
  28. package/dist/{chunk-6YWPFPKC.cjs.map → chunk-SIK5LBUN.cjs.map} +1 -1
  29. package/dist/{chunk-GEJQRRD2.js → chunk-T4SW6GOR.js} +4 -4
  30. package/dist/{chunk-YX7RIC4Z.js → chunk-TOMTBXM7.js} +2 -2
  31. package/dist/{chunk-GBE2R7R4.cjs → chunk-TVCBMR3N.cjs} +7 -7
  32. package/dist/{chunk-GBE2R7R4.cjs.map → chunk-TVCBMR3N.cjs.map} +1 -1
  33. package/dist/{chunk-J344NBBP.cjs → chunk-VA3GDVOV.cjs} +37 -37
  34. package/dist/{chunk-J344NBBP.cjs.map → chunk-VA3GDVOV.cjs.map} +1 -1
  35. package/dist/{chunk-DLXHC6JS.js → chunk-W7J46YKF.js} +2 -2
  36. package/dist/{chunk-KPR563UC.cjs → chunk-YEB5Z76W.cjs} +62 -62
  37. package/dist/{chunk-KPR563UC.cjs.map → chunk-YEB5Z76W.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/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/index.cjs +2 -2
  71. package/dist/index.js +1 -1
  72. package/package.json +1 -1
  73. package/src/components/chat/chat-quick-action-row.tsx +9 -0
  74. package/src/components/chat/embeddable-chat.tsx +24 -3
  75. package/src/components/chat/guide-welcome.tsx +10 -1
  76. package/dist/chunk-I54DGTLP.js.map +0 -1
  77. package/dist/chunk-PNWORHOR.cjs.map +0 -1
  78. /package/dist/{chunk-IK22LSYP.js.map → chunk-53MGSWCC.js.map} +0 -0
  79. /package/dist/{chunk-DUJINSKJ.js.map → chunk-573LTCRV.js.map} +0 -0
  80. /package/dist/{chunk-J7VJHE6O.js.map → chunk-7TENQYAJ.js.map} +0 -0
  81. /package/dist/{chunk-I7NP2ZAJ.js.map → chunk-GGFJ5OQ3.js.map} +0 -0
  82. /package/dist/{chunk-5A5SLX2F.js.map → chunk-KE2PMD6A.js.map} +0 -0
  83. /package/dist/{chunk-HHS3CJ7G.js.map → chunk-MNLQMAY3.js.map} +0 -0
  84. /package/dist/{chunk-742ZCG3D.js.map → chunk-NC3DJLP5.js.map} +0 -0
  85. /package/dist/{chunk-S5B3ZX6U.js.map → chunk-OVN265XQ.js.map} +0 -0
  86. /package/dist/{chunk-GEJQRRD2.js.map → chunk-T4SW6GOR.js.map} +0 -0
  87. /package/dist/{chunk-YX7RIC4Z.js.map → chunk-TOMTBXM7.js.map} +0 -0
  88. /package/dist/{chunk-DLXHC6JS.js.map → chunk-W7J46YKF.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
  {
@@ -35669,7 +35677,7 @@ function TableRow({
35669
35677
  const keys = column.key.split(".");
35670
35678
  let value = item;
35671
35679
  for (const key of keys) {
35672
- value = _optionalChain([value, 'optionalAccess', _664 => _664[key]]);
35680
+ value = _optionalChain([value, 'optionalAccess', _666 => _666[key]]);
35673
35681
  }
35674
35682
  if (value === null || value === void 0) {
35675
35683
  return "-";
@@ -35739,7 +35747,7 @@ function TableRow({
35739
35747
  // src/components/ui/table/table.tsx
35740
35748
 
35741
35749
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
35742
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _665 => _665.length])) || Boolean(renderRowActions);
35750
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _667 => _667.length])) || Boolean(renderRowActions);
35743
35751
  const result = [...columns];
35744
35752
  if (hasActions) {
35745
35753
  const actionsColumn = {
@@ -35833,7 +35841,7 @@ function Table({
35833
35841
  return rowKey(item);
35834
35842
  }
35835
35843
  const key = item[rowKey];
35836
- return _optionalChain([key, 'optionalAccess', _666 => _666.toString, 'call', _667 => _667()]) || index.toString();
35844
+ return _optionalChain([key, 'optionalAccess', _668 => _668.toString, 'call', _669 => _669()]) || index.toString();
35837
35845
  };
35838
35846
  const getRowClassName = (item, index) => {
35839
35847
  if (typeof rowClassName === "function") {
@@ -35867,23 +35875,23 @@ function Table({
35867
35875
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
35868
35876
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
35869
35877
  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]);
35878
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.onLoadMore]));
35879
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _671 => _671.onLoadMore]);
35872
35880
  _react.useEffect.call(void 0, () => {
35873
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35881
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _672 => _672.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35874
35882
  const sentinel = sentinelRef.current;
35875
35883
  if (!sentinel) return;
35876
35884
  const observer = new IntersectionObserver(
35877
35885
  (entries) => {
35878
- if (_optionalChain([entries, 'access', _671 => _671[0], 'optionalAccess', _672 => _672.isIntersecting])) {
35879
- _optionalChain([onLoadMoreRef, 'access', _673 => _673.current, 'optionalCall', _674 => _674()]);
35886
+ if (_optionalChain([entries, 'access', _673 => _673[0], 'optionalAccess', _674 => _674.isIntersecting])) {
35887
+ _optionalChain([onLoadMoreRef, 'access', _675 => _675.current, 'optionalCall', _676 => _676()]);
35880
35888
  }
35881
35889
  },
35882
35890
  { rootMargin: "200px" }
35883
35891
  );
35884
35892
  observer.observe(sentinel);
35885
35893
  return () => observer.disconnect();
35886
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _675 => _675.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _676 => _676.isFetchingNextPage])]);
35894
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _678 => _678.isFetchingNextPage])]);
35887
35895
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
35888
35896
  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
35897
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -35954,7 +35962,7 @@ function Table({
35954
35962
  },
35955
35963
  getRowKey(item, index)
35956
35964
  )),
35957
- _optionalChain([infiniteScroll, 'optionalAccess', _677 => _677.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35965
+ _optionalChain([infiniteScroll, 'optionalAccess', _679 => _679.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35958
35966
  TableCardSkeleton,
35959
35967
  {
35960
35968
  columns,
@@ -35963,7 +35971,7 @@ function Table({
35963
35971
  hasChevron: Boolean(rowHref)
35964
35972
  }
35965
35973
  ),
35966
- _optionalChain([infiniteScroll, 'optionalAccess', _678 => _678.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35974
+ _optionalChain([infiniteScroll, 'optionalAccess', _680 => _680.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35967
35975
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35968
35976
  "div",
35969
35977
  {
@@ -36321,7 +36329,7 @@ function QueryReportTable({
36321
36329
  );
36322
36330
  const handleExport = () => {
36323
36331
  exportToCSV(data, columns, exportFilename);
36324
- _optionalChain([onExport, 'optionalCall', _679 => _679()]);
36332
+ _optionalChain([onExport, 'optionalCall', _681 => _681()]);
36325
36333
  };
36326
36334
  const tableMinWidth = columns.length * (columnWidth + 16);
36327
36335
  const {
@@ -36494,7 +36502,7 @@ function DataTableColumnFilter({
36494
36502
  align = "left"
36495
36503
  }) {
36496
36504
  const currentValue = column.getFilterValue();
36497
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _680 => _680.length]), () => ( 0));
36505
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _682 => _682.length]), () => ( 0));
36498
36506
  const sections = _react.useMemo.call(void 0,
36499
36507
  () => [
36500
36508
  {
@@ -36574,7 +36582,7 @@ function DataTableHeader({
36574
36582
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
36575
36583
  if (header.isPlaceholder) return false;
36576
36584
  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]));
36585
+ return Boolean(_optionalChain([header, 'access', _683 => _683.column, 'access', _684 => _684.columnDef, 'access', _685 => _685.meta, 'optionalAccess', _686 => _686.filter]));
36578
36586
  });
36579
36587
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36580
36588
  "div",
@@ -36604,20 +36612,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36604
36612
  if (header.isPlaceholder) return null;
36605
36613
  const column = header.column;
36606
36614
  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;
36615
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _687 => _687.filter]));
36616
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _688 => _688.align]), () => ( "left"));
36617
+ const canSort = _optionalChain([meta, 'optionalAccess', _689 => _689.sortable]) === true;
36618
+ const sortDir = _optionalChain([sort, 'optionalAccess', _690 => _690.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
36611
36619
  if (!isLgUp && !hasFilter) return null;
36612
36620
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36613
36621
  "div",
36614
36622
  {
36615
36623
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36616
36624
  "flex items-stretch",
36617
- isLgUp && (_optionalChain([meta, 'optionalAccess', _689 => _689.width]) || "flex-1 min-w-0"),
36618
- _optionalChain([meta, 'optionalAccess', _690 => _690.headerClassName]),
36625
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _691 => _691.width]) || "flex-1 min-w-0"),
36626
+ _optionalChain([meta, 'optionalAccess', _692 => _692.headerClassName]),
36619
36627
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
36620
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _691 => _691.hideAt]))
36628
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _693 => _693.hideAt]))
36621
36629
  ),
36622
36630
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36623
36631
  DataTableColumnFilter,
@@ -36636,7 +36644,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36636
36644
  isLgUp && alignJustify(align),
36637
36645
  canSort && "group cursor-pointer"
36638
36646
  ),
36639
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _692 => _692(column.id)]) : void 0,
36647
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _694 => _694(column.id)]) : void 0,
36640
36648
  children: [
36641
36649
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
36642
36650
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -36701,7 +36709,7 @@ function DataTableSkeleton({
36701
36709
  }) {
36702
36710
  const table = useDataTableContext();
36703
36711
  const columns = table.getVisibleFlatColumns();
36704
- const firstColumnId = _optionalChain([columns, 'access', _693 => _693[0], 'optionalAccess', _694 => _694.id]);
36712
+ const firstColumnId = _optionalChain([columns, 'access', _695 => _695[0], 'optionalAccess', _696 => _696.id]);
36705
36713
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36706
36714
  "div",
36707
36715
  {
@@ -36725,7 +36733,7 @@ function DataTableSkeleton({
36725
36733
  {
36726
36734
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36727
36735
  "flex flex-col justify-center shrink-0",
36728
- _optionalChain([meta, 'optionalAccess', _695 => _695.width]) || "flex-1"
36736
+ _optionalChain([meta, 'optionalAccess', _697 => _697.width]) || "flex-1"
36729
36737
  ),
36730
36738
  children: [
36731
36739
  /* @__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 +36782,7 @@ function DataTableRowImpl({
36774
36782
  const handleClick = _react.useCallback.call(void 0,
36775
36783
  (e) => {
36776
36784
  const target = e.target;
36777
- if (!_optionalChain([containerRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.contains, 'call', _698 => _698(target)])) {
36785
+ if (!_optionalChain([containerRef, 'access', _698 => _698.current, 'optionalAccess', _699 => _699.contains, 'call', _700 => _700(target)])) {
36778
36786
  if (isLinkMode) e.preventDefault();
36779
36787
  return;
36780
36788
  }
@@ -36782,7 +36790,7 @@ function DataTableRowImpl({
36782
36790
  if (isLinkMode) e.preventDefault();
36783
36791
  return;
36784
36792
  }
36785
- _optionalChain([onClick, 'optionalCall', _699 => _699(row.original)]);
36793
+ _optionalChain([onClick, 'optionalCall', _701 => _701(row.original)]);
36786
36794
  },
36787
36795
  [onClick, row.original, isLinkMode]
36788
36796
  );
@@ -36807,10 +36815,10 @@ function DataTableRowImpl({
36807
36815
  {
36808
36816
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36809
36817
  "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]))
36818
+ alignJustify(_optionalChain([meta, 'optionalAccess', _702 => _702.align])),
36819
+ _optionalChain([meta, 'optionalAccess', _703 => _703.width]) || "flex-1 min-w-0",
36820
+ _optionalChain([meta, 'optionalAccess', _704 => _704.cellClassName]),
36821
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _705 => _705.hideAt]))
36814
36822
  ),
36815
36823
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
36816
36824
  },
@@ -36889,7 +36897,7 @@ function DataTableBody({
36889
36897
  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
36898
  rows.map((row, index) => {
36891
36899
  const item = row.original;
36892
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _704 => _704(item)]), () => ( void 0));
36900
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _706 => _706(item)]), () => ( void 0));
36893
36901
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
36894
36902
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36895
36903
  DataTableRow,
@@ -36899,7 +36907,7 @@ function DataTableBody({
36899
36907
  href,
36900
36908
  compact,
36901
36909
  className: cls,
36902
- subRow: _optionalChain([renderSubRow, 'optionalCall', _705 => _705(item)])
36910
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _707 => _707(item)])
36903
36911
  },
36904
36912
  row.id
36905
36913
  );
@@ -36954,7 +36962,7 @@ function DataTableInfiniteFooter({
36954
36962
  if (!sentinel) return;
36955
36963
  const observer = new IntersectionObserver(
36956
36964
  (entries) => {
36957
- if (_optionalChain([entries, 'access', _706 => _706[0], 'optionalAccess', _707 => _707.isIntersecting])) onLoadMoreRef.current();
36965
+ if (_optionalChain([entries, 'access', _708 => _708[0], 'optionalAccess', _709 => _709.isIntersecting])) onLoadMoreRef.current();
36958
36966
  },
36959
36967
  { rootMargin }
36960
36968
  );
@@ -37002,7 +37010,7 @@ function DataTableRowCount({
37002
37010
  const table = useDataTableContext();
37003
37011
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
37004
37012
  if (hideWhenEmpty && count === 0) return null;
37005
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _708 => _708(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37013
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _710 => _710(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37006
37014
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37007
37015
  "span",
37008
37016
  {
@@ -37161,7 +37169,7 @@ function SearchInput({
37161
37169
  if (!showHiddenTags) return;
37162
37170
  const handleClick = (e) => {
37163
37171
  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)])) {
37172
+ if (!_optionalChain([hiddenTagsRef, 'access', _711 => _711.current, 'optionalAccess', _712 => _712.contains, 'call', _713 => _713(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _714 => _714.current, 'optionalAccess', _715 => _715.contains, 'call', _716 => _716(target)])) {
37165
37173
  setShowHiddenTags(false);
37166
37174
  }
37167
37175
  };
@@ -37209,10 +37217,10 @@ function SearchInput({
37209
37217
  } else {
37210
37218
  setInternalValue("");
37211
37219
  }
37212
- _optionalChain([inputRef, 'access', _715 => _715.current, 'optionalAccess', _716 => _716.focus, 'call', _717 => _717()]);
37220
+ _optionalChain([inputRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.focus, 'call', _719 => _719()]);
37213
37221
  };
37214
37222
  const handleResultClick = (result, e) => {
37215
- _optionalChain([onResultSelect, 'optionalCall', _718 => _718(
37223
+ _optionalChain([onResultSelect, 'optionalCall', _720 => _720(
37216
37224
  result,
37217
37225
  e ? {
37218
37226
  metaKey: e.metaKey,
@@ -37244,7 +37252,7 @@ function SearchInput({
37244
37252
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
37245
37253
  handleResultClick(flatResults[highlightedIndex]);
37246
37254
  } else {
37247
- _optionalChain([onSubmit, 'optionalCall', _719 => _719(currentValue)]);
37255
+ _optionalChain([onSubmit, 'optionalCall', _721 => _721(currentValue)]);
37248
37256
  }
37249
37257
  break;
37250
37258
  case "Escape":
@@ -37322,7 +37330,7 @@ function SearchInput({
37322
37330
  dropdownVisible && "!border-ods-accent"
37323
37331
  ),
37324
37332
  onClick: () => {
37325
- _optionalChain([inputRef, 'access', _720 => _720.current, 'optionalAccess', _721 => _721.focus, 'call', _722 => _722()]);
37333
+ _optionalChain([inputRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.focus, 'call', _724 => _724()]);
37326
37334
  setIsOpen(true);
37327
37335
  },
37328
37336
  children: [
@@ -37406,10 +37414,10 @@ function SearchInput({
37406
37414
  align: "start",
37407
37415
  onOpenAutoFocus: (e) => {
37408
37416
  e.preventDefault();
37409
- _optionalChain([inputRef, 'access', _723 => _723.current, 'optionalAccess', _724 => _724.focus, 'call', _725 => _725()]);
37417
+ _optionalChain([inputRef, 'access', _725 => _725.current, 'optionalAccess', _726 => _726.focus, 'call', _727 => _727()]);
37410
37418
  },
37411
37419
  onInteractOutside: (e) => {
37412
- if (_optionalChain([containerRef, 'access', _726 => _726.current, 'optionalAccess', _727 => _727.contains, 'call', _728 => _728(e.target)])) {
37420
+ if (_optionalChain([containerRef, 'access', _728 => _728.current, 'optionalAccess', _729 => _729.contains, 'call', _730 => _730(e.target)])) {
37413
37421
  e.preventDefault();
37414
37422
  }
37415
37423
  },
@@ -37426,10 +37434,10 @@ function SearchInput({
37426
37434
  ref: hiddenTagsPopupRef,
37427
37435
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
37428
37436
  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
37437
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _731 => _731.current, 'optionalAccess', _732 => _732.getBoundingClientRect, 'call', _733 => _733(), 'access', _734 => _734.left]), () => ( 0))) : 0
37430
37438
  },
37431
37439
  onRemove: (value2) => {
37432
- _optionalChain([onFilterRemove, 'optionalCall', _733 => _733(value2)]);
37440
+ _optionalChain([onFilterRemove, 'optionalCall', _735 => _735(value2)]);
37433
37441
  if (hiddenCount <= 1) setShowHiddenTags(false);
37434
37442
  }
37435
37443
  }
@@ -37480,7 +37488,7 @@ function FilterListItem({
37480
37488
  }) {
37481
37489
  const handleToggle = () => {
37482
37490
  if (disabled) return;
37483
- _optionalChain([onToggle, 'optionalCall', _734 => _734(!selected)]);
37491
+ _optionalChain([onToggle, 'optionalCall', _736 => _736(!selected)]);
37484
37492
  };
37485
37493
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37486
37494
  "div",
@@ -37527,7 +37535,7 @@ function FilterListItem({
37527
37535
  CheckboxPrimitive4.Root,
37528
37536
  {
37529
37537
  checked: selected,
37530
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _735 => _735(c === true)]),
37538
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _737 => _737(c === true)]),
37531
37539
  onClick: (e) => e.stopPropagation(),
37532
37540
  disabled,
37533
37541
  "aria-label": title,
@@ -37626,7 +37634,7 @@ function TagSearchInput({
37626
37634
  if (!showHiddenTags) return;
37627
37635
  const handleClick = (e) => {
37628
37636
  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)])) {
37637
+ if (!_optionalChain([hiddenTagsRef, 'access', _738 => _738.current, 'optionalAccess', _739 => _739.contains, 'call', _740 => _740(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _741 => _741.current, 'optionalAccess', _742 => _742.contains, 'call', _743 => _743(target)])) {
37630
37638
  setShowHiddenTags(false);
37631
37639
  }
37632
37640
  };
@@ -37642,13 +37650,13 @@ function TagSearchInput({
37642
37650
  e.preventDefault();
37643
37651
  onSubmit(searchValue);
37644
37652
  }
37645
- _optionalChain([onKeyDown, 'optionalCall', _742 => _742(e)]);
37653
+ _optionalChain([onKeyDown, 'optionalCall', _744 => _744(e)]);
37646
37654
  };
37647
37655
  const handleClearAll = (e) => {
37648
37656
  e.stopPropagation();
37649
37657
  e.preventDefault();
37650
- _optionalChain([onClearAll, 'optionalCall', _743 => _743()]);
37651
- _optionalChain([inputRef, 'access', _744 => _744.current, 'optionalAccess', _745 => _745.focus, 'call', _746 => _746()]);
37658
+ _optionalChain([onClearAll, 'optionalCall', _745 => _745()]);
37659
+ _optionalChain([inputRef, 'access', _746 => _746.current, 'optionalAccess', _747 => _747.focus, 'call', _748 => _748()]);
37652
37660
  };
37653
37661
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
37654
37662
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -37665,7 +37673,7 @@ function TagSearchInput({
37665
37673
  className
37666
37674
  ),
37667
37675
  onClick: () => {
37668
- if (!disabled) _optionalChain([inputRef, 'access', _747 => _747.current, 'optionalAccess', _748 => _748.focus, 'call', _749 => _749()]);
37676
+ if (!disabled) _optionalChain([inputRef, 'access', _749 => _749.current, 'optionalAccess', _750 => _750.focus, 'call', _751 => _751()]);
37669
37677
  },
37670
37678
  children: [
37671
37679
  /* @__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 +37745,7 @@ function TagSearchInput({
37737
37745
  items: hiddenTags,
37738
37746
  disabled,
37739
37747
  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
37748
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _752 => _752.current, 'optionalAccess', _753 => _753.getBoundingClientRect, 'call', _754 => _754(), 'access', _755 => _755.left]), () => ( 0))) : 0
37741
37749
  },
37742
37750
  onRemove: (value) => {
37743
37751
  onTagRemove(value);
@@ -37838,7 +37846,7 @@ function MarkdownEditor({
37838
37846
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
37839
37847
  _react.useEffect.call(void 0, () => {
37840
37848
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
37841
- if (_optionalChain([mod, 'access', _754 => _754.commands, 'optionalAccess', _755 => _755.getExtraCommands])) {
37849
+ if (_optionalChain([mod, 'access', _756 => _756.commands, 'optionalAccess', _757 => _757.getExtraCommands])) {
37842
37850
  setDefaultExtraCommands(mod.commands.getExtraCommands());
37843
37851
  }
37844
37852
  });
@@ -37872,7 +37880,7 @@ function MarkdownEditor({
37872
37880
  const isImage = file.type.startsWith("image/");
37873
37881
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
37874
37882
  insertTextAtCursor(markdown);
37875
- _optionalChain([onFileUploaded, 'optionalCall', _756 => _756(url, file.name)]);
37883
+ _optionalChain([onFileUploaded, 'optionalCall', _758 => _758(url, file.name)]);
37876
37884
  } catch (error) {
37877
37885
  console.error("File upload failed:", error);
37878
37886
  setUploadProgress("Upload failed. Please try again.");
@@ -37885,7 +37893,7 @@ function MarkdownEditor({
37885
37893
  );
37886
37894
  const handleFileInputChange = _react.useCallback.call(void 0,
37887
37895
  (e) => {
37888
- const file = _optionalChain([e, 'access', _757 => _757.target, 'access', _758 => _758.files, 'optionalAccess', _759 => _759[0]]);
37896
+ const file = _optionalChain([e, 'access', _759 => _759.target, 'access', _760 => _760.files, 'optionalAccess', _761 => _761[0]]);
37889
37897
  if (file) {
37890
37898
  handleFileUpload(file);
37891
37899
  e.target.value = "";
@@ -37896,7 +37904,7 @@ function MarkdownEditor({
37896
37904
  const handlePaste = _react.useCallback.call(void 0,
37897
37905
  (e) => {
37898
37906
  if (!onUploadFile) return;
37899
- const items = _optionalChain([e, 'access', _760 => _760.clipboardData, 'optionalAccess', _761 => _761.items]);
37907
+ const items = _optionalChain([e, 'access', _762 => _762.clipboardData, 'optionalAccess', _763 => _763.items]);
37900
37908
  if (!items) return;
37901
37909
  for (const item of items) {
37902
37910
  if (item.type.startsWith("image/")) {
@@ -37921,7 +37929,7 @@ function MarkdownEditor({
37921
37929
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
37922
37930
  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
37931
  execute: () => {
37924
- _optionalChain([fileInputRef, 'access', _762 => _762.current, 'optionalAccess', _763 => _763.click, 'call', _764 => _764()]);
37932
+ _optionalChain([fileInputRef, 'access', _764 => _764.current, 'optionalAccess', _765 => _765.click, 'call', _766 => _766()]);
37925
37933
  }
37926
37934
  } : null;
37927
37935
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -37933,7 +37941,7 @@ function MarkdownEditor({
37933
37941
  const EDGE_ZONE = 60;
37934
37942
  const MAX_SCROLL_SPEED = 15;
37935
37943
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
37936
- let node = _optionalChain([el, 'optionalAccess', _765 => _765.parentElement]);
37944
+ let node = _optionalChain([el, 'optionalAccess', _767 => _767.parentElement]);
37937
37945
  while (node && node !== document.documentElement) {
37938
37946
  const { overflowY } = window.getComputedStyle(node);
37939
37947
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -38076,7 +38084,7 @@ function matchesAccept(file, accept) {
38076
38084
  });
38077
38085
  }
38078
38086
  function dragHasFiles(e) {
38079
- const types = _optionalChain([e, 'access', _766 => _766.dataTransfer, 'optionalAccess', _767 => _767.types]);
38087
+ const types = _optionalChain([e, 'access', _768 => _768.dataTransfer, 'optionalAccess', _769 => _769.types]);
38080
38088
  if (!types) return false;
38081
38089
  for (let i = 0; i < types.length; i++) {
38082
38090
  if (types[i] === "Files") return true;
@@ -38172,7 +38180,7 @@ function FileUpload({
38172
38180
  e.stopPropagation();
38173
38181
  setDragActive(false);
38174
38182
  if (disabled) return;
38175
- if (_optionalChain([e, 'access', _768 => _768.dataTransfer, 'access', _769 => _769.files, 'optionalAccess', _770 => _770.length])) {
38183
+ if (_optionalChain([e, 'access', _770 => _770.dataTransfer, 'access', _771 => _771.files, 'optionalAccess', _772 => _772.length])) {
38176
38184
  handleFiles(e.dataTransfer.files);
38177
38185
  }
38178
38186
  };
@@ -38200,7 +38208,7 @@ function FileUpload({
38200
38208
  e.preventDefault();
38201
38209
  dragCounter = 0;
38202
38210
  setDragActive(false);
38203
- if (_optionalChain([e, 'access', _771 => _771.dataTransfer, 'optionalAccess', _772 => _772.files, 'optionalAccess', _773 => _773.length])) {
38211
+ if (_optionalChain([e, 'access', _773 => _773.dataTransfer, 'optionalAccess', _774 => _774.files, 'optionalAccess', _775 => _775.length])) {
38204
38212
  handleFilesRef.current(e.dataTransfer.files);
38205
38213
  }
38206
38214
  };
@@ -38222,7 +38230,7 @@ function FileUpload({
38222
38230
  };
38223
38231
  }, [acceptWindowDrops, disabled]);
38224
38232
  const handleFileSelect = (e) => {
38225
- if (_optionalChain([e, 'access', _774 => _774.target, 'access', _775 => _775.files, 'optionalAccess', _776 => _776.length])) {
38233
+ if (_optionalChain([e, 'access', _776 => _776.target, 'access', _777 => _777.files, 'optionalAccess', _778 => _778.length])) {
38226
38234
  handleFiles(e.target.files);
38227
38235
  }
38228
38236
  };
@@ -38239,7 +38247,7 @@ function FileUpload({
38239
38247
  };
38240
38248
  const openDialog = async () => {
38241
38249
  if (disabled) return;
38242
- _optionalChain([fileInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.click, 'call', _779 => _779()]);
38250
+ _optionalChain([fileInputRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.click, 'call', _781 => _781()]);
38243
38251
  };
38244
38252
  const displayError = error || validationError || void 0;
38245
38253
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -38301,7 +38309,7 @@ function FileUpload({
38301
38309
  "button",
38302
38310
  {
38303
38311
  type: "button",
38304
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _780 => _780(entry.id)]),
38312
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _782 => _782(entry.id)]),
38305
38313
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
38306
38314
  "aria-label": `Remove ${entry.fileName}`,
38307
38315
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrashIcon, { className: "size-6" })
@@ -38432,7 +38440,7 @@ function ImageUploader({
38432
38440
  onChange(file);
38433
38441
  };
38434
38442
  const handleFileSelect = (e) => {
38435
- validateAndEmit(_optionalChain([e, 'access', _781 => _781.target, 'access', _782 => _782.files, 'optionalAccess', _783 => _783[0]]));
38443
+ validateAndEmit(_optionalChain([e, 'access', _783 => _783.target, 'access', _784 => _784.files, 'optionalAccess', _785 => _785[0]]));
38436
38444
  if (inputRef.current) inputRef.current.value = "";
38437
38445
  };
38438
38446
  const handleDrag = (e) => {
@@ -38447,11 +38455,11 @@ function ImageUploader({
38447
38455
  e.stopPropagation();
38448
38456
  setDragActive(false);
38449
38457
  if (!interactive) return;
38450
- validateAndEmit(_optionalChain([e, 'access', _784 => _784.dataTransfer, 'access', _785 => _785.files, 'optionalAccess', _786 => _786[0]]));
38458
+ validateAndEmit(_optionalChain([e, 'access', _786 => _786.dataTransfer, 'access', _787 => _787.files, 'optionalAccess', _788 => _788[0]]));
38451
38459
  };
38452
38460
  const openDialog = () => {
38453
38461
  if (!interactive) return;
38454
- _optionalChain([inputRef, 'access', _787 => _787.current, 'optionalAccess', _788 => _788.click, 'call', _789 => _789()]);
38462
+ _optionalChain([inputRef, 'access', _789 => _789.current, 'optionalAccess', _790 => _790.click, 'call', _791 => _791()]);
38455
38463
  };
38456
38464
  const handleRootKeyDown = (e) => {
38457
38465
  if (hasImage || !interactive) return;
@@ -38642,8 +38650,8 @@ function ColorPresetSelect({
38642
38650
  }) {
38643
38651
  const selectedPreset = presets.find((p) => p.key === presetKey);
38644
38652
  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));
38653
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _792 => _792.label]), () => ( "Custom"));
38654
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _793 => _793.color]), () => ( value));
38647
38655
  const groups = [
38648
38656
  {
38649
38657
  items: [
@@ -38933,7 +38941,7 @@ function TicketStatusConfigRow({
38933
38941
  _chunkQJGRP2YEcjs.Input,
38934
38942
  {
38935
38943
  value: name,
38936
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _792 => _792(e.target.value)]),
38944
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _794 => _794(e.target.value)]),
38937
38945
  disabled: isSystem,
38938
38946
  readOnly: isSystem,
38939
38947
  "aria-label": "Status name",
@@ -39306,14 +39314,14 @@ function TicketInfoSection({
39306
39314
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39307
39315
  SquareAvatar,
39308
39316
  {
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",
39317
+ src: _optionalChain([organization, 'optionalAccess', _795 => _795.imageSrc]),
39318
+ alt: _optionalChain([organization, 'optionalAccess', _796 => _796.name]),
39319
+ fallback: _optionalChain([organization, 'optionalAccess', _797 => _797.name]) || "Org",
39312
39320
  size: "md",
39313
39321
  className: "shrink-0"
39314
39322
  }
39315
39323
  ),
39316
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _796 => _796.name]) || "Unassigned", label: "Organization" })
39324
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _798 => _798.name]) || "Unassigned", label: "Organization" })
39317
39325
  ] }),
39318
39326
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39319
39327
  AssigneeDropdown,
@@ -39334,10 +39342,10 @@ function TicketInfoSection({
39334
39342
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39335
39343
  InfoCell2,
39336
39344
  {
39337
- value: _optionalChain([device, 'optionalAccess', _797 => _797.name]) || "Unassigned",
39345
+ value: _optionalChain([device, 'optionalAccess', _799 => _799.name]) || "Unassigned",
39338
39346
  label: "Device",
39339
- icon: _optionalChain([device, 'optionalAccess', _798 => _798.icon]),
39340
- onClick: _optionalChain([device, 'optionalAccess', _799 => _799.onClick])
39347
+ icon: _optionalChain([device, 'optionalAccess', _800 => _800.icon]),
39348
+ onClick: _optionalChain([device, 'optionalAccess', _801 => _801.onClick])
39341
39349
  }
39342
39350
  ),
39343
39351
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39667,7 +39675,7 @@ function RoadmapCard({
39667
39675
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39668
39676
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39669
39677
  const hasFigma = !!item.figmaUrl;
39670
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _800 => _800.screenshots, 'optionalAccess', _801 => _801.length]), () => ( 0))) > 0;
39678
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _802 => _802.screenshots, 'optionalAccess', _803 => _803.length]), () => ( 0))) > 0;
39671
39679
  const typeLabel = getTaskTypeLabel(item.customItemId);
39672
39680
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39673
39681
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39686,7 +39694,7 @@ function RoadmapCard({
39686
39694
  unoptimized: true,
39687
39695
  className: "h-8 w-8 object-contain"
39688
39696
  }
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)]) || "??" })
39697
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _804 => _804.title, 'optionalAccess', _805 => _805.substring, 'call', _806 => _806(0, 2)]) || "??" })
39690
39698
  }
39691
39699
  ),
39692
39700
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -39761,7 +39769,7 @@ function RoadmapCard({
39761
39769
  unoptimized: true,
39762
39770
  className: "object-contain p-1"
39763
39771
  }
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)]) || "??" }) }),
39772
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _807 => _807.title, 'optionalAccess', _808 => _808.substring, 'call', _809 => _809(0, 2)]) || "??" }) }),
39765
39773
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
39766
39774
  /* @__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
39775
  /* @__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 +40279,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
40271
40279
  ] }) : null,
40272
40280
  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
40281
  ] }),
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
40282
+ _optionalChain([anchorProps, 'optionalAccess', _810 => _810.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
40283
  ] });
40276
40284
  if (!anchorProps) {
40277
40285
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -40341,7 +40349,7 @@ function getDefaultOptions() {
40341
40349
  // node_modules/date-fns/startOfWeek.mjs
40342
40350
  function startOfWeek(date, options) {
40343
40351
  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));
40352
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _811 => _811.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _812 => _812.locale, 'optionalAccess', _813 => _813.options, 'optionalAccess', _814 => _814.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _815 => _815.locale, 'optionalAccess', _816 => _816.options, 'optionalAccess', _817 => _817.weekStartsOn]))), () => ( 0));
40345
40353
  const _date = toDate(date);
40346
40354
  const day = _date.getDay();
40347
40355
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -40516,7 +40524,7 @@ var formatDistance = (token, count, options) => {
40516
40524
  } else {
40517
40525
  result = tokenValue.other.replace("{{count}}", count.toString());
40518
40526
  }
40519
- if (_optionalChain([options, 'optionalAccess', _816 => _816.addSuffix])) {
40527
+ if (_optionalChain([options, 'optionalAccess', _818 => _818.addSuffix])) {
40520
40528
  if (options.comparison && options.comparison > 0) {
40521
40529
  return "in " + result;
40522
40530
  } else {
@@ -40583,15 +40591,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40583
40591
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40584
40592
  function buildLocalizeFn(args) {
40585
40593
  return (value, options) => {
40586
- const context = _optionalChain([options, 'optionalAccess', _817 => _817.context]) ? String(options.context) : "standalone";
40594
+ const context = _optionalChain([options, 'optionalAccess', _819 => _819.context]) ? String(options.context) : "standalone";
40587
40595
  let valuesArray;
40588
40596
  if (context === "formatting" && args.formattingValues) {
40589
40597
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40590
- const width = _optionalChain([options, 'optionalAccess', _818 => _818.width]) ? String(options.width) : defaultWidth;
40598
+ const width = _optionalChain([options, 'optionalAccess', _820 => _820.width]) ? String(options.width) : defaultWidth;
40591
40599
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40592
40600
  } else {
40593
40601
  const defaultWidth = args.defaultWidth;
40594
- const width = _optionalChain([options, 'optionalAccess', _819 => _819.width]) ? String(options.width) : args.defaultWidth;
40602
+ const width = _optionalChain([options, 'optionalAccess', _821 => _821.width]) ? String(options.width) : args.defaultWidth;
40595
40603
  valuesArray = args.values[width] || args.values[defaultWidth];
40596
40604
  }
40597
40605
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -40971,7 +40979,7 @@ function getWeekYear(date, options) {
40971
40979
  const _date = toDate(date);
40972
40980
  const year = _date.getFullYear();
40973
40981
  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));
40982
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _822 => _822.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _823 => _823.locale, 'optionalAccess', _824 => _824.options, 'optionalAccess', _825 => _825.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _826 => _826.locale, 'optionalAccess', _827 => _827.options, 'optionalAccess', _828 => _828.firstWeekContainsDate]))), () => ( 1));
40975
40983
  const firstWeekOfNextYear = constructFrom(date, 0);
40976
40984
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
40977
40985
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -40992,7 +41000,7 @@ function getWeekYear(date, options) {
40992
41000
  // node_modules/date-fns/startOfWeekYear.mjs
40993
41001
  function startOfWeekYear(date, options) {
40994
41002
  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));
41003
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _829 => _829.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _830 => _830.locale, 'optionalAccess', _831 => _831.options, 'optionalAccess', _832 => _832.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _833 => _833.locale, 'optionalAccess', _834 => _834.options, 'optionalAccess', _835 => _835.firstWeekContainsDate]))), () => ( 1));
40996
41004
  const year = getWeekYear(date, options);
40997
41005
  const firstWeek = constructFrom(date, 0);
40998
41006
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -41807,9 +41815,9 @@ var doubleQuoteRegExp = /''/g;
41807
41815
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
41808
41816
  function format(date, formatStr, options) {
41809
41817
  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));
41818
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _836 => _836.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41819
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _837 => _837.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _838 => _838.locale, 'optionalAccess', _839 => _839.options, 'optionalAccess', _840 => _840.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _841 => _841.locale, 'optionalAccess', _842 => _842.options, 'optionalAccess', _843 => _843.firstWeekContainsDate]))), () => ( 1));
41820
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _844 => _844.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _845 => _845.locale, 'optionalAccess', _846 => _846.options, 'optionalAccess', _847 => _847.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _848 => _848.locale, 'optionalAccess', _849 => _849.options, 'optionalAccess', _850 => _850.weekStartsOn]))), () => ( 0));
41813
41821
  const originalDate = toDate(date);
41814
41822
  if (!isValid(originalDate)) {
41815
41823
  throw new RangeError("Invalid time value");
@@ -41850,7 +41858,7 @@ function format(date, formatStr, options) {
41850
41858
  return parts.map((part) => {
41851
41859
  if (!part.isToken) return part.value;
41852
41860
  const token = part.value;
41853
- if (!_optionalChain([options, 'optionalAccess', _849 => _849.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _850 => _850.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41861
+ if (!_optionalChain([options, 'optionalAccess', _851 => _851.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _852 => _852.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41854
41862
  warnOrThrowProtectedError(token, formatStr, String(date));
41855
41863
  }
41856
41864
  const formatter = formatters[token[0]];
@@ -42031,7 +42039,7 @@ function ProgramCard({
42031
42039
  const dur = formatDurationFromRange(w.start_at, w.end_at);
42032
42040
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42033
42041
  }
42034
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _851 => _851.labels, 'optionalAccess', _852 => _852.singular])].filter(
42042
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _853 => _853.labels, 'optionalAccess', _854 => _854.singular])].filter(
42035
42043
  (s) => typeof s === "string" && s.length > 0
42036
42044
  );
42037
42045
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -42188,7 +42196,7 @@ function ProgramCard({
42188
42196
 
42189
42197
 
42190
42198
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
42191
- const goalsCount = _optionalChain([campaign, 'access', _853 => _853.goals, 'optionalAccess', _854 => _854.length]) || 0;
42199
+ const goalsCount = _optionalChain([campaign, 'access', _855 => _855.goals, 'optionalAccess', _856 => _856.length]) || 0;
42192
42200
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
42193
42201
  /* @__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
42202
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42350,7 +42358,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
42350
42358
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
42351
42359
  const safePath = sanitizePath(row.path);
42352
42360
  if (safePath) {
42353
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _855 => _855.docPlatformTargets, 'optionalAccess', _856 => _856[row.documentType]]) : void 0;
42361
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _857 => _857.docPlatformTargets, 'optionalAccess', _858 => _858[row.documentType]]) : void 0;
42354
42362
  if (docTarget) {
42355
42363
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
42356
42364
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -42565,8 +42573,8 @@ function cardMenuGroups(href, discuss, openDetails) {
42565
42573
  if (href) {
42566
42574
  items.push({
42567
42575
  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 }))),
42576
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _859 => _859.label]), () => ( "Open Details")),
42577
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _860 => _860.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.EyeIcon, { size: 20 }))),
42570
42578
  // Main row → open the entity (same tab, soft Link nav).
42571
42579
  href,
42572
42580
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42596,8 +42604,8 @@ function HubspotTicketChatCard({
42596
42604
  isNewTab,
42597
42605
  discuss
42598
42606
  }) {
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;
42607
+ const status = typeof _optionalChain([chatRef, 'access', _861 => _861.metadata, 'optionalAccess', _862 => _862.status]) === "string" ? chatRef.metadata.status : void 0;
42608
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42601
42609
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42602
42610
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42603
42611
  MingoInfoCard,
@@ -42620,7 +42628,7 @@ function FaqChatCard({
42620
42628
  isNewTab,
42621
42629
  discuss
42622
42630
  }) {
42623
- const section = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42631
+ const section = typeof _optionalChain([chatRef, 'access', _865 => _865.metadata, 'optionalAccess', _866 => _866.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42624
42632
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42625
42633
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42626
42634
  MingoInfoCard,
@@ -42640,7 +42648,7 @@ function SlackChatCard({
42640
42648
  isNewTab,
42641
42649
  discuss
42642
42650
  }) {
42643
- const channelName = typeof _optionalChain([chatRef, 'access', _865 => _865.metadata, 'optionalAccess', _866 => _866.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42651
+ const channelName = typeof _optionalChain([chatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42644
42652
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42645
42653
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42646
42654
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42680,7 +42688,7 @@ function GenericFinancialChatCard({
42680
42688
  isNewTab,
42681
42689
  discuss
42682
42690
  }) {
42683
- const subtitle = typeof _optionalChain([chatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42691
+ const subtitle = typeof _optionalChain([chatRef, 'access', _869 => _869.metadata, 'optionalAccess', _870 => _870.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42684
42692
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42685
42693
  MingoInfoCard,
42686
42694
  {
@@ -42749,12 +42757,12 @@ function ProductReleaseChatCard({
42749
42757
  discuss
42750
42758
  }) {
42751
42759
  const releaseProps = buildProps(item);
42752
- const status = _optionalChain([item, 'optionalAccess', _869 => _869.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42760
+ const status = _optionalChain([item, 'optionalAccess', _871 => _871.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42753
42761
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42754
42762
  EntityMingoCard,
42755
42763
  {
42756
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.title]), () => ( "")),
42757
- description: _optionalChain([item, 'optionalAccess', _871 => _871.summary]) || releaseProps.formattedDate || void 0,
42764
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _872 => _872.title]), () => ( "")),
42765
+ description: _optionalChain([item, 'optionalAccess', _873 => _873.summary]) || releaseProps.formattedDate || void 0,
42758
42766
  cover: releaseProps.coverImage || void 0,
42759
42767
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Rocket02Icon, { size: 24 }),
42760
42768
  status,
@@ -42771,17 +42779,17 @@ function CampaignChatCard({
42771
42779
  isNewTab,
42772
42780
  discuss
42773
42781
  }) {
42774
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _872 => _872.goals])) ? item.goals.length : 0;
42782
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _874 => _874.goals])) ? item.goals.length : 0;
42775
42783
  const meta = [
42776
- _optionalChain([item, 'optionalAccess', _873 => _873.start_date]) ? formatDateShort(item.start_date) : null,
42784
+ _optionalChain([item, 'optionalAccess', _875 => _875.start_date]) ? formatDateShort(item.start_date) : null,
42777
42785
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
42778
42786
  "Marketing campaign"
42779
42787
  ].filter(Boolean).join(" \xB7 ");
42780
42788
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42781
42789
  EntityMingoCard,
42782
42790
  {
42783
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _874 => _874.name]), () => ( "")),
42784
- description: meta || _optionalChain([item, 'optionalAccess', _875 => _875.description]) || void 0,
42791
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _876 => _876.name]), () => ( "")),
42792
+ description: meta || _optionalChain([item, 'optionalAccess', _877 => _877.description]) || void 0,
42785
42793
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Megaphone01Icon, { size: 24 }),
42786
42794
  chatRef,
42787
42795
  isNewTab,
@@ -42834,14 +42842,14 @@ function BlogChatCard({
42834
42842
  hasEmbeddedVideo,
42835
42843
  discuss
42836
42844
  }) {
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;
42845
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _878 => _878.categories])) ? _optionalChain([item, 'access', _879 => _879.categories, 'access', _880 => _880.find, 'call', _881 => _881((c) => c && c.name), 'optionalAccess', _882 => _882.name]) : void 0;
42838
42846
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
42839
42847
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42840
42848
  EntityMingoCard,
42841
42849
  {
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),
42850
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _883 => _883.title]), () => ( "")),
42851
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _884 => _884.summary]), () => ( void 0)),
42852
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _885 => _885.featured_image]), ogPlaceholder),
42845
42853
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.NewspaperIcon, { size: 24 }),
42846
42854
  status,
42847
42855
  chatRef,
@@ -42858,13 +42866,13 @@ function CaseStudyChatCard({
42858
42866
  ogPlaceholder,
42859
42867
  discuss
42860
42868
  }) {
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 ");
42869
+ const meta = [_optionalChain([item, 'optionalAccess', _886 => _886.msp, 'optionalAccess', _887 => _887.name]), _optionalChain([item, 'optionalAccess', _888 => _888.user, 'optionalAccess', _889 => _889.full_name])].filter(Boolean).join(" \xB7 ");
42862
42870
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42863
42871
  EntityMingoCard,
42864
42872
  {
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),
42873
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _890 => _890.title]), () => ( "")),
42874
+ description: _optionalChain([item, 'optionalAccess', _891 => _891.summary]) || meta || void 0,
42875
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _892 => _892.featured_image]), ogPlaceholder),
42868
42876
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrophyIcon, { size: 24 }),
42869
42877
  status: { label: "Case study", variant: "grey" },
42870
42878
  chatRef,
@@ -42881,13 +42889,13 @@ function CustomerInterviewChatCard({
42881
42889
  ogPlaceholder,
42882
42890
  discuss
42883
42891
  }) {
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 ");
42892
+ const meta = [_optionalChain([item, 'optionalAccess', _893 => _893.user, 'optionalAccess', _894 => _894.full_name]), _optionalChain([item, 'optionalAccess', _895 => _895.msp, 'optionalAccess', _896 => _896.name])].filter(Boolean).join(" \xB7 ");
42885
42893
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42886
42894
  EntityMingoCard,
42887
42895
  {
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),
42896
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _897 => _897.title]), () => ( "")),
42897
+ description: _optionalChain([item, 'optionalAccess', _898 => _898.video_summary]) || meta || void 0,
42898
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _899 => _899.featured_image]), ogPlaceholder),
42891
42899
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MicrophoneIcon, { size: 24 }),
42892
42900
  status: { label: "Interview", variant: "grey" },
42893
42901
  chatRef,
@@ -42904,13 +42912,13 @@ function InvestorUpdateChatCard({
42904
42912
  ogPlaceholder,
42905
42913
  discuss
42906
42914
  }) {
42907
- const title = _optionalChain([item, 'optionalAccess', _898 => _898.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _899 => _899.update_number]), () => ( "?"))}`;
42915
+ const title = _optionalChain([item, 'optionalAccess', _900 => _900.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _901 => _901.update_number]), () => ( "?"))}`;
42908
42916
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42909
42917
  EntityMingoCard,
42910
42918
  {
42911
42919
  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),
42920
+ description: _optionalChain([item, 'optionalAccess', _902 => _902.strategic_update]) || _optionalChain([item, 'optionalAccess', _903 => _903.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _904 => _904.period_start]), _optionalChain([item, 'optionalAccess', _905 => _905.period_end])) || void 0,
42921
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _906 => _906.featured_image]), ogPlaceholder),
42914
42922
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.PresentationLineIcon, { size: 24 }),
42915
42923
  status: { label: "Investor update", variant: "grey" },
42916
42924
  chatRef,
@@ -42927,12 +42935,12 @@ function OnboardingGuideChatCard({
42927
42935
  ogPlaceholder,
42928
42936
  discuss
42929
42937
  }) {
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)));
42938
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _907 => _907.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _908 => _908.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _909 => _909.og_image_url]), ogPlaceholder)));
42931
42939
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42932
42940
  EntityMingoCard,
42933
42941
  {
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)),
42942
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _910 => _910.title]), () => ( "")),
42943
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _911 => _911.summary]), () => ( _optionalChain([item, 'optionalAccess', _912 => _912.description]))), () => ( void 0)),
42936
42944
  cover,
42937
42945
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CompassIcon, { size: 24 }),
42938
42946
  status: { label: "Guide", variant: "grey" },
@@ -42953,25 +42961,25 @@ function ProgramChatCard({
42953
42961
  discuss
42954
42962
  }) {
42955
42963
  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";
42964
+ const isScheduled = _optionalChain([item, 'optionalAccess', _913 => _913.status]) === "scheduled";
42957
42965
  let typeMeta;
42958
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _912 => _912.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42966
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _914 => _914.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42959
42967
  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) {
42968
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _915 => _915.location_name]) === "string" && item.location_name.trim().length > 0) {
42961
42969
  typeMeta = item.location_name;
42962
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _914 => _914.start_at])) {
42970
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _916 => _916.start_at])) {
42963
42971
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
42964
42972
  const dur = formatDurationFromRange(item.start_at, item.end_at);
42965
42973
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42966
42974
  }
42967
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _915 => _915.date]), () => ( null)), { fallback: "", timezone: "local" });
42975
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _917 => _917.date]), () => ( null)), { fallback: "", timezone: "local" });
42968
42976
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
42969
42977
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42970
42978
  EntityMingoCard,
42971
42979
  {
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),
42980
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")),
42981
+ description: meta || _optionalChain([item, 'optionalAccess', _919 => _919.description]) || void 0,
42982
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _920 => _920.cover_url]), ogPlaceholder),
42975
42983
  fallbackIcon: icon,
42976
42984
  status: { label, variant: "grey" },
42977
42985
  chatRef,
@@ -42988,10 +42996,10 @@ function RoadmapChatCard({
42988
42996
  cardType,
42989
42997
  discuss
42990
42998
  }) {
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;
42999
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _921 => _921.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43000
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _922 => _922.customItemId]) != null;
42993
43001
  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 ? (
43002
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _923 => _923.customItemId]), className: "size-6" }) : logoUrl ? (
42995
43003
  // Contained (not full-bleed) so the integration logo keeps its aspect
42996
43004
  // ratio inside the bordered icon box — matches RoadmapCard.
42997
43005
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -42999,10 +43007,10 @@ function RoadmapChatCard({
42999
43007
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43000
43008
  EntityMingoCard,
43001
43009
  {
43002
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.title]), () => ( "")),
43003
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _923 => _923.description]), () => ( void 0)),
43010
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")),
43011
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _925 => _925.description]), () => ( void 0)),
43004
43012
  fallbackIcon: icon,
43005
- status: statusPill(_optionalChain([item, 'optionalAccess', _924 => _924.status])),
43013
+ status: statusPill(_optionalChain([item, 'optionalAccess', _926 => _926.status])),
43006
43014
  chatRef,
43007
43015
  isNewTab,
43008
43016
  discuss,
@@ -43088,7 +43096,7 @@ function programRegistryEntries() {
43088
43096
  discuss: opts.discuss,
43089
43097
  configKey: cfg.configKey,
43090
43098
  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))
43099
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _927 => _927.extras, 'optionalAccess', _928 => _928.buildOgPlaceholderUrl, 'optionalCall', _929 => _929(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _930 => _930.title]), () => ( "")))]), () => ( null))
43092
43100
  }
43093
43101
  )
43094
43102
  };
@@ -43240,8 +43248,8 @@ var CHAT_CARD_REGISTRY = {
43240
43248
  chatRef,
43241
43249
  isNewTab: opts.isNewTab,
43242
43250
  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
43251
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _931 => _931.extras, 'optionalAccess', _932 => _932.buildOgPlaceholderUrl, 'optionalCall', _933 => _933(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _934 => _934.title]), () => ( "")))]), () => ( null)),
43252
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _935 => _935.metadata, 'optionalAccess', _936 => _936.hasEmbeddedVideo]) === true
43245
43253
  }
43246
43254
  )
43247
43255
  },
@@ -43258,7 +43266,7 @@ var CHAT_CARD_REGISTRY = {
43258
43266
  chatRef,
43259
43267
  isNewTab: opts.isNewTab,
43260
43268
  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))
43269
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _937 => _937.extras, 'optionalAccess', _938 => _938.buildOgPlaceholderUrl, 'optionalCall', _939 => _939(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _940 => _940.title]), () => ( "")))]), () => ( null))
43262
43270
  }
43263
43271
  )
43264
43272
  },
@@ -43275,7 +43283,7 @@ var CHAT_CARD_REGISTRY = {
43275
43283
  chatRef,
43276
43284
  isNewTab: opts.isNewTab,
43277
43285
  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))
43286
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _941 => _941.extras, 'optionalAccess', _942 => _942.buildOgPlaceholderUrl, 'optionalCall', _943 => _943(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _944 => _944.title]), () => ( "")))]), () => ( null))
43279
43287
  }
43280
43288
  )
43281
43289
  },
@@ -43286,7 +43294,7 @@ var CHAT_CARD_REGISTRY = {
43286
43294
  bareInline: true,
43287
43295
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
43288
43296
  render: (item, chatRef, opts) => {
43289
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _943 => _943.extras, 'optionalAccess', _944 => _944.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43297
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43290
43298
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43291
43299
  ProductReleaseChatCard,
43292
43300
  {
@@ -43313,7 +43321,7 @@ var CHAT_CARD_REGISTRY = {
43313
43321
  chatRef,
43314
43322
  isNewTab: opts.isNewTab,
43315
43323
  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))
43324
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _947 => _947.extras, 'optionalAccess', _948 => _948.buildOgPlaceholderUrl, 'optionalCall', _949 => _949(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _950 => _950.title]), () => ( "")))]), () => ( null))
43317
43325
  }
43318
43326
  )
43319
43327
  },
@@ -43332,7 +43340,7 @@ var CHAT_CARD_REGISTRY = {
43332
43340
  chatRef,
43333
43341
  isNewTab: opts.isNewTab,
43334
43342
  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))
43343
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _951 => _951.extras, 'optionalAccess', _952 => _952.buildOgPlaceholderUrl, 'optionalCall', _953 => _953(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _954 => _954.title]), () => ( "")))]), () => ( null))
43336
43344
  }
43337
43345
  )
43338
43346
  },
@@ -43344,7 +43352,7 @@ var CHAT_CARD_REGISTRY = {
43344
43352
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
43345
43353
  // No public viewer — synthesize the hub-internal admin URL post-fetch
43346
43354
  // so the wrapper + isNewTab computation see the actual destination.
43347
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _953 => _953.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43355
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _955 => _955.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43348
43356
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43349
43357
  CampaignChatCard,
43350
43358
  {
@@ -43370,12 +43378,12 @@ function ChatCardNavWrap({
43370
43378
  const onClickCapture = (e) => {
43371
43379
  if (!href) return;
43372
43380
  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;
43381
+ if (_optionalChain([targetEl, 'optionalAccess', _956 => _956.closest, 'optionalCall', _957 => _957("button")])) return;
43382
+ if (!_optionalChain([targetEl, 'optionalAccess', _958 => _958.closest, 'optionalCall', _959 => _959("a")])) return;
43375
43383
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
43376
43384
  if (!handled) return;
43377
43385
  e.stopPropagation();
43378
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _958 => _958.closeChat])) panel.closeChat();
43386
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _960 => _960.closeChat])) panel.closeChat();
43379
43387
  };
43380
43388
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
43381
43389
  }
@@ -43397,7 +43405,7 @@ function ChatCardLoader({
43397
43405
  title: chatRef.title,
43398
43406
  externalUrl: chatRef.url,
43399
43407
  targetPlatform: chatRef.targetPlatform,
43400
- path: typeof _optionalChain([chatRef, 'access', _959 => _959.metadata, 'optionalAccess', _960 => _960.path]) === "string" ? chatRef.metadata.path : null
43408
+ path: typeof _optionalChain([chatRef, 'access', _961 => _961.metadata, 'optionalAccess', _962 => _962.path]) === "string" ? chatRef.metadata.path : null
43401
43409
  },
43402
43410
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
43403
43411
  );
@@ -43411,7 +43419,7 @@ function ChatCardLoader({
43411
43419
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
43412
43420
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
43413
43421
  const { item, isLoading } = useChatCardItem(
43414
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _961 => _961.contentRefType]), () => ( "")),
43422
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _963 => _963.contentRefType]), () => ( "")),
43415
43423
  fetchEntry ? resolvedChatRef.id : ""
43416
43424
  );
43417
43425
  if (!entry) return null;
@@ -43442,7 +43450,7 @@ function ChatCardLoader({
43442
43450
  isNewTab,
43443
43451
  discuss
43444
43452
  };
43445
- const path = typeof _optionalChain([finalChatRef, 'access', _962 => _962.metadata, 'optionalAccess', _963 => _963.path]) === "string" ? finalChatRef.metadata.path : null;
43453
+ const path = typeof _optionalChain([finalChatRef, 'access', _964 => _964.metadata, 'optionalAccess', _965 => _965.path]) === "string" ? finalChatRef.metadata.path : null;
43446
43454
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43447
43455
  ChatCardNavWrap,
43448
43456
  {
@@ -43828,7 +43836,7 @@ function useJetStreamDialogSubscription({
43828
43836
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43829
43837
  conn: sharedConn,
43830
43838
  wsUrl,
43831
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]),
43839
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]),
43832
43840
  backoff: reconnectionBackoffRef.current,
43833
43841
  getFreshUrl: () => getNatsWsUrlRef.current(),
43834
43842
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -43843,7 +43851,7 @@ function useJetStreamDialogSubscription({
43843
43851
  setReconnectionCount((c) => c + 1);
43844
43852
  }
43845
43853
  hadConnectionBeforeRef.current = true;
43846
- _optionalChain([onConnectRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]);
43854
+ _optionalChain([onConnectRef, 'access', _968 => _968.current, 'optionalCall', _969 => _969()]);
43847
43855
  }
43848
43856
  if (status === "error") {
43849
43857
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -43853,7 +43861,7 @@ function useJetStreamDialogSubscription({
43853
43861
  setIsConnected(false);
43854
43862
  setIsSubscribed(false);
43855
43863
  tearDownSubscription();
43856
- _optionalChain([onDisconnectRef, 'access', _968 => _968.current, 'optionalCall', _969 => _969()]);
43864
+ _optionalChain([onDisconnectRef, 'access', _970 => _970.current, 'optionalCall', _971 => _971()]);
43857
43865
  }
43858
43866
  }
43859
43867
  });
@@ -43932,7 +43940,7 @@ function useJetStreamDialogSubscription({
43932
43940
  }
43933
43941
  subscriptionRef.current = handle;
43934
43942
  setIsSubscribed(true);
43935
- _optionalChain([onSubscribedRef, 'access', _970 => _970.current, 'optionalCall', _971 => _971()]);
43943
+ _optionalChain([onSubscribedRef, 'access', _972 => _972.current, 'optionalCall', _973 => _973()]);
43936
43944
  } catch (e44) {
43937
43945
  if (!cancelled) {
43938
43946
  setIsSubscribed(false);
@@ -44045,20 +44053,20 @@ function useNatsDialogSubscription({
44045
44053
  const tearDownSubscriptions = () => {
44046
44054
  subscriptionRefs.current.forEach((sub) => {
44047
44055
  try {
44048
- _optionalChain([sub, 'optionalAccess', _972 => _972.unsubscribe, 'call', _973 => _973()]);
44056
+ _optionalChain([sub, 'optionalAccess', _974 => _974.unsubscribe, 'call', _975 => _975()]);
44049
44057
  } catch (e46) {
44050
44058
  }
44051
44059
  });
44052
44060
  subscriptionRefs.current.clear();
44053
44061
  lastSubscribedDialogIdRef.current = null;
44054
- _optionalChain([abortControllerRef, 'access', _974 => _974.current, 'optionalAccess', _975 => _975.abort, 'call', _976 => _976()]);
44062
+ _optionalChain([abortControllerRef, 'access', _976 => _976.current, 'optionalAccess', _977 => _977.abort, 'call', _978 => _978()]);
44055
44063
  abortControllerRef.current = null;
44056
44064
  };
44057
44065
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
44058
44066
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44059
44067
  conn: sharedConn,
44060
44068
  wsUrl,
44061
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]),
44069
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]),
44062
44070
  backoff: reconnectionBackoffRef.current,
44063
44071
  getFreshUrl: () => getNatsWsUrlRef.current(),
44064
44072
  shouldRetryOn: isDisconnectStatus,
@@ -44069,7 +44077,7 @@ function useNatsDialogSubscription({
44069
44077
  setReconnectionCount((c) => c + 1);
44070
44078
  }
44071
44079
  hadConnectionBeforeRef.current = true;
44072
- _optionalChain([onConnectRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]);
44080
+ _optionalChain([onConnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]);
44073
44081
  }
44074
44082
  if (status === "error") {
44075
44083
  console.warn("[NATS] protocol error:", evt.data);
@@ -44079,7 +44087,7 @@ function useNatsDialogSubscription({
44079
44087
  setIsConnected(false);
44080
44088
  setIsSubscribed(false);
44081
44089
  tearDownSubscriptions();
44082
- _optionalChain([onDisconnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]);
44090
+ _optionalChain([onDisconnectRef, 'access', _983 => _983.current, 'optionalCall', _984 => _984()]);
44083
44091
  }
44084
44092
  }
44085
44093
  });
@@ -44110,13 +44118,13 @@ function useNatsDialogSubscription({
44110
44118
  setIsSubscribed(false);
44111
44119
  subscriptionRefs.current.forEach((sub) => {
44112
44120
  try {
44113
- _optionalChain([sub, 'optionalAccess', _983 => _983.unsubscribe, 'call', _984 => _984()]);
44121
+ _optionalChain([sub, 'optionalAccess', _985 => _985.unsubscribe, 'call', _986 => _986()]);
44114
44122
  } catch (e47) {
44115
44123
  }
44116
44124
  });
44117
44125
  subscriptionRefs.current.clear();
44118
44126
  lastSubscribedDialogIdRef.current = null;
44119
- _optionalChain([abortControllerRef, 'access', _985 => _985.current, 'optionalAccess', _986 => _986.abort, 'call', _987 => _987()]);
44127
+ _optionalChain([abortControllerRef, 'access', _987 => _987.current, 'optionalAccess', _988 => _988.abort, 'call', _989 => _989()]);
44120
44128
  abortControllerRef.current = null;
44121
44129
  }
44122
44130
  return;
@@ -44128,12 +44136,12 @@ function useNatsDialogSubscription({
44128
44136
  if (subscriptionRefs.current.size > 0) {
44129
44137
  subscriptionRefs.current.forEach((sub) => {
44130
44138
  try {
44131
- _optionalChain([sub, 'optionalAccess', _988 => _988.unsubscribe, 'call', _989 => _989()]);
44139
+ _optionalChain([sub, 'optionalAccess', _990 => _990.unsubscribe, 'call', _991 => _991()]);
44132
44140
  } catch (e48) {
44133
44141
  }
44134
44142
  });
44135
44143
  subscriptionRefs.current.clear();
44136
- _optionalChain([abortControllerRef, 'access', _990 => _990.current, 'optionalAccess', _991 => _991.abort, 'call', _992 => _992()]);
44144
+ _optionalChain([abortControllerRef, 'access', _992 => _992.current, 'optionalAccess', _993 => _993.abort, 'call', _994 => _994()]);
44137
44145
  }
44138
44146
  abortControllerRef.current = new AbortController();
44139
44147
  const abort = abortControllerRef.current;
@@ -44165,7 +44173,7 @@ function useNatsDialogSubscription({
44165
44173
  });
44166
44174
  lastSubscribedDialogIdRef.current = dialogId;
44167
44175
  setIsSubscribed(true);
44168
- _optionalChain([onSubscribedRef, 'access', _993 => _993.current, 'optionalCall', _994 => _994()]);
44176
+ _optionalChain([onSubscribedRef, 'access', _995 => _995.current, 'optionalCall', _996 => _996()]);
44169
44177
  };
44170
44178
  if (isConnectedRef.current) {
44171
44179
  createSubscriptions();
@@ -44175,7 +44183,7 @@ function useNatsDialogSubscription({
44175
44183
  abort.abort();
44176
44184
  subscriptionRefs.current.forEach((sub) => {
44177
44185
  try {
44178
- _optionalChain([sub, 'optionalAccess', _995 => _995.unsubscribe, 'call', _996 => _996()]);
44186
+ _optionalChain([sub, 'optionalAccess', _997 => _997.unsubscribe, 'call', _998 => _998()]);
44179
44187
  } catch (e50) {
44180
44188
  }
44181
44189
  });
@@ -44216,7 +44224,7 @@ function useNatsDialogSubscription({
44216
44224
  });
44217
44225
  lastSubscribedDialogIdRef.current = dialogId2;
44218
44226
  setIsSubscribed(true);
44219
- _optionalChain([onSubscribedRef, 'access', _997 => _997.current, 'optionalCall', _998 => _998()]);
44227
+ _optionalChain([onSubscribedRef, 'access', _999 => _999.current, 'optionalCall', _1000 => _1000()]);
44220
44228
  } else if (subscriptionRefs.current.size > 0) {
44221
44229
  setIsSubscribed(true);
44222
44230
  }
@@ -44224,10 +44232,10 @@ function useNatsDialogSubscription({
44224
44232
  return { isConnected, isSubscribed, reconnectionCount };
44225
44233
  }
44226
44234
  function buildNatsWsUrl(apiBaseUrl, options) {
44227
- const path = _optionalChain([options, 'optionalAccess', _999 => _999.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44235
+ const path = _optionalChain([options, 'optionalAccess', _1001 => _1001.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44228
44236
  const u = new URL(path, apiBaseUrl);
44229
44237
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
44230
- if (_optionalChain([options, 'optionalAccess', _1000 => _1000.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1001 => _1001.token])) {
44238
+ if (_optionalChain([options, 'optionalAccess', _1002 => _1002.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1003 => _1003.token])) {
44231
44239
  u.searchParams.set("authorization", options.token);
44232
44240
  }
44233
44241
  return u.toString();
@@ -44363,7 +44371,7 @@ function parseChunkToAction(chunk) {
44363
44371
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
44364
44372
  // historical path in `process-historical-messages.ts`) — keeps both
44365
44373
  // 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
44374
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1004 => _1004.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1005 => _1005.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44367
44375
  };
44368
44376
  case MESSAGE_TYPE.TOKEN_USAGE:
44369
44377
  return {
@@ -44555,8 +44563,8 @@ var MessageSegmentAccumulator = class {
44555
44563
  type: "tool_execution",
44556
44564
  data: {
44557
44565
  ...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])
44566
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1006 => _1006.data, 'access', _1007 => _1007.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1008 => _1008.toolTitle]))),
44567
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1009 => _1009.parameters])
44560
44568
  }
44561
44569
  };
44562
44570
  if (existingIndex !== -1) {
@@ -44580,8 +44588,8 @@ var MessageSegmentAccumulator = class {
44580
44588
  if (seg.type !== "approval_batch") return seg;
44581
44589
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44582
44590
  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]) };
44591
+ const prev = _optionalChain([seg, 'access', _1010 => _1010.data, 'access', _1011 => _1011.executions, 'optionalAccess', _1012 => _1012[execId]]);
44592
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1013 => _1013.result]), success: _optionalChain([prev, 'optionalAccess', _1014 => _1014.success]) };
44585
44593
  matched = true;
44586
44594
  return {
44587
44595
  ...seg,
@@ -44703,10 +44711,10 @@ var MessageSegmentAccumulator = class {
44703
44711
  const segment = {
44704
44712
  type: "approval_request",
44705
44713
  data: {
44706
- command: _optionalChain([pendingApproval, 'optionalAccess', _1013 => _1013.command]) || "",
44707
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1014 => _1014.explanation]),
44714
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1015 => _1015.command]) || "",
44715
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1016 => _1016.explanation]),
44708
44716
  requestId,
44709
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1015 => _1015.approvalType]) || approvalType
44717
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1017 => _1017.approvalType]) || approvalType
44710
44718
  },
44711
44719
  status,
44712
44720
  onApprove: this.callbacks.onApprove,
@@ -44898,7 +44906,7 @@ function useRealtimeChunkProcessor(options) {
44898
44906
  if (initialState.escalatedApprovals) {
44899
44907
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
44900
44908
  initialState.escalatedApprovals.forEach((data, requestId) => {
44901
- _optionalChain([callbacks, 'access', _1016 => _1016.onEscalatedApproval, 'optionalCall', _1017 => _1017(requestId, data)]);
44909
+ _optionalChain([callbacks, 'access', _1018 => _1018.onEscalatedApproval, 'optionalCall', _1019 => _1019(requestId, data)]);
44902
44910
  });
44903
44911
  }
44904
44912
  hasEverStreamedRef.current = true;
@@ -44919,12 +44927,12 @@ function useRealtimeChunkProcessor(options) {
44919
44927
  if (!action) return;
44920
44928
  const accumulator = accumulatorRef.current;
44921
44929
  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)]);
44930
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1020 => _1020.onSegmentsUpdate, 'optionalCall', _1021 => _1021(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44923
44931
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
44924
44932
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
44925
44933
  if (isInStreamRef.current) {
44926
44934
  isInStreamRef.current = false;
44927
- _optionalChain([callbacks, 'access', _1020 => _1020.onStreamEnd, 'optionalCall', _1021 => _1021()]);
44935
+ _optionalChain([callbacks, 'access', _1022 => _1022.onStreamEnd, 'optionalCall', _1023 => _1023()]);
44928
44936
  accumulator.resetSegments();
44929
44937
  }
44930
44938
  return;
@@ -44933,16 +44941,16 @@ function useRealtimeChunkProcessor(options) {
44933
44941
  case "message_start":
44934
44942
  isInStreamRef.current = true;
44935
44943
  hasEverStreamedRef.current = true;
44936
- _optionalChain([callbacks, 'access', _1022 => _1022.onStreamStart, 'optionalCall', _1023 => _1023()]);
44944
+ _optionalChain([callbacks, 'access', _1024 => _1024.onStreamStart, 'optionalCall', _1025 => _1025()]);
44937
44945
  accumulator.resetSegments();
44938
44946
  break;
44939
44947
  case "message_end":
44940
44948
  isInStreamRef.current = false;
44941
- _optionalChain([callbacks, 'access', _1024 => _1024.onStreamEnd, 'optionalCall', _1025 => _1025()]);
44949
+ _optionalChain([callbacks, 'access', _1026 => _1026.onStreamEnd, 'optionalCall', _1027 => _1027()]);
44942
44950
  accumulator.resetSegments();
44943
44951
  break;
44944
44952
  case "metadata":
44945
- _optionalChain([callbacks, 'access', _1026 => _1026.onMetadata, 'optionalCall', _1027 => _1027(action)]);
44953
+ _optionalChain([callbacks, 'access', _1028 => _1028.onMetadata, 'optionalCall', _1029 => _1029(action)]);
44946
44954
  break;
44947
44955
  case "text": {
44948
44956
  const segments = accumulator.appendText(action.text);
@@ -44985,7 +44993,7 @@ function useRealtimeChunkProcessor(options) {
44985
44993
  emitSegments(segments);
44986
44994
  } else {
44987
44995
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44988
- _optionalChain([callbacks, 'access', _1028 => _1028.onEscalatedApproval, 'optionalCall', _1029 => _1029(requestId, { command, explanation, approvalType })]);
44996
+ _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApproval, 'optionalCall', _1031 => _1031(requestId, { command, explanation, approvalType })]);
44989
44997
  }
44990
44998
  break;
44991
44999
  }
@@ -44997,13 +45005,13 @@ function useRealtimeChunkProcessor(options) {
44997
45005
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
44998
45006
  pendingEscalatedRef.current.set(requestId, {
44999
45007
  command: summary,
45000
- explanation: _optionalChain([required, 'optionalAccess', _1030 => _1030.toolExplanation]),
45008
+ explanation: _optionalChain([required, 'optionalAccess', _1032 => _1032.toolExplanation]),
45001
45009
  approvalType,
45002
45010
  toolCalls
45003
45011
  });
45004
- _optionalChain([callbacks, 'access', _1031 => _1031.onEscalatedApproval, 'optionalCall', _1032 => _1032(requestId, {
45012
+ _optionalChain([callbacks, 'access', _1033 => _1033.onEscalatedApproval, 'optionalCall', _1034 => _1034(requestId, {
45005
45013
  command: summary,
45006
- explanation: _optionalChain([required, 'optionalAccess', _1033 => _1033.toolExplanation]),
45014
+ explanation: _optionalChain([required, 'optionalAccess', _1035 => _1035.toolExplanation]),
45007
45015
  approvalType
45008
45016
  })]);
45009
45017
  break;
@@ -45033,7 +45041,7 @@ function useRealtimeChunkProcessor(options) {
45033
45041
  const status = approved ? "approved" : "rejected";
45034
45042
  if (escalatedData) {
45035
45043
  pendingEscalatedRef.current.delete(requestId);
45036
- _optionalChain([callbacks, 'access', _1034 => _1034.onEscalatedApprovalResult, 'optionalCall', _1035 => _1035(requestId, approved, {
45044
+ _optionalChain([callbacks, 'access', _1036 => _1036.onEscalatedApprovalResult, 'optionalCall', _1037 => _1037(requestId, approved, {
45037
45045
  command: escalatedData.command,
45038
45046
  explanation: escalatedData.explanation,
45039
45047
  approvalType: escalatedData.approvalType
@@ -45079,29 +45087,29 @@ function useRealtimeChunkProcessor(options) {
45079
45087
  emitSegments(accumulator.getSegments());
45080
45088
  }
45081
45089
  }
45082
- _optionalChain([callbacks, 'access', _1036 => _1036.onApprovalResolved, 'optionalCall', _1037 => _1037(requestId, status, approvalType, resolvedByName)]);
45090
+ _optionalChain([callbacks, 'access', _1038 => _1038.onApprovalResolved, 'optionalCall', _1039 => _1039(requestId, status, approvalType, resolvedByName)]);
45083
45091
  break;
45084
45092
  }
45085
45093
  case "error": {
45086
45094
  let message2;
45087
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1038 => _1038.details])) {
45095
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1040 => _1040.details])) {
45088
45096
  try {
45089
- message2 = _optionalChain([JSON, 'access', _1039 => _1039.parse, 'call', _1040 => _1040(action.details), 'optionalAccess', _1041 => _1041.error, 'optionalAccess', _1042 => _1042.message]);
45097
+ message2 = _optionalChain([JSON, 'access', _1041 => _1041.parse, 'call', _1042 => _1042(action.details), 'optionalAccess', _1043 => _1043.error, 'optionalAccess', _1044 => _1044.message]);
45090
45098
  } catch (e52) {
45091
45099
  message2 = action.details;
45092
45100
  }
45093
45101
  }
45094
45102
  const segments = accumulator.addError(action.error, message2);
45095
45103
  emitSegments(segments);
45096
- _optionalChain([callbacks, 'access', _1043 => _1043.onError, 'optionalCall', _1044 => _1044(action.error, message2)]);
45104
+ _optionalChain([callbacks, 'access', _1045 => _1045.onError, 'optionalCall', _1046 => _1046(action.error, message2)]);
45097
45105
  break;
45098
45106
  }
45099
45107
  case "system": {
45100
- _optionalChain([callbacks, 'access', _1045 => _1045.onSystemMessage, 'optionalCall', _1046 => _1046(action.text, { streamSeq })]);
45108
+ _optionalChain([callbacks, 'access', _1047 => _1047.onSystemMessage, 'optionalCall', _1048 => _1048(action.text, { streamSeq })]);
45101
45109
  break;
45102
45110
  }
45103
45111
  case "direct_message": {
45104
- _optionalChain([callbacks, 'access', _1047 => _1047.onDirectMessage, 'optionalCall', _1048 => _1048(action.text, {
45112
+ _optionalChain([callbacks, 'access', _1049 => _1049.onDirectMessage, 'optionalCall', _1050 => _1050(action.text, {
45105
45113
  ownerType: action.ownerType,
45106
45114
  displayName: action.displayName,
45107
45115
  userId: action.userId,
@@ -45110,7 +45118,7 @@ function useRealtimeChunkProcessor(options) {
45110
45118
  break;
45111
45119
  }
45112
45120
  case "message_request":
45113
- _optionalChain([callbacks, 'access', _1049 => _1049.onUserMessage, 'optionalCall', _1050 => _1050(action.text, {
45121
+ _optionalChain([callbacks, 'access', _1051 => _1051.onUserMessage, 'optionalCall', _1052 => _1052(action.text, {
45114
45122
  ownerType: action.ownerType,
45115
45123
  displayName: action.displayName,
45116
45124
  userId: action.userId,
@@ -45119,7 +45127,7 @@ function useRealtimeChunkProcessor(options) {
45119
45127
  })]);
45120
45128
  break;
45121
45129
  case "token_usage":
45122
- _optionalChain([callbacks, 'access', _1051 => _1051.onTokenUsage, 'optionalCall', _1052 => _1052(action.data)]);
45130
+ _optionalChain([callbacks, 'access', _1053 => _1053.onTokenUsage, 'optionalCall', _1054 => _1054(action.data)]);
45123
45131
  break;
45124
45132
  case "context_compaction_start": {
45125
45133
  const standalone = !isInStreamRef.current;
@@ -45134,7 +45142,7 @@ function useRealtimeChunkProcessor(options) {
45134
45142
  break;
45135
45143
  }
45136
45144
  case "dialog_closed":
45137
- _optionalChain([callbacks, 'access', _1053 => _1053.onDialogClosed, 'optionalCall', _1054 => _1054()]);
45145
+ _optionalChain([callbacks, 'access', _1055 => _1055.onDialogClosed, 'optionalCall', _1056 => _1056()]);
45138
45146
  break;
45139
45147
  default:
45140
45148
  break;
@@ -45181,7 +45189,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
45181
45189
  const data = await res.json();
45182
45190
  return _nullishCoalesce(data.commands, () => ( []));
45183
45191
  } catch (err) {
45184
- if (_optionalChain([err, 'optionalAccess', _1055 => _1055.name]) === "AbortError") throw err;
45192
+ if (_optionalChain([err, 'optionalAccess', _1057 => _1057.name]) === "AbortError") throw err;
45185
45193
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
45186
45194
  return [];
45187
45195
  }
@@ -45202,7 +45210,7 @@ function useSlashCommands(prefix, commandsUrl) {
45202
45210
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
45203
45211
  if (!cancelled) setCommands(next);
45204
45212
  } catch (err) {
45205
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1056 => _1056.name]) !== "AbortError") {
45213
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1058 => _1058.name]) !== "AbortError") {
45206
45214
  console.warn("[use-slash-commands] fetch failed:", err);
45207
45215
  }
45208
45216
  } finally {
@@ -45221,7 +45229,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
45221
45229
  const query = _reactquery.useQuery.call(void 0, {
45222
45230
  queryKey: ["chat-slash-commands", commandsUrl],
45223
45231
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
45224
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1057 => _1057.enabled]), () => ( true)),
45232
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1059 => _1059.enabled]), () => ( true)),
45225
45233
  staleTime: Infinity,
45226
45234
  gcTime: Infinity,
45227
45235
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -45257,18 +45265,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
45257
45265
  }
45258
45266
  const data = await res.json();
45259
45267
  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]), () => ( []))
45268
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1060 => _1060.greeting]), () => ( null)),
45269
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1061 => _1061.enabledRagTableIds]), () => ( [])),
45270
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1062 => _1062.suggestedQueries]), () => ( []))
45263
45271
  };
45264
45272
  } catch (err) {
45265
- if (_optionalChain([err, 'optionalAccess', _1061 => _1061.name]) === "AbortError") throw err;
45273
+ if (_optionalChain([err, 'optionalAccess', _1063 => _1063.name]) === "AbortError") throw err;
45266
45274
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
45267
45275
  return EMPTY_STATE_FALLBACK;
45268
45276
  }
45269
45277
  }
45270
45278
  function useEmptyStateConfig(emptyStateUrl, options) {
45271
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1062 => _1062.enabled]), () => ( true))) && !!emptyStateUrl;
45279
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1064 => _1064.enabled]), () => ( true))) && !!emptyStateUrl;
45272
45280
  const query = _reactquery.useQuery.call(void 0, {
45273
45281
  queryKey: ["chat-empty-state", emptyStateUrl],
45274
45282
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -45297,7 +45305,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
45297
45305
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
45298
45306
  function uploadWithProgress(url, file, token, onProgress, signal) {
45299
45307
  return new Promise((resolve, reject) => {
45300
- if (_optionalChain([signal, 'optionalAccess', _1063 => _1063.aborted])) {
45308
+ if (_optionalChain([signal, 'optionalAccess', _1065 => _1065.aborted])) {
45301
45309
  reject(new Error("Upload cancelled"));
45302
45310
  return;
45303
45311
  }
@@ -45311,7 +45319,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45311
45319
  xhr.removeEventListener("error", handleError);
45312
45320
  xhr.removeEventListener("abort", handleAbort);
45313
45321
  xhr.removeEventListener("timeout", handleTimeout);
45314
- _optionalChain([signal, 'optionalAccess', _1064 => _1064.removeEventListener, 'call', _1065 => _1065("abort", handleSignalAbort)]);
45322
+ _optionalChain([signal, 'optionalAccess', _1066 => _1066.removeEventListener, 'call', _1067 => _1067("abort", handleSignalAbort)]);
45315
45323
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
45316
45324
  };
45317
45325
  const handleProgress = (event) => {
@@ -45347,7 +45355,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45347
45355
  const handleSignalAbort = () => {
45348
45356
  xhr.abort();
45349
45357
  };
45350
- _optionalChain([signal, 'optionalAccess', _1066 => _1066.addEventListener, 'call', _1067 => _1067("abort", handleSignalAbort, { once: true })]);
45358
+ _optionalChain([signal, 'optionalAccess', _1068 => _1068.addEventListener, 'call', _1069 => _1069("abort", handleSignalAbort, { once: true })]);
45351
45359
  xhr.upload.addEventListener("progress", handleProgress);
45352
45360
  xhr.addEventListener("load", handleLoad);
45353
45361
  xhr.addEventListener("error", handleError);
@@ -45391,12 +45399,12 @@ function useChatAttachments() {
45391
45399
  try {
45392
45400
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
45393
45401
  } catch (err) {
45394
- if (_optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal, 'access', _1069 => _1069.aborted])) return;
45402
+ if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
45395
45403
  throw new Error(
45396
45404
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
45397
45405
  );
45398
45406
  }
45399
- if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
45407
+ if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
45400
45408
  if (!sniffed) {
45401
45409
  throw new Error("Unrecognized file format");
45402
45410
  }
@@ -45410,7 +45418,7 @@ function useChatAttachments() {
45410
45418
  const urlResp = await _chunkDCIB6AK3cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
45411
45419
  method: "POST",
45412
45420
  headers: { "Content-Type": "application/json" },
45413
- signal: _optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal]),
45421
+ signal: _optionalChain([ctrl, 'optionalAccess', _1074 => _1074.signal]),
45414
45422
  body: JSON.stringify({
45415
45423
  fileName: att.file.name,
45416
45424
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -45436,9 +45444,9 @@ function useChatAttachments() {
45436
45444
  (pct) => {
45437
45445
  updateOne(att.id, { progress: pct });
45438
45446
  },
45439
- _optionalChain([ctrl, 'optionalAccess', _1073 => _1073.signal])
45447
+ _optionalChain([ctrl, 'optionalAccess', _1075 => _1075.signal])
45440
45448
  );
45441
- if (_optionalChain([ctrl, 'optionalAccess', _1074 => _1074.signal, 'access', _1075 => _1075.aborted])) return;
45449
+ if (_optionalChain([ctrl, 'optionalAccess', _1076 => _1076.signal, 'access', _1077 => _1077.aborted])) return;
45442
45450
  updateOne(att.id, {
45443
45451
  status: "ready",
45444
45452
  progress: 100,
@@ -45446,7 +45454,7 @@ function useChatAttachments() {
45446
45454
  viewToken: mintData.viewToken
45447
45455
  });
45448
45456
  } catch (err) {
45449
- if (_optionalChain([ctrl, 'optionalAccess', _1076 => _1076.signal, 'access', _1077 => _1077.aborted])) return;
45457
+ if (_optionalChain([ctrl, 'optionalAccess', _1078 => _1078.signal, 'access', _1079 => _1079.aborted])) return;
45450
45458
  const message2 = err instanceof Error ? err.message : String(err);
45451
45459
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
45452
45460
  } finally {
@@ -45597,7 +45605,7 @@ var ANON_DEFAULTS = {
45597
45605
  function useResolveChatIdentity(enabled) {
45598
45606
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45599
45607
  const url = runtime.endpoints.identityUrl;
45600
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1078 => _1078.email]), () => ( null));
45608
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1080 => _1080.email]), () => ( null));
45601
45609
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45602
45610
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45603
45611
  _react.useEffect.call(void 0, () => {
@@ -45688,7 +45696,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45688
45696
  yield chunk;
45689
45697
  }
45690
45698
  } catch (err) {
45691
- if (_optionalChain([err, 'optionalAccess', _1079 => _1079.name]) === "AbortError" || ctrl.signal.aborted) {
45699
+ if (_optionalChain([err, 'optionalAccess', _1081 => _1081.name]) === "AbortError" || ctrl.signal.aborted) {
45692
45700
  return;
45693
45701
  }
45694
45702
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45739,7 +45747,7 @@ function useChat({
45739
45747
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45740
45748
  onMessagesChangeRef.current = onMessagesChange;
45741
45749
  _react.useEffect.call(void 0, () => {
45742
- _optionalChain([onMessagesChangeRef, 'access', _1080 => _1080.current, 'optionalCall', _1081 => _1081(messages)]);
45750
+ _optionalChain([onMessagesChangeRef, 'access', _1082 => _1082.current, 'optionalCall', _1083 => _1083(messages)]);
45743
45751
  }, [messages]);
45744
45752
  const {
45745
45753
  streamMessage,
@@ -45776,7 +45784,7 @@ function useChat({
45776
45784
  name: "You",
45777
45785
  content: text,
45778
45786
  timestamp: /* @__PURE__ */ new Date(),
45779
- ..._optionalChain([options, 'optionalAccess', _1082 => _1082.hidden]) ? { hidden: true } : {}
45787
+ ..._optionalChain([options, 'optionalAccess', _1084 => _1084.hidden]) ? { hidden: true } : {}
45780
45788
  };
45781
45789
  addMessage(userMessage);
45782
45790
  setIsTyping(true);
@@ -45838,7 +45846,7 @@ function useChat({
45838
45846
  currentTextSegment = "";
45839
45847
  }
45840
45848
  const seg = segment;
45841
- const proposalId = _optionalChain([seg, 'access', _1083 => _1083.data, 'optionalAccess', _1084 => _1084.requestId]);
45849
+ const proposalId = _optionalChain([seg, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]);
45842
45850
  const updateApprovalMessage = (transform) => {
45843
45851
  setMessages((prev) => {
45844
45852
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -45847,7 +45855,7 @@ function useChat({
45847
45855
  if (!Array.isArray(m.content)) continue;
45848
45856
  const segments = m.content;
45849
45857
  const hasMatch = segments.some(
45850
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]) === proposalId
45858
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1087 => _1087.data, 'optionalAccess', _1088 => _1088.requestId]) === proposalId
45851
45859
  );
45852
45860
  if (!hasMatch) continue;
45853
45861
  const next = [...prev];
@@ -45889,11 +45897,11 @@ function useChat({
45889
45897
  if (!Array.isArray(m.content)) continue;
45890
45898
  const segments = m.content;
45891
45899
  const hasMatch = segments.some(
45892
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1087 => _1087.data, 'optionalAccess', _1088 => _1088.requestId]) === decision.proposalId
45900
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1089 => _1089.data, 'optionalAccess', _1090 => _1090.requestId]) === decision.proposalId
45893
45901
  );
45894
45902
  if (!hasMatch) continue;
45895
45903
  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
45904
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1091 => _1091.data, 'optionalAccess', _1092 => _1092.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45897
45905
  );
45898
45906
  const next = [...prev];
45899
45907
  next[i] = { ...m, content: flipped };
@@ -46055,8 +46063,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46055
46063
  })),
46056
46064
  { role: "user", content: message2 }
46057
46065
  ];
46058
- const targetPath = _optionalChain([extra, 'optionalAccess', _1091 => _1091.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46059
- const requestBody = _optionalChain([extra, 'optionalAccess', _1092 => _1092.approvalAction]) ? {
46066
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1093 => _1093.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46067
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1094 => _1094.approvalAction]) ? {
46060
46068
  proposal_id: extra.approvalAction.proposalId,
46061
46069
  action: extra.approvalAction.action,
46062
46070
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -46065,8 +46073,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46065
46073
  }))
46066
46074
  } : {
46067
46075
  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 } : {}
46076
+ ..._optionalChain([extra, 'optionalAccess', _1095 => _1095.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46077
+ ..._optionalChain([extra, 'optionalAccess', _1096 => _1096.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46070
46078
  };
46071
46079
  const response = await _chunkDCIB6AK3cjs.embedAuthedFetch.call(void 0, targetPath, {
46072
46080
  method: "POST",
@@ -46076,7 +46084,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46076
46084
  if (!response.ok) {
46077
46085
  throw new Error(`Chat request failed: ${response.status}`);
46078
46086
  }
46079
- const reader = _optionalChain([response, 'access', _1095 => _1095.body, 'optionalAccess', _1096 => _1096.getReader, 'call', _1097 => _1097()]);
46087
+ const reader = _optionalChain([response, 'access', _1097 => _1097.body, 'optionalAccess', _1098 => _1098.getReader, 'call', _1099 => _1099()]);
46080
46088
  if (!reader) throw new Error("No response body");
46081
46089
  const decoder = new TextDecoder();
46082
46090
  let buffer = "";
@@ -46159,7 +46167,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46159
46167
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
46160
46168
  const result = _nullishCoalesce(meta.result, () => ( null));
46161
46169
  const card = _nullishCoalesce(meta.card, () => ( null));
46162
- if (_optionalChain([card, 'optionalAccess', _1098 => _1098.ref, 'optionalAccess', _1099 => _1099.id]) && _optionalChain([card, 'optionalAccess', _1100 => _1100.type])) {
46170
+ if (_optionalChain([card, 'optionalAccess', _1100 => _1100.ref, 'optionalAccess', _1101 => _1101.id]) && _optionalChain([card, 'optionalAccess', _1102 => _1102.type])) {
46163
46171
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
46164
46172
  const key = buildChatRefKey(card.type, card.ref.id);
46165
46173
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -46172,8 +46180,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46172
46180
  willAutoContinue: meta.willAutoContinue === true,
46173
46181
  ...toolName ? { toolName } : {},
46174
46182
  ...result ? { result } : {},
46175
- ..._optionalChain([card, 'optionalAccess', _1101 => _1101.marker]) ? { marker: card.marker } : {},
46176
- ..._optionalChain([card, 'optionalAccess', _1102 => _1102.ref]) ? { cardRef: card.ref } : {},
46183
+ ..._optionalChain([card, 'optionalAccess', _1103 => _1103.marker]) ? { marker: card.marker } : {},
46184
+ ..._optionalChain([card, 'optionalAccess', _1104 => _1104.ref]) ? { cardRef: card.ref } : {},
46177
46185
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
46178
46186
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
46179
46187
  };
@@ -46292,7 +46300,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
46292
46300
  var chatStorageKey = (source) => {
46293
46301
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
46294
46302
  const auth = _chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, );
46295
- if (_optionalChain([auth, 'optionalAccess', _1103 => _1103.email])) {
46303
+ if (_optionalChain([auth, 'optionalAccess', _1105 => _1105.email])) {
46296
46304
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
46297
46305
  }
46298
46306
  return base;
@@ -46347,7 +46355,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46347
46355
  const { active = true } = runtimeOptions;
46348
46356
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
46349
46357
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
46350
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1104 => _1104.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46358
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1106 => _1106.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46351
46359
  const persistedRef = _react.useRef.call(void 0, null);
46352
46360
  if (persistedRef.current === null) {
46353
46361
  pruneStaleChatStorage(source);
@@ -46452,7 +46460,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46452
46460
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
46453
46461
  sources = sourcesMapRef.current.get(lookupIdx);
46454
46462
  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));
46463
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1107 => _1107.current, 'access', _1108 => _1108.get, 'call', _1109 => _1109(lookupIdx), 'optionalAccess', _1110 => _1110.scrollAnchor]), () => ( void 0));
46456
46464
  }
46457
46465
  return {
46458
46466
  id: m.id,
@@ -46500,7 +46508,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46500
46508
  );
46501
46509
  return;
46502
46510
  }
46503
- const refSlug = typeof _optionalChain([reference, 'access', _1109 => _1109.metadata, 'optionalAccess', _1110 => _1110.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46511
+ const refSlug = typeof _optionalChain([reference, 'access', _1111 => _1111.metadata, 'optionalAccess', _1112 => _1112.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46504
46512
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
46505
46513
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
46506
46514
  const text = `/${cmdId} display "${escaped}"`;
@@ -46572,18 +46580,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46572
46580
  clearMessages,
46573
46581
  streamingPhase,
46574
46582
  /** 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)),
46583
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.provider]), () => ( null)),
46584
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1114 => _1114.modelLabel]), () => ( null)),
46585
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.contextWindowMaxTokens]), () => ( null)),
46578
46586
  /** Input tokens (known after server's message_start frame; null until). */
46579
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1114 => _1114.inputTokens]), () => ( null)),
46587
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.inputTokens]), () => ( null)),
46580
46588
  /** Output tokens (known only after server's trailing usage frame). */
46581
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.outputTokens]), () => ( null)),
46589
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1117 => _1117.outputTokens]), () => ( null)),
46582
46590
  /** Cache hit % (read / total-input × 100). null during streaming. */
46583
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.cacheHitRatePct]), () => ( null)),
46591
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1118 => _1118.cacheHitRatePct]), () => ( null)),
46584
46592
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46585
46593
  * token counts). null until the trailing usage frame lands. */
46586
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1117 => _1117.breakdown]), () => ( null)),
46594
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1119 => _1119.breakdown]), () => ( null)),
46587
46595
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46588
46596
  // Guide mode currently keeps its history in `localStorage` opaquely
46589
46597
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46641,15 +46649,15 @@ var noopRejectRequest = async (_id, _reason) => {
46641
46649
 
46642
46650
  // src/components/chat/utils/process-historical-messages.ts
46643
46651
  function getOwnerDisplayName(owner) {
46644
- if (_optionalChain([owner, 'optionalAccess', _1118 => _1118.type]) === OWNER_TYPE.ADMIN && owner.user) {
46652
+ if (_optionalChain([owner, 'optionalAccess', _1120 => _1120.type]) === OWNER_TYPE.ADMIN && owner.user) {
46645
46653
  const { firstName, lastName } = owner.user;
46646
46654
  const name = [firstName, lastName].filter(Boolean).join(" ");
46647
46655
  if (name) return name;
46648
46656
  }
46649
- return _optionalChain([owner, 'optionalAccess', _1119 => _1119.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46657
+ return _optionalChain([owner, 'optionalAccess', _1121 => _1121.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46650
46658
  }
46651
46659
  function getOwnerAvatar(owner) {
46652
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1120 => _1120.user, 'optionalAccess', _1121 => _1121.image, 'optionalAccess', _1122 => _1122.imageUrl]), () => ( void 0));
46660
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1122 => _1122.user, 'optionalAccess', _1123 => _1123.image, 'optionalAccess', _1124 => _1124.imageUrl]), () => ( void 0));
46653
46661
  }
46654
46662
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46655
46663
  messageDataArray.forEach((data) => {
@@ -46712,14 +46720,14 @@ function processHistoricalMessages(messages, options = {}) {
46712
46720
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46713
46721
  return;
46714
46722
  }
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;
46723
+ const isUserMessage = _optionalChain([msg, 'access', _1125 => _1125.owner, 'optionalAccess', _1126 => _1126.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.ADMIN;
46716
46724
  if (isUserMessage) {
46717
46725
  flushAssistantMessage();
46718
- const userAuthorType = _optionalChain([msg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46726
+ const userAuthorType = _optionalChain([msg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46719
46727
  messageDataArray.forEach((data) => {
46720
46728
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46721
46729
  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;
46730
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1131 => _1131.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1132 => _1132.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46723
46731
  processedMessages.push({
46724
46732
  id: msg.id,
46725
46733
  role: "user",
@@ -46743,7 +46751,7 @@ function processHistoricalMessages(messages, options = {}) {
46743
46751
  });
46744
46752
  const nextMsg = messages[index + 1];
46745
46753
  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);
46754
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1133 => _1133.owner, 'optionalAccess', _1134 => _1134.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1135 => _1135.owner, 'optionalAccess', _1136 => _1136.type]) === OWNER_TYPE.ADMIN);
46747
46755
  if (isLastMessage || nextIsFromUser) {
46748
46756
  flushAssistantMessage();
46749
46757
  }
@@ -46853,7 +46861,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46853
46861
  }
46854
46862
  }
46855
46863
  } else {
46856
- _optionalChain([escalatedApprovals, 'optionalAccess', _1135 => _1135.set, 'call', _1136 => _1136(data.approvalRequestId, {
46864
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1137 => _1137.set, 'call', _1138 => _1138(data.approvalRequestId, {
46857
46865
  command: data.command || "",
46858
46866
  explanation: data.explanation,
46859
46867
  approvalType,
@@ -46867,8 +46875,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46867
46875
  const existingStatus = approvalStatuses[data.approvalRequestId];
46868
46876
  const status = existingStatus || (data.approved ? "approved" : "rejected");
46869
46877
  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) {
46878
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1139 => _1139.get, 'call', _1140 => _1140(data.approvalRequestId)]);
46879
+ if (_optionalChain([escalatedData, 'optionalAccess', _1141 => _1141.toolCalls]) && escalatedData.toolCalls.length > 0) {
46872
46880
  if (batchApprovalsEnabled) {
46873
46881
  accumulator.addApprovalBatch(
46874
46882
  data.approvalRequestId,
@@ -46890,7 +46898,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46890
46898
  );
46891
46899
  }
46892
46900
  }
46893
- _optionalChain([escalatedApprovals, 'optionalAccess', _1140 => _1140.delete, 'call', _1141 => _1141(data.approvalRequestId)]);
46901
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1142 => _1142.delete, 'call', _1143 => _1143(data.approvalRequestId)]);
46894
46902
  break;
46895
46903
  }
46896
46904
  if (escalatedData) {
@@ -46899,7 +46907,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46899
46907
  explanation: escalatedData.explanation,
46900
46908
  approvalType: escalatedData.approvalType
46901
46909
  });
46902
- _optionalChain([escalatedApprovals, 'optionalAccess', _1142 => _1142.delete, 'call', _1143 => _1143(data.approvalRequestId)]);
46910
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1144 => _1144.delete, 'call', _1145 => _1145(data.approvalRequestId)]);
46903
46911
  }
46904
46912
  const before = accumulator.getSegments();
46905
46913
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -46915,9 +46923,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46915
46923
  case MESSAGE_TYPE.ERROR:
46916
46924
  if ("error" in data) {
46917
46925
  let message2;
46918
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1144 => _1144.details])) {
46926
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1146 => _1146.details])) {
46919
46927
  try {
46920
- message2 = _optionalChain([JSON, 'access', _1145 => _1145.parse, 'call', _1146 => _1146(data.details), 'optionalAccess', _1147 => _1147.error, 'optionalAccess', _1148 => _1148.message]);
46928
+ message2 = _optionalChain([JSON, 'access', _1147 => _1147.parse, 'call', _1148 => _1148(data.details), 'optionalAccess', _1149 => _1149.error, 'optionalAccess', _1150 => _1150.message]);
46921
46929
  } catch (e59) {
46922
46930
  message2 = data.details;
46923
46931
  }
@@ -47000,14 +47008,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47000
47008
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47001
47009
  return;
47002
47010
  }
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;
47011
+ const isUserMessage = _optionalChain([msg, 'access', _1151 => _1151.owner, 'optionalAccess', _1152 => _1152.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.ADMIN;
47004
47012
  if (isUserMessage) {
47005
47013
  flushAssistantMessage();
47006
- const userAuthorType = _optionalChain([msg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47014
+ const userAuthorType = _optionalChain([msg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47007
47015
  messageDataArray.forEach((data) => {
47008
47016
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47009
47017
  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;
47018
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1157 => _1157.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1158 => _1158.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47011
47019
  processedMessages.push({
47012
47020
  id: msg.id,
47013
47021
  role: "user",
@@ -47031,7 +47039,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47031
47039
  });
47032
47040
  const nextMsg = messages[index + 1];
47033
47041
  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);
47042
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1159 => _1159.owner, 'optionalAccess', _1160 => _1160.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1161 => _1161.owner, 'optionalAccess', _1162 => _1162.type]) === OWNER_TYPE.ADMIN);
47035
47043
  if (isLastMessage || nextIsFromUser) {
47036
47044
  flushAssistantMessage();
47037
47045
  }
@@ -47367,7 +47375,7 @@ function useNatsChatAdapter(config, options = {}) {
47367
47375
  }, [active, fetchDialogs, loadDialogsPage]);
47368
47376
  const sendMessage = _react.useCallback.call(void 0,
47369
47377
  async (text, sendOptions) => {
47370
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1161 => _1161.hidden]), () => ( false));
47378
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1163 => _1163.hidden]), () => ( false));
47371
47379
  setMessages((prev) => [
47372
47380
  ...prev,
47373
47381
  {
@@ -47531,11 +47539,11 @@ function useNatsChatAdapter(config, options = {}) {
47531
47539
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47532
47540
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47533
47541
  // 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)),
47542
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1164 => _1164.provider]), () => ( modelProvider)), () => ( null)),
47543
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1165 => _1165.modelLabel]), () => ( modelLabel)), () => ( null)),
47544
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1166 => _1166.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1167 => _1167.contextWindowMaxTokens]))), () => ( null)),
47545
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1168 => _1168.inputTokensSize]), () => ( null)),
47546
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1169 => _1169.outputTokensSize]), () => ( null)),
47539
47547
  currentCacheHitRatePct: null,
47540
47548
  currentUsageBreakdown: null,
47541
47549
  // Dialog management
@@ -47783,7 +47791,7 @@ function extractIncompleteMessageState(lastMessage) {
47783
47791
  break;
47784
47792
  case "approval_batch": {
47785
47793
  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"
47794
+ (c) => _optionalChain([segment, 'access', _1170 => _1170.data, 'access', _1171 => _1171.executions, 'optionalAccess', _1172 => _1172[c.toolExecutionRequestId], 'optionalAccess', _1173 => _1173.status]) === "done"
47787
47795
  );
47788
47796
  if (segment.status !== "rejected" && !allDone) {
47789
47797
  hasIncompleteState = true;
@@ -47851,20 +47859,20 @@ function mergeHistoryWithRealtime(input) {
47851
47859
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
47852
47860
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
47853
47861
  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;
47862
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1174 => _1174.role]) === "assistant" ? trailing : null;
47863
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1175 => _1175.content, 'access', _1176 => _1176.find, 'call', _1177 => _1177((s) => s.type === "approval_batch"), 'optionalAccess', _1178 => _1178.data, 'optionalAccess', _1179 => _1179.approvalRequestId]), () => ( null)) : null;
47856
47864
  let processedToUse = processedHistory;
47857
47865
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
47858
47866
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
47859
47867
  if (historyBatchId) {
47860
47868
  const batchTwins = existingMessages.filter(
47861
47869
  (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
47870
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1180 => _1180.data, 'optionalAccess', _1181 => _1181.approvalRequestId]) === historyBatchId
47863
47871
  )
47864
47872
  );
47865
47873
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
47866
47874
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
47867
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1180 => _1180.content])) ? historyTrailingAssistant.content.length : 0;
47875
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1182 => _1182.content])) ? historyTrailingAssistant.content.length : 0;
47868
47876
  const realtimeSize = existingWithSameBatch.content.length;
47869
47877
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
47870
47878
  processedToUse = processedHistory.slice(0, -1);
@@ -47880,16 +47888,16 @@ function mergeHistoryWithRealtime(input) {
47880
47888
  if (pinnedSyntheticIds.has(m.id)) return true;
47881
47889
  if (droppedSyntheticIds.has(m.id)) return false;
47882
47890
  if (processedIds.has(m.id)) return false;
47883
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1181 => _1181.has, 'call', _1182 => _1182(m.id)])) return false;
47891
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1183 => _1183.has, 'call', _1184 => _1184(m.id)])) return false;
47884
47892
  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;
47893
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1185 => _1185.timestamp, 'optionalAccess', _1186 => _1186.getTime, 'call', _1187 => _1187()]), () => ( 0))) <= historyFetchedAt;
47886
47894
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
47887
47895
  }
47888
47896
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
47889
47897
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
47890
47898
  return false;
47891
47899
  }
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;
47900
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1188 => _1188.timestamp, 'optionalAccess', _1189 => _1189.getTime, 'call', _1190 => _1190()]), () => ( 0))) <= historyFetchedAt;
47893
47901
  if (covered) return false;
47894
47902
  }
47895
47903
  return true;
@@ -48109,7 +48117,7 @@ function useChatDialogManager({
48109
48117
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
48110
48118
  if (restoreTarget) {
48111
48119
  try {
48112
- await _optionalChain([unarchiveDialog, 'optionalCall', _1189 => _1189(restoreTarget.id)]);
48120
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1191 => _1191(restoreTarget.id)]);
48113
48121
  } catch (err) {
48114
48122
  console.error("[useChatDialogManager] unarchive failed:", err);
48115
48123
  return;
@@ -48504,6 +48512,7 @@ function EmbeddableChatInner({
48504
48512
  };
48505
48513
  }, [isOpen, shellLess]);
48506
48514
  const chatInputRef = _react.useRef.call(void 0, null);
48515
+ const quickActionDraftRef = _react.useRef.call(void 0, null);
48507
48516
  const slashCommandsProp = _react.useMemo.call(void 0,
48508
48517
  () => ({
48509
48518
  fetchCommands: (prefix, signal) => fetchSlashCommands(prefix, signal, commandsUrl),
@@ -48518,7 +48527,7 @@ function EmbeddableChatInner({
48518
48527
  }),
48519
48528
  [commandsUrl]
48520
48529
  );
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;
48530
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1192 => _1192.firstName, 'optionalAccess', _1193 => _1193.trim, 'call', _1194 => _1194()]) || _optionalChain([identityUser, 'optionalAccess', _1195 => _1195.name, 'optionalAccess', _1196 => _1196.split, 'call', _1197 => _1197(" "), 'access', _1198 => _1198[0], 'optionalAccess', _1199 => _1199.trim, 'call', _1200 => _1200()]) || void 0;
48522
48531
  const effectiveModes = _react.useMemo.call(void 0, () => {
48523
48532
  if (modes) return modes;
48524
48533
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48527,19 +48536,19 @@ function EmbeddableChatInner({
48527
48536
  const mingoCaps = _react.useMemo.call(void 0, () => {
48528
48537
  if (mingoState) {
48529
48538
  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])
48539
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1201 => _1201.canRename]), () => ( false)),
48540
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1202 => _1202.canArchive]), () => ( false)),
48541
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1203 => _1203.fetchArchivedDialogs]),
48542
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1204 => _1204.unarchiveDialog]),
48543
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1205 => _1205.searchQuery]),
48544
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1206 => _1206.onSearchChange])
48536
48545
  };
48537
48546
  }
48538
48547
  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]),
48548
+ canRename: !!_optionalChain([effectiveModes, 'access', _1207 => _1207.mingo, 'optionalAccess', _1208 => _1208.renameDialog]),
48549
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1209 => _1209.mingo, 'optionalAccess', _1210 => _1210.archiveDialog]),
48550
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1211 => _1211.mingo, 'optionalAccess', _1212 => _1212.fetchArchivedDialogs]),
48551
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1213 => _1213.mingo, 'optionalAccess', _1214 => _1214.unarchiveDialog]),
48543
48552
  searchQuery: void 0,
48544
48553
  onSearchChange: void 0
48545
48554
  };
@@ -48553,7 +48562,7 @@ function EmbeddableChatInner({
48553
48562
  if (controlledActiveMode === void 0) {
48554
48563
  setUncontrolledActiveMode(next);
48555
48564
  }
48556
- _optionalChain([onActiveModeChange, 'optionalCall', _1213 => _1213(next)]);
48565
+ _optionalChain([onActiveModeChange, 'optionalCall', _1215 => _1215(next)]);
48557
48566
  },
48558
48567
  [controlledActiveMode, onActiveModeChange]
48559
48568
  );
@@ -48607,7 +48616,7 @@ function EmbeddableChatInner({
48607
48616
  clear: clearAttachments
48608
48617
  } = useChatAttachments();
48609
48618
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48610
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1214 => _1214.maxItems]), () => ( 10));
48619
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1216 => _1216.maxItems]), () => ( 10));
48611
48620
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48612
48621
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48613
48622
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48624,10 +48633,10 @@ function EmbeddableChatInner({
48624
48633
  }, [activeDialogId, activeMode]);
48625
48634
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48626
48635
  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);
48636
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1217 => _1217.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48628
48637
  return m;
48629
- }, [_optionalChain([contextPicker, 'optionalAccess', _1216 => _1216.entityTypes])]);
48630
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1217 => _1217.entityTypes]);
48638
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1218 => _1218.entityTypes])]);
48639
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1219 => _1219.entityTypes]);
48631
48640
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48632
48641
  const byType = /* @__PURE__ */ new Map();
48633
48642
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48639,7 +48648,7 @@ function EmbeddableChatInner({
48639
48648
  if (mentionActiveRef.current) {
48640
48649
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48641
48650
  if (contextItems.length >= contextMaxItems) return;
48642
- _optionalChain([chatInputRef, 'access', _1218 => _1218.current, 'optionalAccess', _1219 => _1219.commitMention, 'call', _1220 => _1220(mentionTokenOf(key, mentionMarkerByType), {
48651
+ _optionalChain([chatInputRef, 'access', _1220 => _1220.current, 'optionalAccess', _1221 => _1221.commitMention, 'call', _1222 => _1222(mentionTokenOf(key, mentionMarkerByType), {
48643
48652
  label: item.label,
48644
48653
  icon: resolveContextIcon(item)
48645
48654
  })]);
@@ -48661,9 +48670,9 @@ function EmbeddableChatInner({
48661
48670
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48662
48671
  if (mentionKeysRef.current.has(key)) {
48663
48672
  mentionKeysRef.current.delete(key);
48664
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1221 => _1221.current, 'optionalAccess', _1222 => _1222.getValue, 'call', _1223 => _1223()]), () => ( ""));
48673
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1223 => _1223.current, 'optionalAccess', _1224 => _1224.getValue, 'call', _1225 => _1225()]), () => ( ""));
48665
48674
  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)]);
48675
+ _optionalChain([chatInputRef, 'access', _1226 => _1226.current, 'optionalAccess', _1227 => _1227.setValue, 'call', _1228 => _1228(next)]);
48667
48676
  }
48668
48677
  }, [mentionMarkerByType]);
48669
48678
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48680,7 +48689,7 @@ function EmbeddableChatInner({
48680
48689
  }, []);
48681
48690
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48682
48691
  if (mentionActiveRef.current) {
48683
- _optionalChain([chatInputRef, 'access', _1227 => _1227.current, 'optionalAccess', _1228 => _1228.removeMentionTrigger, 'call', _1229 => _1229()]);
48692
+ _optionalChain([chatInputRef, 'access', _1229 => _1229.current, 'optionalAccess', _1230 => _1230.removeMentionTrigger, 'call', _1231 => _1231()]);
48684
48693
  }
48685
48694
  setContextPickerOpen(false);
48686
48695
  setMentionQuery(null);
@@ -48714,8 +48723,8 @@ function EmbeddableChatInner({
48714
48723
  []
48715
48724
  );
48716
48725
  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;
48726
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1232 => _1232.firstName]), _optionalChain([identityUser, 'optionalAccess', _1233 => _1233.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1234 => _1234.name, 'optionalAccess', _1235 => _1235.trim, 'call', _1236 => _1236()]) || void 0 : void 0;
48727
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1237 => _1237.avatarUrl, 'optionalAccess', _1238 => _1238.trim, 'call', _1239 => _1239()]) || void 0 : void 0;
48719
48728
  const messages = _react.useMemo.call(void 0, () => {
48720
48729
  const cache = timestampCacheRef.current;
48721
48730
  const seenIds = /* @__PURE__ */ new Set();
@@ -48863,9 +48872,9 @@ function EmbeddableChatInner({
48863
48872
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
48864
48873
  const lastSources = _react.useMemo.call(void 0, () => {
48865
48874
  if (chatLoading) return void 0;
48866
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1238 => _1238.sources]);
48875
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1240 => _1240.sources]);
48867
48876
  if (!sources || sources.length === 0) return void 0;
48868
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1239 => _1239.content]) || "";
48877
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1241 => _1241.content]) || "";
48869
48878
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
48870
48879
  (m) => parseInt(m[1], 10)
48871
48880
  );
@@ -48912,7 +48921,7 @@ function EmbeddableChatInner({
48912
48921
  ChatPanelHeader,
48913
48922
  {
48914
48923
  showBack: hasConversation || guideCanReturnToMingo,
48915
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1240 => _1240.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48924
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1242 => _1242.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48916
48925
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
48917
48926
  isArchivedView: isViewingArchived,
48918
48927
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -49030,10 +49039,24 @@ function EmbeddableChatInner({
49030
49039
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
49031
49040
  subtitleLoading: emptyStateLoading,
49032
49041
  ...guideWelcome,
49033
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1241 => _1241.quickActions]), () => ( guideSuggestedActions)),
49042
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1243 => _1243.quickActions]), () => ( guideSuggestedActions)),
49034
49043
  onQuickAction: (action) => {
49044
+ quickActionDraftRef.current = null;
49045
+ _optionalChain([chatInputRef, 'access', _1244 => _1244.current, 'optionalAccess', _1245 => _1245.setValue, 'call', _1246 => _1246("")]);
49035
49046
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
49036
49047
  },
49048
+ onQuickActionHover: (action) => {
49049
+ if (quickActionDraftRef.current === null) {
49050
+ quickActionDraftRef.current = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1247 => _1247.current, 'optionalAccess', _1248 => _1248.getValue, 'call', _1249 => _1249()]), () => ( ""));
49051
+ }
49052
+ _optionalChain([chatInputRef, 'access', _1250 => _1250.current, 'optionalAccess', _1251 => _1251.setValue, 'call', _1252 => _1252(_nullishCoalesce(action.prompt, () => ( action.label)))]);
49053
+ },
49054
+ onQuickActionHoverEnd: () => {
49055
+ if (quickActionDraftRef.current !== null) {
49056
+ _optionalChain([chatInputRef, 'access', _1253 => _1253.current, 'optionalAccess', _1254 => _1254.setValue, 'call', _1255 => _1255(quickActionDraftRef.current)]);
49057
+ quickActionDraftRef.current = null;
49058
+ }
49059
+ },
49037
49060
  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
49061
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49039
49062
  MingoOnboardingCardSkeleton,
@@ -50107,4 +50130,4 @@ function EmbeddableChatInner({
50107
50130
 
50108
50131
 
50109
50132
  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
50133
+ //# sourceMappingURL=chunk-ERMMMQET.cjs.map