@flamingo-stack/openframe-frontend-core 0.0.340 → 0.0.341-snapshot.20260630022404

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 (108) hide show
  1. package/dist/{chunk-4K2M2WC4.cjs → chunk-2L6PCJGJ.cjs} +26 -26
  2. package/dist/{chunk-4K2M2WC4.cjs.map → chunk-2L6PCJGJ.cjs.map} +1 -1
  3. package/dist/{chunk-TVCBMR3N.cjs → chunk-3GNUN3UF.cjs} +7 -7
  4. package/dist/{chunk-TVCBMR3N.cjs.map → chunk-3GNUN3UF.cjs.map} +1 -1
  5. package/dist/{chunk-7TENQYAJ.js → chunk-6DKQW5OB.js} +2 -2
  6. package/dist/{chunk-53MGSWCC.js → chunk-D6OFQCBQ.js} +4 -4
  7. package/dist/{chunk-DRO773DG.cjs → chunk-EEAUFJOJ.cjs} +56 -56
  8. package/dist/{chunk-DRO773DG.cjs.map → chunk-EEAUFJOJ.cjs.map} +1 -1
  9. package/dist/{chunk-MNLQMAY3.js → chunk-G5BJ5EJ3.js} +2 -2
  10. package/dist/{chunk-KE2PMD6A.js → chunk-GGHWEV6K.js} +2 -2
  11. package/dist/{chunk-SIK5LBUN.cjs → chunk-HHEN6U6D.cjs} +25 -25
  12. package/dist/{chunk-SIK5LBUN.cjs.map → chunk-HHEN6U6D.cjs.map} +1 -1
  13. package/dist/{chunk-YEB5Z76W.cjs → chunk-K4NVJM6V.cjs} +62 -62
  14. package/dist/{chunk-YEB5Z76W.cjs.map → chunk-K4NVJM6V.cjs.map} +1 -1
  15. package/dist/{chunk-OVN265XQ.js → chunk-KDFQXI6L.js} +2 -2
  16. package/dist/{chunk-NDHQG4I4.js → chunk-M4JER3ZJ.js} +227 -173
  17. package/dist/chunk-M4JER3ZJ.js.map +1 -0
  18. package/dist/{chunk-EXFHHZ2C.cjs → chunk-MGYDI2R4.cjs} +9 -9
  19. package/dist/{chunk-EXFHHZ2C.cjs.map → chunk-MGYDI2R4.cjs.map} +1 -1
  20. package/dist/{chunk-W7J46YKF.js → chunk-MQXK5YZJ.js} +2 -2
  21. package/dist/{chunk-HVYR323G.cjs → chunk-NBZR5OEQ.cjs} +15 -15
  22. package/dist/{chunk-HVYR323G.cjs.map → chunk-NBZR5OEQ.cjs.map} +1 -1
  23. package/dist/{chunk-BMSJTLGO.cjs → chunk-NLJUVRVX.cjs} +12 -12
  24. package/dist/{chunk-BMSJTLGO.cjs.map → chunk-NLJUVRVX.cjs.map} +1 -1
  25. package/dist/{chunk-ERMMMQET.cjs → chunk-NRRBPW33.cjs} +388 -334
  26. package/dist/chunk-NRRBPW33.cjs.map +1 -0
  27. package/dist/{chunk-DFFOCQFO.cjs → chunk-NXDUUG3E.cjs} +5 -5
  28. package/dist/{chunk-DFFOCQFO.cjs.map → chunk-NXDUUG3E.cjs.map} +1 -1
  29. package/dist/{chunk-L6YX6D26.cjs → chunk-PRVRFN5Y.cjs} +31 -31
  30. package/dist/{chunk-L6YX6D26.cjs.map → chunk-PRVRFN5Y.cjs.map} +1 -1
  31. package/dist/{chunk-NC3DJLP5.js → chunk-SSWHDTUV.js} +4 -4
  32. package/dist/{chunk-573LTCRV.js → chunk-TV3BIALE.js} +2 -2
  33. package/dist/{chunk-TOMTBXM7.js → chunk-VVKLQXWF.js} +2 -2
  34. package/dist/{chunk-GGFJ5OQ3.js → chunk-VZM3OH26.js} +4 -4
  35. package/dist/{chunk-VA3GDVOV.cjs → chunk-YHHGM3EL.cjs} +37 -37
  36. package/dist/{chunk-VA3GDVOV.cjs.map → chunk-YHHGM3EL.cjs.map} +1 -1
  37. package/dist/{chunk-T4SW6GOR.js → chunk-YHXX7WEL.js} +4 -4
  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-composer.d.ts +4 -1
  41. package/dist/components/chat/chat-composer.d.ts.map +1 -1
  42. package/dist/components/chat/chat-input.d.ts.map +1 -1
  43. package/dist/components/chat/chat-quick-action-row.d.ts +6 -1
  44. package/dist/components/chat/chat-quick-action-row.d.ts.map +1 -1
  45. package/dist/components/chat/guide-welcome.d.ts +5 -5
  46. package/dist/components/chat/guide-welcome.d.ts.map +1 -1
  47. package/dist/components/chat/index.cjs +2 -2
  48. package/dist/components/chat/index.js +1 -1
  49. package/dist/components/chat/types/component.types.d.ts +6 -0
  50. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  51. package/dist/components/contact/index.cjs +3 -3
  52. package/dist/components/contact/index.js +2 -2
  53. package/dist/components/docs/index.cjs +5 -5
  54. package/dist/components/docs/index.js +4 -4
  55. package/dist/components/embeds/index.cjs +3 -3
  56. package/dist/components/embeds/index.js +2 -2
  57. package/dist/components/faq/index.cjs +3 -3
  58. package/dist/components/faq/index.js +2 -2
  59. package/dist/components/features/index.cjs +2 -2
  60. package/dist/components/features/index.js +1 -1
  61. package/dist/components/help-center-pages/index.cjs +20 -20
  62. package/dist/components/help-center-pages/index.js +11 -11
  63. package/dist/components/index.cjs +121 -121
  64. package/dist/components/index.js +9 -9
  65. package/dist/components/navigation/index.cjs +2 -2
  66. package/dist/components/navigation/index.js +1 -1
  67. package/dist/components/onboarding-guides/index.cjs +5 -5
  68. package/dist/components/onboarding-guides/index.js +4 -4
  69. package/dist/components/related-content/index.cjs +3 -3
  70. package/dist/components/related-content/index.js +2 -2
  71. package/dist/components/tickets/index.cjs +5 -5
  72. package/dist/components/tickets/index.js +4 -4
  73. package/dist/components/ui/index.cjs +2 -2
  74. package/dist/components/ui/index.js +1 -1
  75. package/dist/components/ui/table/table-row.d.ts +1 -1
  76. package/dist/components/ui/table/table-row.d.ts.map +1 -1
  77. package/dist/components/ui/table/table.d.ts +1 -1
  78. package/dist/components/ui/table/table.d.ts.map +1 -1
  79. package/dist/components/ui/table/types.d.ts +16 -0
  80. package/dist/components/ui/table/types.d.ts.map +1 -1
  81. package/dist/components/ui/table/use-table-motion.d.ts +20 -0
  82. package/dist/components/ui/table/use-table-motion.d.ts.map +1 -0
  83. package/dist/index.cjs +2 -2
  84. package/dist/index.js +1 -1
  85. package/package.json +1 -1
  86. package/src/components/chat/chat-composer.tsx +5 -0
  87. package/src/components/chat/chat-input.tsx +39 -1
  88. package/src/components/chat/chat-quick-action-row.tsx +20 -0
  89. package/src/components/chat/embeddable-chat.tsx +21 -23
  90. package/src/components/chat/guide-welcome.tsx +21 -11
  91. package/src/components/chat/types/component.types.ts +6 -0
  92. package/src/components/ui/table/table-row.tsx +16 -3
  93. package/src/components/ui/table/table.tsx +34 -15
  94. package/src/components/ui/table/types.ts +17 -0
  95. package/src/components/ui/table/use-table-motion.ts +48 -0
  96. package/dist/chunk-ERMMMQET.cjs.map +0 -1
  97. package/dist/chunk-NDHQG4I4.js.map +0 -1
  98. /package/dist/{chunk-7TENQYAJ.js.map → chunk-6DKQW5OB.js.map} +0 -0
  99. /package/dist/{chunk-53MGSWCC.js.map → chunk-D6OFQCBQ.js.map} +0 -0
  100. /package/dist/{chunk-MNLQMAY3.js.map → chunk-G5BJ5EJ3.js.map} +0 -0
  101. /package/dist/{chunk-KE2PMD6A.js.map → chunk-GGHWEV6K.js.map} +0 -0
  102. /package/dist/{chunk-OVN265XQ.js.map → chunk-KDFQXI6L.js.map} +0 -0
  103. /package/dist/{chunk-W7J46YKF.js.map → chunk-MQXK5YZJ.js.map} +0 -0
  104. /package/dist/{chunk-NC3DJLP5.js.map → chunk-SSWHDTUV.js.map} +0 -0
  105. /package/dist/{chunk-573LTCRV.js.map → chunk-TV3BIALE.js.map} +0 -0
  106. /package/dist/{chunk-TOMTBXM7.js.map → chunk-VVKLQXWF.js.map} +0 -0
  107. /package/dist/{chunk-GGFJ5OQ3.js.map → chunk-VZM3OH26.js.map} +0 -0
  108. /package/dist/{chunk-T4SW6GOR.js.map → chunk-YHXX7WEL.js.map} +0 -0
@@ -3730,13 +3730,15 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
3730
3730
  onMentionQueryChange,
3731
3731
  onValueChange,
3732
3732
  startIcon,
3733
- hideBorder
3733
+ hideBorder,
3734
+ previewText
3734
3735
  // Remaining textarea-only attrs are intentionally dropped — the editor is a
3735
3736
  // contenteditable div, not a <textarea>, so spreading them would warn.
3736
3737
  } = rest;
3737
3738
  const [value, setValue] = _react.useState.call(void 0, "");
3738
3739
  const [focused, setFocused] = _react.useState.call(void 0, false);
3739
3740
  const [isStopping, setIsStopping] = _react.useState.call(void 0, false);
3741
+ const [previewDismissed, setPreviewDismissed] = _react.useState.call(void 0, false);
3740
3742
  const editorRef = _react.useRef.call(void 0, null);
3741
3743
  const shouldRefocusRef = _react.useRef.call(void 0, false);
3742
3744
  const prevSendingRef = _react.useRef.call(void 0, sending);
@@ -3755,6 +3757,12 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
3755
3757
  _react.useEffect.call(void 0, () => {
3756
3758
  _optionalChain([onValueChange, 'optionalCall', _51 => _51(value)]);
3757
3759
  }, [value, onValueChange]);
3760
+ _react.useEffect.call(void 0, () => {
3761
+ setPreviewDismissed(false);
3762
+ }, [previewText]);
3763
+ _react.useEffect.call(void 0, () => {
3764
+ if (previewText) setPreviewDismissed(true);
3765
+ }, [value]);
3758
3766
  const applyValue = _react.useCallback.call(void 0, (next, caret = "end") => {
3759
3767
  const el = editorRef.current;
3760
3768
  if (el) {
@@ -3977,6 +3985,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
3977
3985
  const sendDisabled = sending || disabled || !hasContent;
3978
3986
  const isEmpty = value.length === 0;
3979
3987
  const isDisabled = sending || disabled;
3988
+ const showPreview = !isDisabled && !!previewText && !previewDismissed;
3980
3989
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3981
3990
  "div",
3982
3991
  {
@@ -4025,7 +4034,8 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
4025
4034
  children: [
4026
4035
  startIcon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-6 shrink-0 items-center", children: startIcon }),
4027
4036
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-w-0", children: [
4028
- isEmpty && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "pointer-events-none absolute left-0 top-0 select-none text-h4 !leading-9 text-ods-text-secondary", children: disabled ? "Connection lost. Waiting to reconnect..." : placeholder }),
4037
+ isEmpty && !showPreview && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "pointer-events-none absolute left-0 top-0 select-none text-h4 !leading-9 text-ods-text-secondary", children: disabled ? "Connection lost. Waiting to reconnect..." : placeholder }),
4038
+ showPreview && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "pointer-events-none m-0 select-none whitespace-pre-wrap break-words text-h4 !leading-9 text-ods-text-secondary", children: previewText }),
4029
4039
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4030
4040
  "div",
4031
4041
  {
@@ -4052,6 +4062,9 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
4052
4062
  onBlur: () => setFocused(false),
4053
4063
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
4054
4064
  "max-h-[160px] overflow-y-auto whitespace-pre-wrap break-words outline-none",
4065
+ // While a ghost preview shows, the editor is empty — collapse it
4066
+ // out of flow + transparent so the in-flow preview drives height.
4067
+ showPreview && "absolute inset-0 opacity-0",
4055
4068
  // `leading-9` (36px) sits just above the 32px chip's line-box need
4056
4069
  // (~35.5px incl. vertical-align overhead): the LINE drives row
4057
4070
  // height (deterministic 48px, no overflow) AND the near-zero slack
@@ -5684,6 +5697,7 @@ function ChipButton({ chip }) {
5684
5697
  function ChatQuickActionRow({
5685
5698
  leading,
5686
5699
  chips,
5700
+ wrap = false,
5687
5701
  className
5688
5702
  }) {
5689
5703
  const auto = _chunkDCIB6AK3cjs.useAutoLimitTags.call(void 0, {
@@ -5693,6 +5707,12 @@ function ChatQuickActionRow({
5693
5707
  const visibleChips = chips.slice(0, auto.visibleCount);
5694
5708
  const hiddenChips = chips.slice(auto.visibleCount);
5695
5709
  if (!leading && chips.length === 0) return null;
5710
+ if (wrap) {
5711
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex shrink-0 flex-wrap items-center gap-1", className), children: [
5712
+ leading,
5713
+ chips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChipButton, { chip }, chip.id))
5714
+ ] });
5715
+ }
5696
5716
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
5697
5717
  "div",
5698
5718
  {
@@ -6677,7 +6697,14 @@ function GuideWelcome({
6677
6697
  }
6678
6698
  )
6679
6699
  ] }),
6680
- quickActions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatQuickActionRow, { chips: chipItems })
6700
+ quickActions.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6701
+ ChatQuickActionRow,
6702
+ {
6703
+ wrap: true,
6704
+ chips: chipItems,
6705
+ className: "max-h-28 overflow-y-auto scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30"
6706
+ }
6707
+ )
6681
6708
  ]
6682
6709
  }
6683
6710
  );
@@ -7678,7 +7705,8 @@ function ChatComposer({
7678
7705
  onCloseContextPicker,
7679
7706
  mentionQuery = null,
7680
7707
  onMentionQueryChange,
7681
- onValueChange
7708
+ onValueChange,
7709
+ previewText
7682
7710
  }) {
7683
7711
  const contextEnabled = !!contextPicker && !archived;
7684
7712
  const selected = _nullishCoalesce(selectedContextItems, () => ( []));
@@ -7700,6 +7728,7 @@ function ChatComposer({
7700
7728
  onStop,
7701
7729
  sending,
7702
7730
  placeholder,
7731
+ previewText,
7703
7732
  fullWidth: true,
7704
7733
  className: "px-0",
7705
7734
  reserveAvatarOffset: false,
@@ -35653,9 +35682,14 @@ function TableRow({
35653
35682
  compact,
35654
35683
  selectable,
35655
35684
  selected,
35656
- onSelect
35685
+ onSelect,
35686
+ animateRowReorder,
35687
+ motionDiv
35657
35688
  }) {
35658
35689
  const isLinkMode = Boolean(href) && !onClick;
35690
+ const animate = Boolean(animateRowReorder && motionDiv);
35691
+ const Row = animate ? motionDiv : "div";
35692
+ const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
35659
35693
  const handleRowClick = (e) => {
35660
35694
  const target = e.target;
35661
35695
  if (target.closest("[data-no-row-click]")) {
@@ -35691,8 +35725,9 @@ function TableRow({
35691
35725
  return String(value);
35692
35726
  };
35693
35727
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35694
- "div",
35728
+ Row,
35695
35729
  {
35730
+ ...motionProps,
35696
35731
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35697
35732
  "relative rounded-[6px] bg-ods-card border border-ods-border overflow-hidden",
35698
35733
  (onClick || isLinkMode) && "cursor-pointer hover:bg-ods-bg-active transition-colors",
@@ -35744,6 +35779,24 @@ function TableRow({
35744
35779
  );
35745
35780
  }
35746
35781
 
35782
+ // src/components/ui/table/use-table-motion.ts
35783
+
35784
+ function useTableMotion(enabled) {
35785
+ const [runtime, setRuntime] = _react.useState.call(void 0, null);
35786
+ _react.useEffect.call(void 0, () => {
35787
+ if (!enabled || runtime) return;
35788
+ let active = true;
35789
+ Promise.resolve().then(() => _interopRequireWildcard(require("framer-motion"))).then((m) => {
35790
+ if (active) setRuntime({ motionDiv: m.motion.div, LayoutGroup: m.LayoutGroup });
35791
+ }).catch(() => {
35792
+ });
35793
+ return () => {
35794
+ active = false;
35795
+ };
35796
+ }, [enabled, runtime]);
35797
+ return enabled ? runtime : null;
35798
+ }
35799
+
35747
35800
  // src/components/ui/table/table.tsx
35748
35801
 
35749
35802
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
@@ -35829,8 +35882,10 @@ function Table({
35829
35882
  paginationClassName,
35830
35883
  infiniteScroll,
35831
35884
  stickyHeader,
35832
- stickyHeaderOffset
35885
+ stickyHeaderOffset,
35886
+ animateRowReorder
35833
35887
  }) {
35888
+ const tableMotion = useTableMotion(Boolean(animateRowReorder));
35834
35889
  const columnsWithActions = injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref);
35835
35890
  const getRowHref = (item) => {
35836
35891
  if (onRowClick || !rowHref) return void 0;
@@ -35946,23 +36001,29 @@ function Table({
35946
36001
  hasChevron: Boolean(rowHref)
35947
36002
  }
35948
36003
  ) : data.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TableEmptyState, { message: emptyMessage }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
35949
- data.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35950
- TableRow,
35951
- {
35952
- item,
35953
- columns: columnsWithActions,
35954
- onClick: onRowClick,
35955
- href: getRowHref(item),
35956
- className: getRowClassName(item, index),
35957
- index,
35958
- compact,
35959
- selectable,
35960
- selected: isRowSelected(item),
35961
- onSelect: handleSelectRow
35962
- },
35963
- getRowKey(item, index)
35964
- )),
35965
- _optionalChain([infiniteScroll, 'optionalAccess', _679 => _679.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36004
+ (() => {
36005
+ const rows = data.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36006
+ TableRow,
36007
+ {
36008
+ item,
36009
+ columns: columnsWithActions,
36010
+ onClick: onRowClick,
36011
+ href: getRowHref(item),
36012
+ className: getRowClassName(item, index),
36013
+ index,
36014
+ compact,
36015
+ selectable,
36016
+ selected: isRowSelected(item),
36017
+ onSelect: handleSelectRow,
36018
+ animateRowReorder,
36019
+ motionDiv: _optionalChain([tableMotion, 'optionalAccess', _679 => _679.motionDiv])
36020
+ },
36021
+ getRowKey(item, index)
36022
+ ));
36023
+ const LayoutGroup = _optionalChain([tableMotion, 'optionalAccess', _680 => _680.LayoutGroup]);
36024
+ return animateRowReorder && LayoutGroup ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LayoutGroup, { children: rows }) : rows;
36025
+ })(),
36026
+ _optionalChain([infiniteScroll, 'optionalAccess', _681 => _681.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35966
36027
  TableCardSkeleton,
35967
36028
  {
35968
36029
  columns,
@@ -35971,7 +36032,7 @@ function Table({
35971
36032
  hasChevron: Boolean(rowHref)
35972
36033
  }
35973
36034
  ),
35974
- _optionalChain([infiniteScroll, 'optionalAccess', _680 => _680.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
36035
+ _optionalChain([infiniteScroll, 'optionalAccess', _682 => _682.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35975
36036
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35976
36037
  "div",
35977
36038
  {
@@ -36329,7 +36390,7 @@ function QueryReportTable({
36329
36390
  );
36330
36391
  const handleExport = () => {
36331
36392
  exportToCSV(data, columns, exportFilename);
36332
- _optionalChain([onExport, 'optionalCall', _681 => _681()]);
36393
+ _optionalChain([onExport, 'optionalCall', _683 => _683()]);
36333
36394
  };
36334
36395
  const tableMinWidth = columns.length * (columnWidth + 16);
36335
36396
  const {
@@ -36502,7 +36563,7 @@ function DataTableColumnFilter({
36502
36563
  align = "left"
36503
36564
  }) {
36504
36565
  const currentValue = column.getFilterValue();
36505
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _682 => _682.length]), () => ( 0));
36566
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _684 => _684.length]), () => ( 0));
36506
36567
  const sections = _react.useMemo.call(void 0,
36507
36568
  () => [
36508
36569
  {
@@ -36582,7 +36643,7 @@ function DataTableHeader({
36582
36643
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
36583
36644
  if (header.isPlaceholder) return false;
36584
36645
  if (isLgUp) return true;
36585
- return Boolean(_optionalChain([header, 'access', _683 => _683.column, 'access', _684 => _684.columnDef, 'access', _685 => _685.meta, 'optionalAccess', _686 => _686.filter]));
36646
+ return Boolean(_optionalChain([header, 'access', _685 => _685.column, 'access', _686 => _686.columnDef, 'access', _687 => _687.meta, 'optionalAccess', _688 => _688.filter]));
36586
36647
  });
36587
36648
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36588
36649
  "div",
@@ -36612,20 +36673,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36612
36673
  if (header.isPlaceholder) return null;
36613
36674
  const column = header.column;
36614
36675
  const meta = column.columnDef.meta;
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;
36676
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _689 => _689.filter]));
36677
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _690 => _690.align]), () => ( "left"));
36678
+ const canSort = _optionalChain([meta, 'optionalAccess', _691 => _691.sortable]) === true;
36679
+ const sortDir = _optionalChain([sort, 'optionalAccess', _692 => _692.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
36619
36680
  if (!isLgUp && !hasFilter) return null;
36620
36681
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36621
36682
  "div",
36622
36683
  {
36623
36684
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36624
36685
  "flex items-stretch",
36625
- isLgUp && (_optionalChain([meta, 'optionalAccess', _691 => _691.width]) || "flex-1 min-w-0"),
36626
- _optionalChain([meta, 'optionalAccess', _692 => _692.headerClassName]),
36686
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _693 => _693.width]) || "flex-1 min-w-0"),
36687
+ _optionalChain([meta, 'optionalAccess', _694 => _694.headerClassName]),
36627
36688
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
36628
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _693 => _693.hideAt]))
36689
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _695 => _695.hideAt]))
36629
36690
  ),
36630
36691
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36631
36692
  DataTableColumnFilter,
@@ -36644,7 +36705,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
36644
36705
  isLgUp && alignJustify(align),
36645
36706
  canSort && "group cursor-pointer"
36646
36707
  ),
36647
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _694 => _694(column.id)]) : void 0,
36708
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _696 => _696(column.id)]) : void 0,
36648
36709
  children: [
36649
36710
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
36650
36711
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -36709,7 +36770,7 @@ function DataTableSkeleton({
36709
36770
  }) {
36710
36771
  const table = useDataTableContext();
36711
36772
  const columns = table.getVisibleFlatColumns();
36712
- const firstColumnId = _optionalChain([columns, 'access', _695 => _695[0], 'optionalAccess', _696 => _696.id]);
36773
+ const firstColumnId = _optionalChain([columns, 'access', _697 => _697[0], 'optionalAccess', _698 => _698.id]);
36713
36774
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36714
36775
  "div",
36715
36776
  {
@@ -36733,7 +36794,7 @@ function DataTableSkeleton({
36733
36794
  {
36734
36795
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36735
36796
  "flex flex-col justify-center shrink-0",
36736
- _optionalChain([meta, 'optionalAccess', _697 => _697.width]) || "flex-1"
36797
+ _optionalChain([meta, 'optionalAccess', _699 => _699.width]) || "flex-1"
36737
36798
  ),
36738
36799
  children: [
36739
36800
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -36782,7 +36843,7 @@ function DataTableRowImpl({
36782
36843
  const handleClick = _react.useCallback.call(void 0,
36783
36844
  (e) => {
36784
36845
  const target = e.target;
36785
- if (!_optionalChain([containerRef, 'access', _698 => _698.current, 'optionalAccess', _699 => _699.contains, 'call', _700 => _700(target)])) {
36846
+ if (!_optionalChain([containerRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.contains, 'call', _702 => _702(target)])) {
36786
36847
  if (isLinkMode) e.preventDefault();
36787
36848
  return;
36788
36849
  }
@@ -36790,7 +36851,7 @@ function DataTableRowImpl({
36790
36851
  if (isLinkMode) e.preventDefault();
36791
36852
  return;
36792
36853
  }
36793
- _optionalChain([onClick, 'optionalCall', _701 => _701(row.original)]);
36854
+ _optionalChain([onClick, 'optionalCall', _703 => _703(row.original)]);
36794
36855
  },
36795
36856
  [onClick, row.original, isLinkMode]
36796
36857
  );
@@ -36815,10 +36876,10 @@ function DataTableRowImpl({
36815
36876
  {
36816
36877
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36817
36878
  "flex flex-col overflow-hidden",
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]))
36879
+ alignJustify(_optionalChain([meta, 'optionalAccess', _704 => _704.align])),
36880
+ _optionalChain([meta, 'optionalAccess', _705 => _705.width]) || "flex-1 min-w-0",
36881
+ _optionalChain([meta, 'optionalAccess', _706 => _706.cellClassName]),
36882
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _707 => _707.hideAt]))
36822
36883
  ),
36823
36884
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
36824
36885
  },
@@ -36897,7 +36958,7 @@ function DataTableBody({
36897
36958
  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: [
36898
36959
  rows.map((row, index) => {
36899
36960
  const item = row.original;
36900
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _706 => _706(item)]), () => ( void 0));
36961
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _708 => _708(item)]), () => ( void 0));
36901
36962
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
36902
36963
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36903
36964
  DataTableRow,
@@ -36907,7 +36968,7 @@ function DataTableBody({
36907
36968
  href,
36908
36969
  compact,
36909
36970
  className: cls,
36910
- subRow: _optionalChain([renderSubRow, 'optionalCall', _707 => _707(item)])
36971
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _709 => _709(item)])
36911
36972
  },
36912
36973
  row.id
36913
36974
  );
@@ -36962,7 +37023,7 @@ function DataTableInfiniteFooter({
36962
37023
  if (!sentinel) return;
36963
37024
  const observer = new IntersectionObserver(
36964
37025
  (entries) => {
36965
- if (_optionalChain([entries, 'access', _708 => _708[0], 'optionalAccess', _709 => _709.isIntersecting])) onLoadMoreRef.current();
37026
+ if (_optionalChain([entries, 'access', _710 => _710[0], 'optionalAccess', _711 => _711.isIntersecting])) onLoadMoreRef.current();
36966
37027
  },
36967
37028
  { rootMargin }
36968
37029
  );
@@ -37010,7 +37071,7 @@ function DataTableRowCount({
37010
37071
  const table = useDataTableContext();
37011
37072
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
37012
37073
  if (hideWhenEmpty && count === 0) return null;
37013
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _710 => _710(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37074
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _712 => _712(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
37014
37075
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37015
37076
  "span",
37016
37077
  {
@@ -37169,7 +37230,7 @@ function SearchInput({
37169
37230
  if (!showHiddenTags) return;
37170
37231
  const handleClick = (e) => {
37171
37232
  const target = e.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)])) {
37233
+ if (!_optionalChain([hiddenTagsRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.contains, 'call', _715 => _715(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.contains, 'call', _718 => _718(target)])) {
37173
37234
  setShowHiddenTags(false);
37174
37235
  }
37175
37236
  };
@@ -37217,10 +37278,10 @@ function SearchInput({
37217
37278
  } else {
37218
37279
  setInternalValue("");
37219
37280
  }
37220
- _optionalChain([inputRef, 'access', _717 => _717.current, 'optionalAccess', _718 => _718.focus, 'call', _719 => _719()]);
37281
+ _optionalChain([inputRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.focus, 'call', _721 => _721()]);
37221
37282
  };
37222
37283
  const handleResultClick = (result, e) => {
37223
- _optionalChain([onResultSelect, 'optionalCall', _720 => _720(
37284
+ _optionalChain([onResultSelect, 'optionalCall', _722 => _722(
37224
37285
  result,
37225
37286
  e ? {
37226
37287
  metaKey: e.metaKey,
@@ -37252,7 +37313,7 @@ function SearchInput({
37252
37313
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
37253
37314
  handleResultClick(flatResults[highlightedIndex]);
37254
37315
  } else {
37255
- _optionalChain([onSubmit, 'optionalCall', _721 => _721(currentValue)]);
37316
+ _optionalChain([onSubmit, 'optionalCall', _723 => _723(currentValue)]);
37256
37317
  }
37257
37318
  break;
37258
37319
  case "Escape":
@@ -37330,7 +37391,7 @@ function SearchInput({
37330
37391
  dropdownVisible && "!border-ods-accent"
37331
37392
  ),
37332
37393
  onClick: () => {
37333
- _optionalChain([inputRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.focus, 'call', _724 => _724()]);
37394
+ _optionalChain([inputRef, 'access', _724 => _724.current, 'optionalAccess', _725 => _725.focus, 'call', _726 => _726()]);
37334
37395
  setIsOpen(true);
37335
37396
  },
37336
37397
  children: [
@@ -37414,10 +37475,10 @@ function SearchInput({
37414
37475
  align: "start",
37415
37476
  onOpenAutoFocus: (e) => {
37416
37477
  e.preventDefault();
37417
- _optionalChain([inputRef, 'access', _725 => _725.current, 'optionalAccess', _726 => _726.focus, 'call', _727 => _727()]);
37478
+ _optionalChain([inputRef, 'access', _727 => _727.current, 'optionalAccess', _728 => _728.focus, 'call', _729 => _729()]);
37418
37479
  },
37419
37480
  onInteractOutside: (e) => {
37420
- if (_optionalChain([containerRef, 'access', _728 => _728.current, 'optionalAccess', _729 => _729.contains, 'call', _730 => _730(e.target)])) {
37481
+ if (_optionalChain([containerRef, 'access', _730 => _730.current, 'optionalAccess', _731 => _731.contains, 'call', _732 => _732(e.target)])) {
37421
37482
  e.preventDefault();
37422
37483
  }
37423
37484
  },
@@ -37434,10 +37495,10 @@ function SearchInput({
37434
37495
  ref: hiddenTagsPopupRef,
37435
37496
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
37436
37497
  style: {
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
37498
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _733 => _733.current, 'optionalAccess', _734 => _734.getBoundingClientRect, 'call', _735 => _735(), 'access', _736 => _736.left]), () => ( 0))) : 0
37438
37499
  },
37439
37500
  onRemove: (value2) => {
37440
- _optionalChain([onFilterRemove, 'optionalCall', _735 => _735(value2)]);
37501
+ _optionalChain([onFilterRemove, 'optionalCall', _737 => _737(value2)]);
37441
37502
  if (hiddenCount <= 1) setShowHiddenTags(false);
37442
37503
  }
37443
37504
  }
@@ -37488,7 +37549,7 @@ function FilterListItem({
37488
37549
  }) {
37489
37550
  const handleToggle = () => {
37490
37551
  if (disabled) return;
37491
- _optionalChain([onToggle, 'optionalCall', _736 => _736(!selected)]);
37552
+ _optionalChain([onToggle, 'optionalCall', _738 => _738(!selected)]);
37492
37553
  };
37493
37554
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
37494
37555
  "div",
@@ -37535,7 +37596,7 @@ function FilterListItem({
37535
37596
  CheckboxPrimitive4.Root,
37536
37597
  {
37537
37598
  checked: selected,
37538
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _737 => _737(c === true)]),
37599
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _739 => _739(c === true)]),
37539
37600
  onClick: (e) => e.stopPropagation(),
37540
37601
  disabled,
37541
37602
  "aria-label": title,
@@ -37634,7 +37695,7 @@ function TagSearchInput({
37634
37695
  if (!showHiddenTags) return;
37635
37696
  const handleClick = (e) => {
37636
37697
  const target = e.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)])) {
37698
+ if (!_optionalChain([hiddenTagsRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.contains, 'call', _742 => _742(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.contains, 'call', _745 => _745(target)])) {
37638
37699
  setShowHiddenTags(false);
37639
37700
  }
37640
37701
  };
@@ -37650,13 +37711,13 @@ function TagSearchInput({
37650
37711
  e.preventDefault();
37651
37712
  onSubmit(searchValue);
37652
37713
  }
37653
- _optionalChain([onKeyDown, 'optionalCall', _744 => _744(e)]);
37714
+ _optionalChain([onKeyDown, 'optionalCall', _746 => _746(e)]);
37654
37715
  };
37655
37716
  const handleClearAll = (e) => {
37656
37717
  e.stopPropagation();
37657
37718
  e.preventDefault();
37658
- _optionalChain([onClearAll, 'optionalCall', _745 => _745()]);
37659
- _optionalChain([inputRef, 'access', _746 => _746.current, 'optionalAccess', _747 => _747.focus, 'call', _748 => _748()]);
37719
+ _optionalChain([onClearAll, 'optionalCall', _747 => _747()]);
37720
+ _optionalChain([inputRef, 'access', _748 => _748.current, 'optionalAccess', _749 => _749.focus, 'call', _750 => _750()]);
37660
37721
  };
37661
37722
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
37662
37723
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -37673,7 +37734,7 @@ function TagSearchInput({
37673
37734
  className
37674
37735
  ),
37675
37736
  onClick: () => {
37676
- if (!disabled) _optionalChain([inputRef, 'access', _749 => _749.current, 'optionalAccess', _750 => _750.focus, 'call', _751 => _751()]);
37737
+ if (!disabled) _optionalChain([inputRef, 'access', _751 => _751.current, 'optionalAccess', _752 => _752.focus, 'call', _753 => _753()]);
37677
37738
  },
37678
37739
  children: [
37679
37740
  /* @__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" }) }),
@@ -37745,7 +37806,7 @@ function TagSearchInput({
37745
37806
  items: hiddenTags,
37746
37807
  disabled,
37747
37808
  style: {
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
37809
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _754 => _754.current, 'optionalAccess', _755 => _755.getBoundingClientRect, 'call', _756 => _756(), 'access', _757 => _757.left]), () => ( 0))) : 0
37749
37810
  },
37750
37811
  onRemove: (value) => {
37751
37812
  onTagRemove(value);
@@ -37846,7 +37907,7 @@ function MarkdownEditor({
37846
37907
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
37847
37908
  _react.useEffect.call(void 0, () => {
37848
37909
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
37849
- if (_optionalChain([mod, 'access', _756 => _756.commands, 'optionalAccess', _757 => _757.getExtraCommands])) {
37910
+ if (_optionalChain([mod, 'access', _758 => _758.commands, 'optionalAccess', _759 => _759.getExtraCommands])) {
37850
37911
  setDefaultExtraCommands(mod.commands.getExtraCommands());
37851
37912
  }
37852
37913
  });
@@ -37880,7 +37941,7 @@ function MarkdownEditor({
37880
37941
  const isImage = file.type.startsWith("image/");
37881
37942
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
37882
37943
  insertTextAtCursor(markdown);
37883
- _optionalChain([onFileUploaded, 'optionalCall', _758 => _758(url, file.name)]);
37944
+ _optionalChain([onFileUploaded, 'optionalCall', _760 => _760(url, file.name)]);
37884
37945
  } catch (error) {
37885
37946
  console.error("File upload failed:", error);
37886
37947
  setUploadProgress("Upload failed. Please try again.");
@@ -37893,7 +37954,7 @@ function MarkdownEditor({
37893
37954
  );
37894
37955
  const handleFileInputChange = _react.useCallback.call(void 0,
37895
37956
  (e) => {
37896
- const file = _optionalChain([e, 'access', _759 => _759.target, 'access', _760 => _760.files, 'optionalAccess', _761 => _761[0]]);
37957
+ const file = _optionalChain([e, 'access', _761 => _761.target, 'access', _762 => _762.files, 'optionalAccess', _763 => _763[0]]);
37897
37958
  if (file) {
37898
37959
  handleFileUpload(file);
37899
37960
  e.target.value = "";
@@ -37904,7 +37965,7 @@ function MarkdownEditor({
37904
37965
  const handlePaste = _react.useCallback.call(void 0,
37905
37966
  (e) => {
37906
37967
  if (!onUploadFile) return;
37907
- const items = _optionalChain([e, 'access', _762 => _762.clipboardData, 'optionalAccess', _763 => _763.items]);
37968
+ const items = _optionalChain([e, 'access', _764 => _764.clipboardData, 'optionalAccess', _765 => _765.items]);
37908
37969
  if (!items) return;
37909
37970
  for (const item of items) {
37910
37971
  if (item.type.startsWith("image/")) {
@@ -37929,7 +37990,7 @@ function MarkdownEditor({
37929
37990
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
37930
37991
  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" }),
37931
37992
  execute: () => {
37932
- _optionalChain([fileInputRef, 'access', _764 => _764.current, 'optionalAccess', _765 => _765.click, 'call', _766 => _766()]);
37993
+ _optionalChain([fileInputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.click, 'call', _768 => _768()]);
37933
37994
  }
37934
37995
  } : null;
37935
37996
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -37941,7 +38002,7 @@ function MarkdownEditor({
37941
38002
  const EDGE_ZONE = 60;
37942
38003
  const MAX_SCROLL_SPEED = 15;
37943
38004
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
37944
- let node = _optionalChain([el, 'optionalAccess', _767 => _767.parentElement]);
38005
+ let node = _optionalChain([el, 'optionalAccess', _769 => _769.parentElement]);
37945
38006
  while (node && node !== document.documentElement) {
37946
38007
  const { overflowY } = window.getComputedStyle(node);
37947
38008
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -38084,7 +38145,7 @@ function matchesAccept(file, accept) {
38084
38145
  });
38085
38146
  }
38086
38147
  function dragHasFiles(e) {
38087
- const types = _optionalChain([e, 'access', _768 => _768.dataTransfer, 'optionalAccess', _769 => _769.types]);
38148
+ const types = _optionalChain([e, 'access', _770 => _770.dataTransfer, 'optionalAccess', _771 => _771.types]);
38088
38149
  if (!types) return false;
38089
38150
  for (let i = 0; i < types.length; i++) {
38090
38151
  if (types[i] === "Files") return true;
@@ -38180,7 +38241,7 @@ function FileUpload({
38180
38241
  e.stopPropagation();
38181
38242
  setDragActive(false);
38182
38243
  if (disabled) return;
38183
- if (_optionalChain([e, 'access', _770 => _770.dataTransfer, 'access', _771 => _771.files, 'optionalAccess', _772 => _772.length])) {
38244
+ if (_optionalChain([e, 'access', _772 => _772.dataTransfer, 'access', _773 => _773.files, 'optionalAccess', _774 => _774.length])) {
38184
38245
  handleFiles(e.dataTransfer.files);
38185
38246
  }
38186
38247
  };
@@ -38208,7 +38269,7 @@ function FileUpload({
38208
38269
  e.preventDefault();
38209
38270
  dragCounter = 0;
38210
38271
  setDragActive(false);
38211
- if (_optionalChain([e, 'access', _773 => _773.dataTransfer, 'optionalAccess', _774 => _774.files, 'optionalAccess', _775 => _775.length])) {
38272
+ if (_optionalChain([e, 'access', _775 => _775.dataTransfer, 'optionalAccess', _776 => _776.files, 'optionalAccess', _777 => _777.length])) {
38212
38273
  handleFilesRef.current(e.dataTransfer.files);
38213
38274
  }
38214
38275
  };
@@ -38230,7 +38291,7 @@ function FileUpload({
38230
38291
  };
38231
38292
  }, [acceptWindowDrops, disabled]);
38232
38293
  const handleFileSelect = (e) => {
38233
- if (_optionalChain([e, 'access', _776 => _776.target, 'access', _777 => _777.files, 'optionalAccess', _778 => _778.length])) {
38294
+ if (_optionalChain([e, 'access', _778 => _778.target, 'access', _779 => _779.files, 'optionalAccess', _780 => _780.length])) {
38234
38295
  handleFiles(e.target.files);
38235
38296
  }
38236
38297
  };
@@ -38247,7 +38308,7 @@ function FileUpload({
38247
38308
  };
38248
38309
  const openDialog = async () => {
38249
38310
  if (disabled) return;
38250
- _optionalChain([fileInputRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.click, 'call', _781 => _781()]);
38311
+ _optionalChain([fileInputRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.click, 'call', _783 => _783()]);
38251
38312
  };
38252
38313
  const displayError = error || validationError || void 0;
38253
38314
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -38309,7 +38370,7 @@ function FileUpload({
38309
38370
  "button",
38310
38371
  {
38311
38372
  type: "button",
38312
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _782 => _782(entry.id)]),
38373
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _784 => _784(entry.id)]),
38313
38374
  className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity",
38314
38375
  "aria-label": `Remove ${entry.fileName}`,
38315
38376
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrashIcon, { className: "size-6" })
@@ -38440,7 +38501,7 @@ function ImageUploader({
38440
38501
  onChange(file);
38441
38502
  };
38442
38503
  const handleFileSelect = (e) => {
38443
- validateAndEmit(_optionalChain([e, 'access', _783 => _783.target, 'access', _784 => _784.files, 'optionalAccess', _785 => _785[0]]));
38504
+ validateAndEmit(_optionalChain([e, 'access', _785 => _785.target, 'access', _786 => _786.files, 'optionalAccess', _787 => _787[0]]));
38444
38505
  if (inputRef.current) inputRef.current.value = "";
38445
38506
  };
38446
38507
  const handleDrag = (e) => {
@@ -38455,11 +38516,11 @@ function ImageUploader({
38455
38516
  e.stopPropagation();
38456
38517
  setDragActive(false);
38457
38518
  if (!interactive) return;
38458
- validateAndEmit(_optionalChain([e, 'access', _786 => _786.dataTransfer, 'access', _787 => _787.files, 'optionalAccess', _788 => _788[0]]));
38519
+ validateAndEmit(_optionalChain([e, 'access', _788 => _788.dataTransfer, 'access', _789 => _789.files, 'optionalAccess', _790 => _790[0]]));
38459
38520
  };
38460
38521
  const openDialog = () => {
38461
38522
  if (!interactive) return;
38462
- _optionalChain([inputRef, 'access', _789 => _789.current, 'optionalAccess', _790 => _790.click, 'call', _791 => _791()]);
38523
+ _optionalChain([inputRef, 'access', _791 => _791.current, 'optionalAccess', _792 => _792.click, 'call', _793 => _793()]);
38463
38524
  };
38464
38525
  const handleRootKeyDown = (e) => {
38465
38526
  if (hasImage || !interactive) return;
@@ -38650,8 +38711,8 @@ function ColorPresetSelect({
38650
38711
  }) {
38651
38712
  const selectedPreset = presets.find((p) => p.key === presetKey);
38652
38713
  const isCustom = !selectedPreset;
38653
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _792 => _792.label]), () => ( "Custom"));
38654
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _793 => _793.color]), () => ( value));
38714
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _794 => _794.label]), () => ( "Custom"));
38715
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _795 => _795.color]), () => ( value));
38655
38716
  const groups = [
38656
38717
  {
38657
38718
  items: [
@@ -38941,7 +39002,7 @@ function TicketStatusConfigRow({
38941
39002
  _chunkQJGRP2YEcjs.Input,
38942
39003
  {
38943
39004
  value: name,
38944
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _794 => _794(e.target.value)]),
39005
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _796 => _796(e.target.value)]),
38945
39006
  disabled: isSystem,
38946
39007
  readOnly: isSystem,
38947
39008
  "aria-label": "Status name",
@@ -39314,14 +39375,14 @@ function TicketInfoSection({
39314
39375
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39315
39376
  SquareAvatar,
39316
39377
  {
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",
39378
+ src: _optionalChain([organization, 'optionalAccess', _797 => _797.imageSrc]),
39379
+ alt: _optionalChain([organization, 'optionalAccess', _798 => _798.name]),
39380
+ fallback: _optionalChain([organization, 'optionalAccess', _799 => _799.name]) || "Org",
39320
39381
  size: "md",
39321
39382
  className: "shrink-0"
39322
39383
  }
39323
39384
  ),
39324
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _798 => _798.name]) || "Unassigned", label: "Organization" })
39385
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _800 => _800.name]) || "Unassigned", label: "Organization" })
39325
39386
  ] }),
39326
39387
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39327
39388
  AssigneeDropdown,
@@ -39342,10 +39403,10 @@ function TicketInfoSection({
39342
39403
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39343
39404
  InfoCell2,
39344
39405
  {
39345
- value: _optionalChain([device, 'optionalAccess', _799 => _799.name]) || "Unassigned",
39406
+ value: _optionalChain([device, 'optionalAccess', _801 => _801.name]) || "Unassigned",
39346
39407
  label: "Device",
39347
- icon: _optionalChain([device, 'optionalAccess', _800 => _800.icon]),
39348
- onClick: _optionalChain([device, 'optionalAccess', _801 => _801.onClick])
39408
+ icon: _optionalChain([device, 'optionalAccess', _802 => _802.icon]),
39409
+ onClick: _optionalChain([device, 'optionalAccess', _803 => _803.onClick])
39349
39410
  }
39350
39411
  ),
39351
39412
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39675,7 +39736,7 @@ function RoadmapCard({
39675
39736
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39676
39737
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39677
39738
  const hasFigma = !!item.figmaUrl;
39678
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _802 => _802.screenshots, 'optionalAccess', _803 => _803.length]), () => ( 0))) > 0;
39739
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _804 => _804.screenshots, 'optionalAccess', _805 => _805.length]), () => ( 0))) > 0;
39679
39740
  const typeLabel = getTaskTypeLabel(item.customItemId);
39680
39741
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39681
39742
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39694,7 +39755,7 @@ function RoadmapCard({
39694
39755
  unoptimized: true,
39695
39756
  className: "h-8 w-8 object-contain"
39696
39757
  }
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)]) || "??" })
39758
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _806 => _806.title, 'optionalAccess', _807 => _807.substring, 'call', _808 => _808(0, 2)]) || "??" })
39698
39759
  }
39699
39760
  ),
39700
39761
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -39769,7 +39830,7 @@ function RoadmapCard({
39769
39830
  unoptimized: true,
39770
39831
  className: "object-contain p-1"
39771
39832
  }
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)]) || "??" }) }),
39833
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _809 => _809.title, 'optionalAccess', _810 => _810.substring, 'call', _811 => _811(0, 2)]) || "??" }) }),
39773
39834
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
39774
39835
  /* @__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 }) }),
39775
39836
  /* @__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: [
@@ -40279,7 +40340,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
40279
40340
  ] }) : null,
40280
40341
  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
40281
40342
  ] }),
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
40343
+ _optionalChain([anchorProps, 'optionalAccess', _812 => _812.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
40283
40344
  ] });
40284
40345
  if (!anchorProps) {
40285
40346
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -40349,7 +40410,7 @@ function getDefaultOptions() {
40349
40410
  // node_modules/date-fns/startOfWeek.mjs
40350
40411
  function startOfWeek(date, options) {
40351
40412
  const defaultOptions2 = getDefaultOptions();
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));
40413
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _813 => _813.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _814 => _814.locale, 'optionalAccess', _815 => _815.options, 'optionalAccess', _816 => _816.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _817 => _817.locale, 'optionalAccess', _818 => _818.options, 'optionalAccess', _819 => _819.weekStartsOn]))), () => ( 0));
40353
40414
  const _date = toDate(date);
40354
40415
  const day = _date.getDay();
40355
40416
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -40524,7 +40585,7 @@ var formatDistance = (token, count, options) => {
40524
40585
  } else {
40525
40586
  result = tokenValue.other.replace("{{count}}", count.toString());
40526
40587
  }
40527
- if (_optionalChain([options, 'optionalAccess', _818 => _818.addSuffix])) {
40588
+ if (_optionalChain([options, 'optionalAccess', _820 => _820.addSuffix])) {
40528
40589
  if (options.comparison && options.comparison > 0) {
40529
40590
  return "in " + result;
40530
40591
  } else {
@@ -40591,15 +40652,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40591
40652
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40592
40653
  function buildLocalizeFn(args) {
40593
40654
  return (value, options) => {
40594
- const context = _optionalChain([options, 'optionalAccess', _819 => _819.context]) ? String(options.context) : "standalone";
40655
+ const context = _optionalChain([options, 'optionalAccess', _821 => _821.context]) ? String(options.context) : "standalone";
40595
40656
  let valuesArray;
40596
40657
  if (context === "formatting" && args.formattingValues) {
40597
40658
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40598
- const width = _optionalChain([options, 'optionalAccess', _820 => _820.width]) ? String(options.width) : defaultWidth;
40659
+ const width = _optionalChain([options, 'optionalAccess', _822 => _822.width]) ? String(options.width) : defaultWidth;
40599
40660
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40600
40661
  } else {
40601
40662
  const defaultWidth = args.defaultWidth;
40602
- const width = _optionalChain([options, 'optionalAccess', _821 => _821.width]) ? String(options.width) : args.defaultWidth;
40663
+ const width = _optionalChain([options, 'optionalAccess', _823 => _823.width]) ? String(options.width) : args.defaultWidth;
40603
40664
  valuesArray = args.values[width] || args.values[defaultWidth];
40604
40665
  }
40605
40666
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -40979,7 +41040,7 @@ function getWeekYear(date, options) {
40979
41040
  const _date = toDate(date);
40980
41041
  const year = _date.getFullYear();
40981
41042
  const defaultOptions2 = getDefaultOptions();
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));
41043
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _824 => _824.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _825 => _825.locale, 'optionalAccess', _826 => _826.options, 'optionalAccess', _827 => _827.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _828 => _828.locale, 'optionalAccess', _829 => _829.options, 'optionalAccess', _830 => _830.firstWeekContainsDate]))), () => ( 1));
40983
41044
  const firstWeekOfNextYear = constructFrom(date, 0);
40984
41045
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
40985
41046
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -41000,7 +41061,7 @@ function getWeekYear(date, options) {
41000
41061
  // node_modules/date-fns/startOfWeekYear.mjs
41001
41062
  function startOfWeekYear(date, options) {
41002
41063
  const defaultOptions2 = getDefaultOptions();
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));
41064
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _831 => _831.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _832 => _832.locale, 'optionalAccess', _833 => _833.options, 'optionalAccess', _834 => _834.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _835 => _835.locale, 'optionalAccess', _836 => _836.options, 'optionalAccess', _837 => _837.firstWeekContainsDate]))), () => ( 1));
41004
41065
  const year = getWeekYear(date, options);
41005
41066
  const firstWeek = constructFrom(date, 0);
41006
41067
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -41815,9 +41876,9 @@ var doubleQuoteRegExp = /''/g;
41815
41876
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
41816
41877
  function format(date, formatStr, options) {
41817
41878
  const defaultOptions2 = getDefaultOptions();
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));
41879
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _838 => _838.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41880
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _839 => _839.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _840 => _840.locale, 'optionalAccess', _841 => _841.options, 'optionalAccess', _842 => _842.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _843 => _843.locale, 'optionalAccess', _844 => _844.options, 'optionalAccess', _845 => _845.firstWeekContainsDate]))), () => ( 1));
41881
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _846 => _846.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _847 => _847.locale, 'optionalAccess', _848 => _848.options, 'optionalAccess', _849 => _849.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _850 => _850.locale, 'optionalAccess', _851 => _851.options, 'optionalAccess', _852 => _852.weekStartsOn]))), () => ( 0));
41821
41882
  const originalDate = toDate(date);
41822
41883
  if (!isValid(originalDate)) {
41823
41884
  throw new RangeError("Invalid time value");
@@ -41858,7 +41919,7 @@ function format(date, formatStr, options) {
41858
41919
  return parts.map((part) => {
41859
41920
  if (!part.isToken) return part.value;
41860
41921
  const token = part.value;
41861
- if (!_optionalChain([options, 'optionalAccess', _851 => _851.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _852 => _852.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41922
+ if (!_optionalChain([options, 'optionalAccess', _853 => _853.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _854 => _854.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41862
41923
  warnOrThrowProtectedError(token, formatStr, String(date));
41863
41924
  }
41864
41925
  const formatter = formatters[token[0]];
@@ -42039,7 +42100,7 @@ function ProgramCard({
42039
42100
  const dur = formatDurationFromRange(w.start_at, w.end_at);
42040
42101
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42041
42102
  }
42042
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _853 => _853.labels, 'optionalAccess', _854 => _854.singular])].filter(
42103
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _855 => _855.labels, 'optionalAccess', _856 => _856.singular])].filter(
42043
42104
  (s) => typeof s === "string" && s.length > 0
42044
42105
  );
42045
42106
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -42196,7 +42257,7 @@ function ProgramCard({
42196
42257
 
42197
42258
 
42198
42259
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
42199
- const goalsCount = _optionalChain([campaign, 'access', _855 => _855.goals, 'optionalAccess', _856 => _856.length]) || 0;
42260
+ const goalsCount = _optionalChain([campaign, 'access', _857 => _857.goals, 'optionalAccess', _858 => _858.length]) || 0;
42200
42261
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
42201
42262
  /* @__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" }) }),
42202
42263
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -42358,7 +42419,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
42358
42419
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
42359
42420
  const safePath = sanitizePath(row.path);
42360
42421
  if (safePath) {
42361
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _857 => _857.docPlatformTargets, 'optionalAccess', _858 => _858[row.documentType]]) : void 0;
42422
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _859 => _859.docPlatformTargets, 'optionalAccess', _860 => _860[row.documentType]]) : void 0;
42362
42423
  if (docTarget) {
42363
42424
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
42364
42425
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -42573,8 +42634,8 @@ function cardMenuGroups(href, discuss, openDetails) {
42573
42634
  if (href) {
42574
42635
  items.push({
42575
42636
  id: "open-details",
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 }))),
42637
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _861 => _861.label]), () => ( "Open Details")),
42638
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _862 => _862.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.EyeIcon, { size: 20 }))),
42578
42639
  // Main row → open the entity (same tab, soft Link nav).
42579
42640
  href,
42580
42641
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42604,8 +42665,8 @@ function HubspotTicketChatCard({
42604
42665
  isNewTab,
42605
42666
  discuss
42606
42667
  }) {
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;
42668
+ const status = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.status]) === "string" ? chatRef.metadata.status : void 0;
42669
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _865 => _865.metadata, 'optionalAccess', _866 => _866.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42609
42670
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42610
42671
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42611
42672
  MingoInfoCard,
@@ -42628,7 +42689,7 @@ function FaqChatCard({
42628
42689
  isNewTab,
42629
42690
  discuss
42630
42691
  }) {
42631
- const section = typeof _optionalChain([chatRef, 'access', _865 => _865.metadata, 'optionalAccess', _866 => _866.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42692
+ const section = typeof _optionalChain([chatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42632
42693
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42633
42694
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42634
42695
  MingoInfoCard,
@@ -42648,7 +42709,7 @@ function SlackChatCard({
42648
42709
  isNewTab,
42649
42710
  discuss
42650
42711
  }) {
42651
- const channelName = typeof _optionalChain([chatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42712
+ const channelName = typeof _optionalChain([chatRef, 'access', _869 => _869.metadata, 'optionalAccess', _870 => _870.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42652
42713
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42653
42714
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42654
42715
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42688,7 +42749,7 @@ function GenericFinancialChatCard({
42688
42749
  isNewTab,
42689
42750
  discuss
42690
42751
  }) {
42691
- const subtitle = typeof _optionalChain([chatRef, 'access', _869 => _869.metadata, 'optionalAccess', _870 => _870.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42752
+ const subtitle = typeof _optionalChain([chatRef, 'access', _871 => _871.metadata, 'optionalAccess', _872 => _872.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42692
42753
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42693
42754
  MingoInfoCard,
42694
42755
  {
@@ -42757,12 +42818,12 @@ function ProductReleaseChatCard({
42757
42818
  discuss
42758
42819
  }) {
42759
42820
  const releaseProps = buildProps(item);
42760
- const status = _optionalChain([item, 'optionalAccess', _871 => _871.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42821
+ const status = _optionalChain([item, 'optionalAccess', _873 => _873.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42761
42822
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42762
42823
  EntityMingoCard,
42763
42824
  {
42764
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _872 => _872.title]), () => ( "")),
42765
- description: _optionalChain([item, 'optionalAccess', _873 => _873.summary]) || releaseProps.formattedDate || void 0,
42825
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _874 => _874.title]), () => ( "")),
42826
+ description: _optionalChain([item, 'optionalAccess', _875 => _875.summary]) || releaseProps.formattedDate || void 0,
42766
42827
  cover: releaseProps.coverImage || void 0,
42767
42828
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Rocket02Icon, { size: 24 }),
42768
42829
  status,
@@ -42779,17 +42840,17 @@ function CampaignChatCard({
42779
42840
  isNewTab,
42780
42841
  discuss
42781
42842
  }) {
42782
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _874 => _874.goals])) ? item.goals.length : 0;
42843
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _876 => _876.goals])) ? item.goals.length : 0;
42783
42844
  const meta = [
42784
- _optionalChain([item, 'optionalAccess', _875 => _875.start_date]) ? formatDateShort(item.start_date) : null,
42845
+ _optionalChain([item, 'optionalAccess', _877 => _877.start_date]) ? formatDateShort(item.start_date) : null,
42785
42846
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
42786
42847
  "Marketing campaign"
42787
42848
  ].filter(Boolean).join(" \xB7 ");
42788
42849
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42789
42850
  EntityMingoCard,
42790
42851
  {
42791
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _876 => _876.name]), () => ( "")),
42792
- description: meta || _optionalChain([item, 'optionalAccess', _877 => _877.description]) || void 0,
42852
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _878 => _878.name]), () => ( "")),
42853
+ description: meta || _optionalChain([item, 'optionalAccess', _879 => _879.description]) || void 0,
42793
42854
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.Megaphone01Icon, { size: 24 }),
42794
42855
  chatRef,
42795
42856
  isNewTab,
@@ -42842,14 +42903,14 @@ function BlogChatCard({
42842
42903
  hasEmbeddedVideo,
42843
42904
  discuss
42844
42905
  }) {
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;
42906
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _880 => _880.categories])) ? _optionalChain([item, 'access', _881 => _881.categories, 'access', _882 => _882.find, 'call', _883 => _883((c) => c && c.name), 'optionalAccess', _884 => _884.name]) : void 0;
42846
42907
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
42847
42908
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42848
42909
  EntityMingoCard,
42849
42910
  {
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),
42911
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _885 => _885.title]), () => ( "")),
42912
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _886 => _886.summary]), () => ( void 0)),
42913
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _887 => _887.featured_image]), ogPlaceholder),
42853
42914
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.NewspaperIcon, { size: 24 }),
42854
42915
  status,
42855
42916
  chatRef,
@@ -42866,13 +42927,13 @@ function CaseStudyChatCard({
42866
42927
  ogPlaceholder,
42867
42928
  discuss
42868
42929
  }) {
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 ");
42930
+ const meta = [_optionalChain([item, 'optionalAccess', _888 => _888.msp, 'optionalAccess', _889 => _889.name]), _optionalChain([item, 'optionalAccess', _890 => _890.user, 'optionalAccess', _891 => _891.full_name])].filter(Boolean).join(" \xB7 ");
42870
42931
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42871
42932
  EntityMingoCard,
42872
42933
  {
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),
42934
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _892 => _892.title]), () => ( "")),
42935
+ description: _optionalChain([item, 'optionalAccess', _893 => _893.summary]) || meta || void 0,
42936
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _894 => _894.featured_image]), ogPlaceholder),
42876
42937
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.TrophyIcon, { size: 24 }),
42877
42938
  status: { label: "Case study", variant: "grey" },
42878
42939
  chatRef,
@@ -42889,13 +42950,13 @@ function CustomerInterviewChatCard({
42889
42950
  ogPlaceholder,
42890
42951
  discuss
42891
42952
  }) {
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 ");
42953
+ const meta = [_optionalChain([item, 'optionalAccess', _895 => _895.user, 'optionalAccess', _896 => _896.full_name]), _optionalChain([item, 'optionalAccess', _897 => _897.msp, 'optionalAccess', _898 => _898.name])].filter(Boolean).join(" \xB7 ");
42893
42954
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42894
42955
  EntityMingoCard,
42895
42956
  {
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),
42957
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _899 => _899.title]), () => ( "")),
42958
+ description: _optionalChain([item, 'optionalAccess', _900 => _900.video_summary]) || meta || void 0,
42959
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _901 => _901.featured_image]), ogPlaceholder),
42899
42960
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.MicrophoneIcon, { size: 24 }),
42900
42961
  status: { label: "Interview", variant: "grey" },
42901
42962
  chatRef,
@@ -42912,13 +42973,13 @@ function InvestorUpdateChatCard({
42912
42973
  ogPlaceholder,
42913
42974
  discuss
42914
42975
  }) {
42915
- const title = _optionalChain([item, 'optionalAccess', _900 => _900.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _901 => _901.update_number]), () => ( "?"))}`;
42976
+ const title = _optionalChain([item, 'optionalAccess', _902 => _902.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _903 => _903.update_number]), () => ( "?"))}`;
42916
42977
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42917
42978
  EntityMingoCard,
42918
42979
  {
42919
42980
  title,
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),
42981
+ description: _optionalChain([item, 'optionalAccess', _904 => _904.strategic_update]) || _optionalChain([item, 'optionalAccess', _905 => _905.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _906 => _906.period_start]), _optionalChain([item, 'optionalAccess', _907 => _907.period_end])) || void 0,
42982
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _908 => _908.featured_image]), ogPlaceholder),
42922
42983
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.PresentationLineIcon, { size: 24 }),
42923
42984
  status: { label: "Investor update", variant: "grey" },
42924
42985
  chatRef,
@@ -42935,12 +42996,12 @@ function OnboardingGuideChatCard({
42935
42996
  ogPlaceholder,
42936
42997
  discuss
42937
42998
  }) {
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)));
42999
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _909 => _909.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _910 => _910.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _911 => _911.og_image_url]), ogPlaceholder)));
42939
43000
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42940
43001
  EntityMingoCard,
42941
43002
  {
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)),
43003
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
43004
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _913 => _913.summary]), () => ( _optionalChain([item, 'optionalAccess', _914 => _914.description]))), () => ( void 0)),
42944
43005
  cover,
42945
43006
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCCG4DARMcjs.CompassIcon, { size: 24 }),
42946
43007
  status: { label: "Guide", variant: "grey" },
@@ -42961,25 +43022,25 @@ function ProgramChatCard({
42961
43022
  discuss
42962
43023
  }) {
42963
43024
  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 });
42964
- const isScheduled = _optionalChain([item, 'optionalAccess', _913 => _913.status]) === "scheduled";
43025
+ const isScheduled = _optionalChain([item, 'optionalAccess', _915 => _915.status]) === "scheduled";
42965
43026
  let typeMeta;
42966
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _914 => _914.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
43027
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _916 => _916.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42967
43028
  typeMeta = formatDurationCompact(item.duration_seconds);
42968
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _915 => _915.location_name]) === "string" && item.location_name.trim().length > 0) {
43029
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _917 => _917.location_name]) === "string" && item.location_name.trim().length > 0) {
42969
43030
  typeMeta = item.location_name;
42970
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _916 => _916.start_at])) {
43031
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _918 => _918.start_at])) {
42971
43032
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
42972
43033
  const dur = formatDurationFromRange(item.start_at, item.end_at);
42973
43034
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42974
43035
  }
42975
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _917 => _917.date]), () => ( null)), { fallback: "", timezone: "local" });
43036
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _919 => _919.date]), () => ( null)), { fallback: "", timezone: "local" });
42976
43037
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
42977
43038
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42978
43039
  EntityMingoCard,
42979
43040
  {
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),
43041
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _920 => _920.title]), () => ( "")),
43042
+ description: meta || _optionalChain([item, 'optionalAccess', _921 => _921.description]) || void 0,
43043
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _922 => _922.cover_url]), ogPlaceholder),
42983
43044
  fallbackIcon: icon,
42984
43045
  status: { label, variant: "grey" },
42985
43046
  chatRef,
@@ -42996,10 +43057,10 @@ function RoadmapChatCard({
42996
43057
  cardType,
42997
43058
  discuss
42998
43059
  }) {
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;
43060
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _923 => _923.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
43061
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _924 => _924.customItemId]) != null;
43001
43062
  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 });
43002
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _923 => _923.customItemId]), className: "size-6" }) : logoUrl ? (
43063
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _925 => _925.customItemId]), className: "size-6" }) : logoUrl ? (
43003
43064
  // Contained (not full-bleed) so the integration logo keeps its aspect
43004
43065
  // ratio inside the bordered icon box — matches RoadmapCard.
43005
43066
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -43007,10 +43068,10 @@ function RoadmapChatCard({
43007
43068
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43008
43069
  EntityMingoCard,
43009
43070
  {
43010
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")),
43011
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _925 => _925.description]), () => ( void 0)),
43071
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _926 => _926.title]), () => ( "")),
43072
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _927 => _927.description]), () => ( void 0)),
43012
43073
  fallbackIcon: icon,
43013
- status: statusPill(_optionalChain([item, 'optionalAccess', _926 => _926.status])),
43074
+ status: statusPill(_optionalChain([item, 'optionalAccess', _928 => _928.status])),
43014
43075
  chatRef,
43015
43076
  isNewTab,
43016
43077
  discuss,
@@ -43096,7 +43157,7 @@ function programRegistryEntries() {
43096
43157
  discuss: opts.discuss,
43097
43158
  configKey: cfg.configKey,
43098
43159
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
43099
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _927 => _927.extras, 'optionalAccess', _928 => _928.buildOgPlaceholderUrl, 'optionalCall', _929 => _929(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _930 => _930.title]), () => ( "")))]), () => ( null))
43160
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _929 => _929.extras, 'optionalAccess', _930 => _930.buildOgPlaceholderUrl, 'optionalCall', _931 => _931(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _932 => _932.title]), () => ( "")))]), () => ( null))
43100
43161
  }
43101
43162
  )
43102
43163
  };
@@ -43248,8 +43309,8 @@ var CHAT_CARD_REGISTRY = {
43248
43309
  chatRef,
43249
43310
  isNewTab: opts.isNewTab,
43250
43311
  discuss: opts.discuss,
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
43312
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _933 => _933.extras, 'optionalAccess', _934 => _934.buildOgPlaceholderUrl, 'optionalCall', _935 => _935(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _936 => _936.title]), () => ( "")))]), () => ( null)),
43313
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _937 => _937.metadata, 'optionalAccess', _938 => _938.hasEmbeddedVideo]) === true
43253
43314
  }
43254
43315
  )
43255
43316
  },
@@ -43266,7 +43327,7 @@ var CHAT_CARD_REGISTRY = {
43266
43327
  chatRef,
43267
43328
  isNewTab: opts.isNewTab,
43268
43329
  discuss: opts.discuss,
43269
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _937 => _937.extras, 'optionalAccess', _938 => _938.buildOgPlaceholderUrl, 'optionalCall', _939 => _939(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _940 => _940.title]), () => ( "")))]), () => ( null))
43330
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildOgPlaceholderUrl, 'optionalCall', _941 => _941(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _942 => _942.title]), () => ( "")))]), () => ( null))
43270
43331
  }
43271
43332
  )
43272
43333
  },
@@ -43283,7 +43344,7 @@ var CHAT_CARD_REGISTRY = {
43283
43344
  chatRef,
43284
43345
  isNewTab: opts.isNewTab,
43285
43346
  discuss: opts.discuss,
43286
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _941 => _941.extras, 'optionalAccess', _942 => _942.buildOgPlaceholderUrl, 'optionalCall', _943 => _943(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _944 => _944.title]), () => ( "")))]), () => ( null))
43347
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _943 => _943.extras, 'optionalAccess', _944 => _944.buildOgPlaceholderUrl, 'optionalCall', _945 => _945(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _946 => _946.title]), () => ( "")))]), () => ( null))
43287
43348
  }
43288
43349
  )
43289
43350
  },
@@ -43294,7 +43355,7 @@ var CHAT_CARD_REGISTRY = {
43294
43355
  bareInline: true,
43295
43356
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
43296
43357
  render: (item, chatRef, opts) => {
43297
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43358
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _947 => _947.extras, 'optionalAccess', _948 => _948.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
43298
43359
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43299
43360
  ProductReleaseChatCard,
43300
43361
  {
@@ -43321,7 +43382,7 @@ var CHAT_CARD_REGISTRY = {
43321
43382
  chatRef,
43322
43383
  isNewTab: opts.isNewTab,
43323
43384
  discuss: opts.discuss,
43324
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _947 => _947.extras, 'optionalAccess', _948 => _948.buildOgPlaceholderUrl, 'optionalCall', _949 => _949(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _950 => _950.title]), () => ( "")))]), () => ( null))
43385
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _949 => _949.extras, 'optionalAccess', _950 => _950.buildOgPlaceholderUrl, 'optionalCall', _951 => _951(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _952 => _952.title]), () => ( "")))]), () => ( null))
43325
43386
  }
43326
43387
  )
43327
43388
  },
@@ -43340,7 +43401,7 @@ var CHAT_CARD_REGISTRY = {
43340
43401
  chatRef,
43341
43402
  isNewTab: opts.isNewTab,
43342
43403
  discuss: opts.discuss,
43343
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _951 => _951.extras, 'optionalAccess', _952 => _952.buildOgPlaceholderUrl, 'optionalCall', _953 => _953(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _954 => _954.title]), () => ( "")))]), () => ( null))
43404
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _953 => _953.extras, 'optionalAccess', _954 => _954.buildOgPlaceholderUrl, 'optionalCall', _955 => _955(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _956 => _956.title]), () => ( "")))]), () => ( null))
43344
43405
  }
43345
43406
  )
43346
43407
  },
@@ -43352,7 +43413,7 @@ var CHAT_CARD_REGISTRY = {
43352
43413
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
43353
43414
  // No public viewer — synthesize the hub-internal admin URL post-fetch
43354
43415
  // so the wrapper + isNewTab computation see the actual destination.
43355
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _955 => _955.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43416
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _957 => _957.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
43356
43417
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43357
43418
  CampaignChatCard,
43358
43419
  {
@@ -43378,12 +43439,12 @@ function ChatCardNavWrap({
43378
43439
  const onClickCapture = (e) => {
43379
43440
  if (!href) return;
43380
43441
  const targetEl = e.target;
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;
43442
+ if (_optionalChain([targetEl, 'optionalAccess', _958 => _958.closest, 'optionalCall', _959 => _959("button")])) return;
43443
+ if (!_optionalChain([targetEl, 'optionalAccess', _960 => _960.closest, 'optionalCall', _961 => _961("a")])) return;
43383
43444
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
43384
43445
  if (!handled) return;
43385
43446
  e.stopPropagation();
43386
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _960 => _960.closeChat])) panel.closeChat();
43447
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _962 => _962.closeChat])) panel.closeChat();
43387
43448
  };
43388
43449
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
43389
43450
  }
@@ -43405,7 +43466,7 @@ function ChatCardLoader({
43405
43466
  title: chatRef.title,
43406
43467
  externalUrl: chatRef.url,
43407
43468
  targetPlatform: chatRef.targetPlatform,
43408
- path: typeof _optionalChain([chatRef, 'access', _961 => _961.metadata, 'optionalAccess', _962 => _962.path]) === "string" ? chatRef.metadata.path : null
43469
+ path: typeof _optionalChain([chatRef, 'access', _963 => _963.metadata, 'optionalAccess', _964 => _964.path]) === "string" ? chatRef.metadata.path : null
43409
43470
  },
43410
43471
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
43411
43472
  );
@@ -43419,7 +43480,7 @@ function ChatCardLoader({
43419
43480
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
43420
43481
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
43421
43482
  const { item, isLoading } = useChatCardItem(
43422
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _963 => _963.contentRefType]), () => ( "")),
43483
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _965 => _965.contentRefType]), () => ( "")),
43423
43484
  fetchEntry ? resolvedChatRef.id : ""
43424
43485
  );
43425
43486
  if (!entry) return null;
@@ -43450,7 +43511,7 @@ function ChatCardLoader({
43450
43511
  isNewTab,
43451
43512
  discuss
43452
43513
  };
43453
- const path = typeof _optionalChain([finalChatRef, 'access', _964 => _964.metadata, 'optionalAccess', _965 => _965.path]) === "string" ? finalChatRef.metadata.path : null;
43514
+ const path = typeof _optionalChain([finalChatRef, 'access', _966 => _966.metadata, 'optionalAccess', _967 => _967.path]) === "string" ? finalChatRef.metadata.path : null;
43454
43515
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
43455
43516
  ChatCardNavWrap,
43456
43517
  {
@@ -43836,7 +43897,7 @@ function useJetStreamDialogSubscription({
43836
43897
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43837
43898
  conn: sharedConn,
43838
43899
  wsUrl,
43839
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]),
43900
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _968 => _968.current, 'optionalCall', _969 => _969()]),
43840
43901
  backoff: reconnectionBackoffRef.current,
43841
43902
  getFreshUrl: () => getNatsWsUrlRef.current(),
43842
43903
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -43851,7 +43912,7 @@ function useJetStreamDialogSubscription({
43851
43912
  setReconnectionCount((c) => c + 1);
43852
43913
  }
43853
43914
  hadConnectionBeforeRef.current = true;
43854
- _optionalChain([onConnectRef, 'access', _968 => _968.current, 'optionalCall', _969 => _969()]);
43915
+ _optionalChain([onConnectRef, 'access', _970 => _970.current, 'optionalCall', _971 => _971()]);
43855
43916
  }
43856
43917
  if (status === "error") {
43857
43918
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -43861,7 +43922,7 @@ function useJetStreamDialogSubscription({
43861
43922
  setIsConnected(false);
43862
43923
  setIsSubscribed(false);
43863
43924
  tearDownSubscription();
43864
- _optionalChain([onDisconnectRef, 'access', _970 => _970.current, 'optionalCall', _971 => _971()]);
43925
+ _optionalChain([onDisconnectRef, 'access', _972 => _972.current, 'optionalCall', _973 => _973()]);
43865
43926
  }
43866
43927
  }
43867
43928
  });
@@ -43940,7 +44001,7 @@ function useJetStreamDialogSubscription({
43940
44001
  }
43941
44002
  subscriptionRef.current = handle;
43942
44003
  setIsSubscribed(true);
43943
- _optionalChain([onSubscribedRef, 'access', _972 => _972.current, 'optionalCall', _973 => _973()]);
44004
+ _optionalChain([onSubscribedRef, 'access', _974 => _974.current, 'optionalCall', _975 => _975()]);
43944
44005
  } catch (e44) {
43945
44006
  if (!cancelled) {
43946
44007
  setIsSubscribed(false);
@@ -44053,20 +44114,20 @@ function useNatsDialogSubscription({
44053
44114
  const tearDownSubscriptions = () => {
44054
44115
  subscriptionRefs.current.forEach((sub) => {
44055
44116
  try {
44056
- _optionalChain([sub, 'optionalAccess', _974 => _974.unsubscribe, 'call', _975 => _975()]);
44117
+ _optionalChain([sub, 'optionalAccess', _976 => _976.unsubscribe, 'call', _977 => _977()]);
44057
44118
  } catch (e46) {
44058
44119
  }
44059
44120
  });
44060
44121
  subscriptionRefs.current.clear();
44061
44122
  lastSubscribedDialogIdRef.current = null;
44062
- _optionalChain([abortControllerRef, 'access', _976 => _976.current, 'optionalAccess', _977 => _977.abort, 'call', _978 => _978()]);
44123
+ _optionalChain([abortControllerRef, 'access', _978 => _978.current, 'optionalAccess', _979 => _979.abort, 'call', _980 => _980()]);
44063
44124
  abortControllerRef.current = null;
44064
44125
  };
44065
44126
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
44066
44127
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
44067
44128
  conn: sharedConn,
44068
44129
  wsUrl,
44069
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _979 => _979.current, 'optionalCall', _980 => _980()]),
44130
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]),
44070
44131
  backoff: reconnectionBackoffRef.current,
44071
44132
  getFreshUrl: () => getNatsWsUrlRef.current(),
44072
44133
  shouldRetryOn: isDisconnectStatus,
@@ -44077,7 +44138,7 @@ function useNatsDialogSubscription({
44077
44138
  setReconnectionCount((c) => c + 1);
44078
44139
  }
44079
44140
  hadConnectionBeforeRef.current = true;
44080
- _optionalChain([onConnectRef, 'access', _981 => _981.current, 'optionalCall', _982 => _982()]);
44141
+ _optionalChain([onConnectRef, 'access', _983 => _983.current, 'optionalCall', _984 => _984()]);
44081
44142
  }
44082
44143
  if (status === "error") {
44083
44144
  console.warn("[NATS] protocol error:", evt.data);
@@ -44087,7 +44148,7 @@ function useNatsDialogSubscription({
44087
44148
  setIsConnected(false);
44088
44149
  setIsSubscribed(false);
44089
44150
  tearDownSubscriptions();
44090
- _optionalChain([onDisconnectRef, 'access', _983 => _983.current, 'optionalCall', _984 => _984()]);
44151
+ _optionalChain([onDisconnectRef, 'access', _985 => _985.current, 'optionalCall', _986 => _986()]);
44091
44152
  }
44092
44153
  }
44093
44154
  });
@@ -44118,13 +44179,13 @@ function useNatsDialogSubscription({
44118
44179
  setIsSubscribed(false);
44119
44180
  subscriptionRefs.current.forEach((sub) => {
44120
44181
  try {
44121
- _optionalChain([sub, 'optionalAccess', _985 => _985.unsubscribe, 'call', _986 => _986()]);
44182
+ _optionalChain([sub, 'optionalAccess', _987 => _987.unsubscribe, 'call', _988 => _988()]);
44122
44183
  } catch (e47) {
44123
44184
  }
44124
44185
  });
44125
44186
  subscriptionRefs.current.clear();
44126
44187
  lastSubscribedDialogIdRef.current = null;
44127
- _optionalChain([abortControllerRef, 'access', _987 => _987.current, 'optionalAccess', _988 => _988.abort, 'call', _989 => _989()]);
44188
+ _optionalChain([abortControllerRef, 'access', _989 => _989.current, 'optionalAccess', _990 => _990.abort, 'call', _991 => _991()]);
44128
44189
  abortControllerRef.current = null;
44129
44190
  }
44130
44191
  return;
@@ -44136,12 +44197,12 @@ function useNatsDialogSubscription({
44136
44197
  if (subscriptionRefs.current.size > 0) {
44137
44198
  subscriptionRefs.current.forEach((sub) => {
44138
44199
  try {
44139
- _optionalChain([sub, 'optionalAccess', _990 => _990.unsubscribe, 'call', _991 => _991()]);
44200
+ _optionalChain([sub, 'optionalAccess', _992 => _992.unsubscribe, 'call', _993 => _993()]);
44140
44201
  } catch (e48) {
44141
44202
  }
44142
44203
  });
44143
44204
  subscriptionRefs.current.clear();
44144
- _optionalChain([abortControllerRef, 'access', _992 => _992.current, 'optionalAccess', _993 => _993.abort, 'call', _994 => _994()]);
44205
+ _optionalChain([abortControllerRef, 'access', _994 => _994.current, 'optionalAccess', _995 => _995.abort, 'call', _996 => _996()]);
44145
44206
  }
44146
44207
  abortControllerRef.current = new AbortController();
44147
44208
  const abort = abortControllerRef.current;
@@ -44173,7 +44234,7 @@ function useNatsDialogSubscription({
44173
44234
  });
44174
44235
  lastSubscribedDialogIdRef.current = dialogId;
44175
44236
  setIsSubscribed(true);
44176
- _optionalChain([onSubscribedRef, 'access', _995 => _995.current, 'optionalCall', _996 => _996()]);
44237
+ _optionalChain([onSubscribedRef, 'access', _997 => _997.current, 'optionalCall', _998 => _998()]);
44177
44238
  };
44178
44239
  if (isConnectedRef.current) {
44179
44240
  createSubscriptions();
@@ -44183,7 +44244,7 @@ function useNatsDialogSubscription({
44183
44244
  abort.abort();
44184
44245
  subscriptionRefs.current.forEach((sub) => {
44185
44246
  try {
44186
- _optionalChain([sub, 'optionalAccess', _997 => _997.unsubscribe, 'call', _998 => _998()]);
44247
+ _optionalChain([sub, 'optionalAccess', _999 => _999.unsubscribe, 'call', _1000 => _1000()]);
44187
44248
  } catch (e50) {
44188
44249
  }
44189
44250
  });
@@ -44224,7 +44285,7 @@ function useNatsDialogSubscription({
44224
44285
  });
44225
44286
  lastSubscribedDialogIdRef.current = dialogId2;
44226
44287
  setIsSubscribed(true);
44227
- _optionalChain([onSubscribedRef, 'access', _999 => _999.current, 'optionalCall', _1000 => _1000()]);
44288
+ _optionalChain([onSubscribedRef, 'access', _1001 => _1001.current, 'optionalCall', _1002 => _1002()]);
44228
44289
  } else if (subscriptionRefs.current.size > 0) {
44229
44290
  setIsSubscribed(true);
44230
44291
  }
@@ -44232,10 +44293,10 @@ function useNatsDialogSubscription({
44232
44293
  return { isConnected, isSubscribed, reconnectionCount };
44233
44294
  }
44234
44295
  function buildNatsWsUrl(apiBaseUrl, options) {
44235
- const path = _optionalChain([options, 'optionalAccess', _1001 => _1001.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44296
+ const path = _optionalChain([options, 'optionalAccess', _1003 => _1003.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
44236
44297
  const u = new URL(path, apiBaseUrl);
44237
44298
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
44238
- if (_optionalChain([options, 'optionalAccess', _1002 => _1002.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1003 => _1003.token])) {
44299
+ if (_optionalChain([options, 'optionalAccess', _1004 => _1004.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1005 => _1005.token])) {
44239
44300
  u.searchParams.set("authorization", options.token);
44240
44301
  }
44241
44302
  return u.toString();
@@ -44371,7 +44432,7 @@ function parseChunkToAction(chunk) {
44371
44432
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
44372
44433
  // historical path in `process-historical-messages.ts`) — keeps both
44373
44434
  // message sources producing an identical shape.
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
44435
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1006 => _1006.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1007 => _1007.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
44375
44436
  };
44376
44437
  case MESSAGE_TYPE.TOKEN_USAGE:
44377
44438
  return {
@@ -44563,8 +44624,8 @@ var MessageSegmentAccumulator = class {
44563
44624
  type: "tool_execution",
44564
44625
  data: {
44565
44626
  ...toolData,
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])
44627
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1008 => _1008.data, 'access', _1009 => _1009.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1010 => _1010.toolTitle]))),
44628
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1011 => _1011.parameters])
44568
44629
  }
44569
44630
  };
44570
44631
  if (existingIndex !== -1) {
@@ -44588,8 +44649,8 @@ var MessageSegmentAccumulator = class {
44588
44649
  if (seg.type !== "approval_batch") return seg;
44589
44650
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44590
44651
  if (!hasCall) return seg;
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]) };
44652
+ const prev = _optionalChain([seg, 'access', _1012 => _1012.data, 'access', _1013 => _1013.executions, 'optionalAccess', _1014 => _1014[execId]]);
44653
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1015 => _1015.result]), success: _optionalChain([prev, 'optionalAccess', _1016 => _1016.success]) };
44593
44654
  matched = true;
44594
44655
  return {
44595
44656
  ...seg,
@@ -44711,10 +44772,10 @@ var MessageSegmentAccumulator = class {
44711
44772
  const segment = {
44712
44773
  type: "approval_request",
44713
44774
  data: {
44714
- command: _optionalChain([pendingApproval, 'optionalAccess', _1015 => _1015.command]) || "",
44715
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1016 => _1016.explanation]),
44775
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1017 => _1017.command]) || "",
44776
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1018 => _1018.explanation]),
44716
44777
  requestId,
44717
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1017 => _1017.approvalType]) || approvalType
44778
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1019 => _1019.approvalType]) || approvalType
44718
44779
  },
44719
44780
  status,
44720
44781
  onApprove: this.callbacks.onApprove,
@@ -44906,7 +44967,7 @@ function useRealtimeChunkProcessor(options) {
44906
44967
  if (initialState.escalatedApprovals) {
44907
44968
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
44908
44969
  initialState.escalatedApprovals.forEach((data, requestId) => {
44909
- _optionalChain([callbacks, 'access', _1018 => _1018.onEscalatedApproval, 'optionalCall', _1019 => _1019(requestId, data)]);
44970
+ _optionalChain([callbacks, 'access', _1020 => _1020.onEscalatedApproval, 'optionalCall', _1021 => _1021(requestId, data)]);
44910
44971
  });
44911
44972
  }
44912
44973
  hasEverStreamedRef.current = true;
@@ -44927,12 +44988,12 @@ function useRealtimeChunkProcessor(options) {
44927
44988
  if (!action) return;
44928
44989
  const accumulator = accumulatorRef.current;
44929
44990
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
44930
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1020 => _1020.onSegmentsUpdate, 'optionalCall', _1021 => _1021(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44991
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1022 => _1022.onSegmentsUpdate, 'optionalCall', _1023 => _1023(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44931
44992
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
44932
44993
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
44933
44994
  if (isInStreamRef.current) {
44934
44995
  isInStreamRef.current = false;
44935
- _optionalChain([callbacks, 'access', _1022 => _1022.onStreamEnd, 'optionalCall', _1023 => _1023()]);
44996
+ _optionalChain([callbacks, 'access', _1024 => _1024.onStreamEnd, 'optionalCall', _1025 => _1025()]);
44936
44997
  accumulator.resetSegments();
44937
44998
  }
44938
44999
  return;
@@ -44941,16 +45002,16 @@ function useRealtimeChunkProcessor(options) {
44941
45002
  case "message_start":
44942
45003
  isInStreamRef.current = true;
44943
45004
  hasEverStreamedRef.current = true;
44944
- _optionalChain([callbacks, 'access', _1024 => _1024.onStreamStart, 'optionalCall', _1025 => _1025()]);
45005
+ _optionalChain([callbacks, 'access', _1026 => _1026.onStreamStart, 'optionalCall', _1027 => _1027()]);
44945
45006
  accumulator.resetSegments();
44946
45007
  break;
44947
45008
  case "message_end":
44948
45009
  isInStreamRef.current = false;
44949
- _optionalChain([callbacks, 'access', _1026 => _1026.onStreamEnd, 'optionalCall', _1027 => _1027()]);
45010
+ _optionalChain([callbacks, 'access', _1028 => _1028.onStreamEnd, 'optionalCall', _1029 => _1029()]);
44950
45011
  accumulator.resetSegments();
44951
45012
  break;
44952
45013
  case "metadata":
44953
- _optionalChain([callbacks, 'access', _1028 => _1028.onMetadata, 'optionalCall', _1029 => _1029(action)]);
45014
+ _optionalChain([callbacks, 'access', _1030 => _1030.onMetadata, 'optionalCall', _1031 => _1031(action)]);
44954
45015
  break;
44955
45016
  case "text": {
44956
45017
  const segments = accumulator.appendText(action.text);
@@ -44993,7 +45054,7 @@ function useRealtimeChunkProcessor(options) {
44993
45054
  emitSegments(segments);
44994
45055
  } else {
44995
45056
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44996
- _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApproval, 'optionalCall', _1031 => _1031(requestId, { command, explanation, approvalType })]);
45057
+ _optionalChain([callbacks, 'access', _1032 => _1032.onEscalatedApproval, 'optionalCall', _1033 => _1033(requestId, { command, explanation, approvalType })]);
44997
45058
  }
44998
45059
  break;
44999
45060
  }
@@ -45005,13 +45066,13 @@ function useRealtimeChunkProcessor(options) {
45005
45066
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
45006
45067
  pendingEscalatedRef.current.set(requestId, {
45007
45068
  command: summary,
45008
- explanation: _optionalChain([required, 'optionalAccess', _1032 => _1032.toolExplanation]),
45069
+ explanation: _optionalChain([required, 'optionalAccess', _1034 => _1034.toolExplanation]),
45009
45070
  approvalType,
45010
45071
  toolCalls
45011
45072
  });
45012
- _optionalChain([callbacks, 'access', _1033 => _1033.onEscalatedApproval, 'optionalCall', _1034 => _1034(requestId, {
45073
+ _optionalChain([callbacks, 'access', _1035 => _1035.onEscalatedApproval, 'optionalCall', _1036 => _1036(requestId, {
45013
45074
  command: summary,
45014
- explanation: _optionalChain([required, 'optionalAccess', _1035 => _1035.toolExplanation]),
45075
+ explanation: _optionalChain([required, 'optionalAccess', _1037 => _1037.toolExplanation]),
45015
45076
  approvalType
45016
45077
  })]);
45017
45078
  break;
@@ -45041,7 +45102,7 @@ function useRealtimeChunkProcessor(options) {
45041
45102
  const status = approved ? "approved" : "rejected";
45042
45103
  if (escalatedData) {
45043
45104
  pendingEscalatedRef.current.delete(requestId);
45044
- _optionalChain([callbacks, 'access', _1036 => _1036.onEscalatedApprovalResult, 'optionalCall', _1037 => _1037(requestId, approved, {
45105
+ _optionalChain([callbacks, 'access', _1038 => _1038.onEscalatedApprovalResult, 'optionalCall', _1039 => _1039(requestId, approved, {
45045
45106
  command: escalatedData.command,
45046
45107
  explanation: escalatedData.explanation,
45047
45108
  approvalType: escalatedData.approvalType
@@ -45087,29 +45148,29 @@ function useRealtimeChunkProcessor(options) {
45087
45148
  emitSegments(accumulator.getSegments());
45088
45149
  }
45089
45150
  }
45090
- _optionalChain([callbacks, 'access', _1038 => _1038.onApprovalResolved, 'optionalCall', _1039 => _1039(requestId, status, approvalType, resolvedByName)]);
45151
+ _optionalChain([callbacks, 'access', _1040 => _1040.onApprovalResolved, 'optionalCall', _1041 => _1041(requestId, status, approvalType, resolvedByName)]);
45091
45152
  break;
45092
45153
  }
45093
45154
  case "error": {
45094
45155
  let message2;
45095
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1040 => _1040.details])) {
45156
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1042 => _1042.details])) {
45096
45157
  try {
45097
- message2 = _optionalChain([JSON, 'access', _1041 => _1041.parse, 'call', _1042 => _1042(action.details), 'optionalAccess', _1043 => _1043.error, 'optionalAccess', _1044 => _1044.message]);
45158
+ message2 = _optionalChain([JSON, 'access', _1043 => _1043.parse, 'call', _1044 => _1044(action.details), 'optionalAccess', _1045 => _1045.error, 'optionalAccess', _1046 => _1046.message]);
45098
45159
  } catch (e52) {
45099
45160
  message2 = action.details;
45100
45161
  }
45101
45162
  }
45102
45163
  const segments = accumulator.addError(action.error, message2);
45103
45164
  emitSegments(segments);
45104
- _optionalChain([callbacks, 'access', _1045 => _1045.onError, 'optionalCall', _1046 => _1046(action.error, message2)]);
45165
+ _optionalChain([callbacks, 'access', _1047 => _1047.onError, 'optionalCall', _1048 => _1048(action.error, message2)]);
45105
45166
  break;
45106
45167
  }
45107
45168
  case "system": {
45108
- _optionalChain([callbacks, 'access', _1047 => _1047.onSystemMessage, 'optionalCall', _1048 => _1048(action.text, { streamSeq })]);
45169
+ _optionalChain([callbacks, 'access', _1049 => _1049.onSystemMessage, 'optionalCall', _1050 => _1050(action.text, { streamSeq })]);
45109
45170
  break;
45110
45171
  }
45111
45172
  case "direct_message": {
45112
- _optionalChain([callbacks, 'access', _1049 => _1049.onDirectMessage, 'optionalCall', _1050 => _1050(action.text, {
45173
+ _optionalChain([callbacks, 'access', _1051 => _1051.onDirectMessage, 'optionalCall', _1052 => _1052(action.text, {
45113
45174
  ownerType: action.ownerType,
45114
45175
  displayName: action.displayName,
45115
45176
  userId: action.userId,
@@ -45118,7 +45179,7 @@ function useRealtimeChunkProcessor(options) {
45118
45179
  break;
45119
45180
  }
45120
45181
  case "message_request":
45121
- _optionalChain([callbacks, 'access', _1051 => _1051.onUserMessage, 'optionalCall', _1052 => _1052(action.text, {
45182
+ _optionalChain([callbacks, 'access', _1053 => _1053.onUserMessage, 'optionalCall', _1054 => _1054(action.text, {
45122
45183
  ownerType: action.ownerType,
45123
45184
  displayName: action.displayName,
45124
45185
  userId: action.userId,
@@ -45127,7 +45188,7 @@ function useRealtimeChunkProcessor(options) {
45127
45188
  })]);
45128
45189
  break;
45129
45190
  case "token_usage":
45130
- _optionalChain([callbacks, 'access', _1053 => _1053.onTokenUsage, 'optionalCall', _1054 => _1054(action.data)]);
45191
+ _optionalChain([callbacks, 'access', _1055 => _1055.onTokenUsage, 'optionalCall', _1056 => _1056(action.data)]);
45131
45192
  break;
45132
45193
  case "context_compaction_start": {
45133
45194
  const standalone = !isInStreamRef.current;
@@ -45142,7 +45203,7 @@ function useRealtimeChunkProcessor(options) {
45142
45203
  break;
45143
45204
  }
45144
45205
  case "dialog_closed":
45145
- _optionalChain([callbacks, 'access', _1055 => _1055.onDialogClosed, 'optionalCall', _1056 => _1056()]);
45206
+ _optionalChain([callbacks, 'access', _1057 => _1057.onDialogClosed, 'optionalCall', _1058 => _1058()]);
45146
45207
  break;
45147
45208
  default:
45148
45209
  break;
@@ -45189,7 +45250,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
45189
45250
  const data = await res.json();
45190
45251
  return _nullishCoalesce(data.commands, () => ( []));
45191
45252
  } catch (err) {
45192
- if (_optionalChain([err, 'optionalAccess', _1057 => _1057.name]) === "AbortError") throw err;
45253
+ if (_optionalChain([err, 'optionalAccess', _1059 => _1059.name]) === "AbortError") throw err;
45193
45254
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
45194
45255
  return [];
45195
45256
  }
@@ -45210,7 +45271,7 @@ function useSlashCommands(prefix, commandsUrl) {
45210
45271
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
45211
45272
  if (!cancelled) setCommands(next);
45212
45273
  } catch (err) {
45213
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1058 => _1058.name]) !== "AbortError") {
45274
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1060 => _1060.name]) !== "AbortError") {
45214
45275
  console.warn("[use-slash-commands] fetch failed:", err);
45215
45276
  }
45216
45277
  } finally {
@@ -45229,7 +45290,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
45229
45290
  const query = _reactquery.useQuery.call(void 0, {
45230
45291
  queryKey: ["chat-slash-commands", commandsUrl],
45231
45292
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
45232
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1059 => _1059.enabled]), () => ( true)),
45293
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1061 => _1061.enabled]), () => ( true)),
45233
45294
  staleTime: Infinity,
45234
45295
  gcTime: Infinity,
45235
45296
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -45265,18 +45326,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
45265
45326
  }
45266
45327
  const data = await res.json();
45267
45328
  return {
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]), () => ( []))
45329
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1062 => _1062.greeting]), () => ( null)),
45330
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1063 => _1063.enabledRagTableIds]), () => ( [])),
45331
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1064 => _1064.suggestedQueries]), () => ( []))
45271
45332
  };
45272
45333
  } catch (err) {
45273
- if (_optionalChain([err, 'optionalAccess', _1063 => _1063.name]) === "AbortError") throw err;
45334
+ if (_optionalChain([err, 'optionalAccess', _1065 => _1065.name]) === "AbortError") throw err;
45274
45335
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
45275
45336
  return EMPTY_STATE_FALLBACK;
45276
45337
  }
45277
45338
  }
45278
45339
  function useEmptyStateConfig(emptyStateUrl, options) {
45279
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1064 => _1064.enabled]), () => ( true))) && !!emptyStateUrl;
45340
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1066 => _1066.enabled]), () => ( true))) && !!emptyStateUrl;
45280
45341
  const query = _reactquery.useQuery.call(void 0, {
45281
45342
  queryKey: ["chat-empty-state", emptyStateUrl],
45282
45343
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -45305,7 +45366,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
45305
45366
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
45306
45367
  function uploadWithProgress(url, file, token, onProgress, signal) {
45307
45368
  return new Promise((resolve, reject) => {
45308
- if (_optionalChain([signal, 'optionalAccess', _1065 => _1065.aborted])) {
45369
+ if (_optionalChain([signal, 'optionalAccess', _1067 => _1067.aborted])) {
45309
45370
  reject(new Error("Upload cancelled"));
45310
45371
  return;
45311
45372
  }
@@ -45319,7 +45380,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45319
45380
  xhr.removeEventListener("error", handleError);
45320
45381
  xhr.removeEventListener("abort", handleAbort);
45321
45382
  xhr.removeEventListener("timeout", handleTimeout);
45322
- _optionalChain([signal, 'optionalAccess', _1066 => _1066.removeEventListener, 'call', _1067 => _1067("abort", handleSignalAbort)]);
45383
+ _optionalChain([signal, 'optionalAccess', _1068 => _1068.removeEventListener, 'call', _1069 => _1069("abort", handleSignalAbort)]);
45323
45384
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
45324
45385
  };
45325
45386
  const handleProgress = (event) => {
@@ -45355,7 +45416,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
45355
45416
  const handleSignalAbort = () => {
45356
45417
  xhr.abort();
45357
45418
  };
45358
- _optionalChain([signal, 'optionalAccess', _1068 => _1068.addEventListener, 'call', _1069 => _1069("abort", handleSignalAbort, { once: true })]);
45419
+ _optionalChain([signal, 'optionalAccess', _1070 => _1070.addEventListener, 'call', _1071 => _1071("abort", handleSignalAbort, { once: true })]);
45359
45420
  xhr.upload.addEventListener("progress", handleProgress);
45360
45421
  xhr.addEventListener("load", handleLoad);
45361
45422
  xhr.addEventListener("error", handleError);
@@ -45399,12 +45460,12 @@ function useChatAttachments() {
45399
45460
  try {
45400
45461
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
45401
45462
  } catch (err) {
45402
- if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
45463
+ if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
45403
45464
  throw new Error(
45404
45465
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
45405
45466
  );
45406
45467
  }
45407
- if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
45468
+ if (_optionalChain([ctrl, 'optionalAccess', _1074 => _1074.signal, 'access', _1075 => _1075.aborted])) return;
45408
45469
  if (!sniffed) {
45409
45470
  throw new Error("Unrecognized file format");
45410
45471
  }
@@ -45418,7 +45479,7 @@ function useChatAttachments() {
45418
45479
  const urlResp = await _chunkDCIB6AK3cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
45419
45480
  method: "POST",
45420
45481
  headers: { "Content-Type": "application/json" },
45421
- signal: _optionalChain([ctrl, 'optionalAccess', _1074 => _1074.signal]),
45482
+ signal: _optionalChain([ctrl, 'optionalAccess', _1076 => _1076.signal]),
45422
45483
  body: JSON.stringify({
45423
45484
  fileName: att.file.name,
45424
45485
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -45444,9 +45505,9 @@ function useChatAttachments() {
45444
45505
  (pct) => {
45445
45506
  updateOne(att.id, { progress: pct });
45446
45507
  },
45447
- _optionalChain([ctrl, 'optionalAccess', _1075 => _1075.signal])
45508
+ _optionalChain([ctrl, 'optionalAccess', _1077 => _1077.signal])
45448
45509
  );
45449
- if (_optionalChain([ctrl, 'optionalAccess', _1076 => _1076.signal, 'access', _1077 => _1077.aborted])) return;
45510
+ if (_optionalChain([ctrl, 'optionalAccess', _1078 => _1078.signal, 'access', _1079 => _1079.aborted])) return;
45450
45511
  updateOne(att.id, {
45451
45512
  status: "ready",
45452
45513
  progress: 100,
@@ -45454,7 +45515,7 @@ function useChatAttachments() {
45454
45515
  viewToken: mintData.viewToken
45455
45516
  });
45456
45517
  } catch (err) {
45457
- if (_optionalChain([ctrl, 'optionalAccess', _1078 => _1078.signal, 'access', _1079 => _1079.aborted])) return;
45518
+ if (_optionalChain([ctrl, 'optionalAccess', _1080 => _1080.signal, 'access', _1081 => _1081.aborted])) return;
45458
45519
  const message2 = err instanceof Error ? err.message : String(err);
45459
45520
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
45460
45521
  } finally {
@@ -45605,7 +45666,7 @@ var ANON_DEFAULTS = {
45605
45666
  function useResolveChatIdentity(enabled) {
45606
45667
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45607
45668
  const url = runtime.endpoints.identityUrl;
45608
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1080 => _1080.email]), () => ( null));
45669
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1082 => _1082.email]), () => ( null));
45609
45670
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45610
45671
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45611
45672
  _react.useEffect.call(void 0, () => {
@@ -45696,7 +45757,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45696
45757
  yield chunk;
45697
45758
  }
45698
45759
  } catch (err) {
45699
- if (_optionalChain([err, 'optionalAccess', _1081 => _1081.name]) === "AbortError" || ctrl.signal.aborted) {
45760
+ if (_optionalChain([err, 'optionalAccess', _1083 => _1083.name]) === "AbortError" || ctrl.signal.aborted) {
45700
45761
  return;
45701
45762
  }
45702
45763
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45747,7 +45808,7 @@ function useChat({
45747
45808
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45748
45809
  onMessagesChangeRef.current = onMessagesChange;
45749
45810
  _react.useEffect.call(void 0, () => {
45750
- _optionalChain([onMessagesChangeRef, 'access', _1082 => _1082.current, 'optionalCall', _1083 => _1083(messages)]);
45811
+ _optionalChain([onMessagesChangeRef, 'access', _1084 => _1084.current, 'optionalCall', _1085 => _1085(messages)]);
45751
45812
  }, [messages]);
45752
45813
  const {
45753
45814
  streamMessage,
@@ -45784,7 +45845,7 @@ function useChat({
45784
45845
  name: "You",
45785
45846
  content: text,
45786
45847
  timestamp: /* @__PURE__ */ new Date(),
45787
- ..._optionalChain([options, 'optionalAccess', _1084 => _1084.hidden]) ? { hidden: true } : {}
45848
+ ..._optionalChain([options, 'optionalAccess', _1086 => _1086.hidden]) ? { hidden: true } : {}
45788
45849
  };
45789
45850
  addMessage(userMessage);
45790
45851
  setIsTyping(true);
@@ -45846,7 +45907,7 @@ function useChat({
45846
45907
  currentTextSegment = "";
45847
45908
  }
45848
45909
  const seg = segment;
45849
- const proposalId = _optionalChain([seg, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]);
45910
+ const proposalId = _optionalChain([seg, 'access', _1087 => _1087.data, 'optionalAccess', _1088 => _1088.requestId]);
45850
45911
  const updateApprovalMessage = (transform) => {
45851
45912
  setMessages((prev) => {
45852
45913
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -45855,7 +45916,7 @@ function useChat({
45855
45916
  if (!Array.isArray(m.content)) continue;
45856
45917
  const segments = m.content;
45857
45918
  const hasMatch = segments.some(
45858
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1087 => _1087.data, 'optionalAccess', _1088 => _1088.requestId]) === proposalId
45919
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1089 => _1089.data, 'optionalAccess', _1090 => _1090.requestId]) === proposalId
45859
45920
  );
45860
45921
  if (!hasMatch) continue;
45861
45922
  const next = [...prev];
@@ -45897,11 +45958,11 @@ function useChat({
45897
45958
  if (!Array.isArray(m.content)) continue;
45898
45959
  const segments = m.content;
45899
45960
  const hasMatch = segments.some(
45900
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1089 => _1089.data, 'optionalAccess', _1090 => _1090.requestId]) === decision.proposalId
45961
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1091 => _1091.data, 'optionalAccess', _1092 => _1092.requestId]) === decision.proposalId
45901
45962
  );
45902
45963
  if (!hasMatch) continue;
45903
45964
  const flipped = segments.map(
45904
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1091 => _1091.data, 'optionalAccess', _1092 => _1092.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45965
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1093 => _1093.data, 'optionalAccess', _1094 => _1094.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45905
45966
  );
45906
45967
  const next = [...prev];
45907
45968
  next[i] = { ...m, content: flipped };
@@ -46063,8 +46124,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46063
46124
  })),
46064
46125
  { role: "user", content: message2 }
46065
46126
  ];
46066
- const targetPath = _optionalChain([extra, 'optionalAccess', _1093 => _1093.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46067
- const requestBody = _optionalChain([extra, 'optionalAccess', _1094 => _1094.approvalAction]) ? {
46127
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1095 => _1095.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
46128
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1096 => _1096.approvalAction]) ? {
46068
46129
  proposal_id: extra.approvalAction.proposalId,
46069
46130
  action: extra.approvalAction.action,
46070
46131
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -46073,8 +46134,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46073
46134
  }))
46074
46135
  } : {
46075
46136
  messages: apiMessages,
46076
- ..._optionalChain([extra, 'optionalAccess', _1095 => _1095.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46077
- ..._optionalChain([extra, 'optionalAccess', _1096 => _1096.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46137
+ ..._optionalChain([extra, 'optionalAccess', _1097 => _1097.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
46138
+ ..._optionalChain([extra, 'optionalAccess', _1098 => _1098.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
46078
46139
  };
46079
46140
  const response = await _chunkDCIB6AK3cjs.embedAuthedFetch.call(void 0, targetPath, {
46080
46141
  method: "POST",
@@ -46084,7 +46145,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46084
46145
  if (!response.ok) {
46085
46146
  throw new Error(`Chat request failed: ${response.status}`);
46086
46147
  }
46087
- const reader = _optionalChain([response, 'access', _1097 => _1097.body, 'optionalAccess', _1098 => _1098.getReader, 'call', _1099 => _1099()]);
46148
+ const reader = _optionalChain([response, 'access', _1099 => _1099.body, 'optionalAccess', _1100 => _1100.getReader, 'call', _1101 => _1101()]);
46088
46149
  if (!reader) throw new Error("No response body");
46089
46150
  const decoder = new TextDecoder();
46090
46151
  let buffer = "";
@@ -46167,7 +46228,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46167
46228
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
46168
46229
  const result = _nullishCoalesce(meta.result, () => ( null));
46169
46230
  const card = _nullishCoalesce(meta.card, () => ( null));
46170
- if (_optionalChain([card, 'optionalAccess', _1100 => _1100.ref, 'optionalAccess', _1101 => _1101.id]) && _optionalChain([card, 'optionalAccess', _1102 => _1102.type])) {
46231
+ if (_optionalChain([card, 'optionalAccess', _1102 => _1102.ref, 'optionalAccess', _1103 => _1103.id]) && _optionalChain([card, 'optionalAccess', _1104 => _1104.type])) {
46171
46232
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
46172
46233
  const key = buildChatRefKey(card.type, card.ref.id);
46173
46234
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -46180,8 +46241,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
46180
46241
  willAutoContinue: meta.willAutoContinue === true,
46181
46242
  ...toolName ? { toolName } : {},
46182
46243
  ...result ? { result } : {},
46183
- ..._optionalChain([card, 'optionalAccess', _1103 => _1103.marker]) ? { marker: card.marker } : {},
46184
- ..._optionalChain([card, 'optionalAccess', _1104 => _1104.ref]) ? { cardRef: card.ref } : {},
46244
+ ..._optionalChain([card, 'optionalAccess', _1105 => _1105.marker]) ? { marker: card.marker } : {},
46245
+ ..._optionalChain([card, 'optionalAccess', _1106 => _1106.ref]) ? { cardRef: card.ref } : {},
46185
46246
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
46186
46247
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
46187
46248
  };
@@ -46300,7 +46361,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
46300
46361
  var chatStorageKey = (source) => {
46301
46362
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
46302
46363
  const auth = _chunkDCIB6AK3cjs.getEmbedProxyAuth.call(void 0, );
46303
- if (_optionalChain([auth, 'optionalAccess', _1105 => _1105.email])) {
46364
+ if (_optionalChain([auth, 'optionalAccess', _1107 => _1107.email])) {
46304
46365
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
46305
46366
  }
46306
46367
  return base;
@@ -46355,7 +46416,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46355
46416
  const { active = true } = runtimeOptions;
46356
46417
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
46357
46418
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
46358
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1106 => _1106.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46419
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1108 => _1108.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
46359
46420
  const persistedRef = _react.useRef.call(void 0, null);
46360
46421
  if (persistedRef.current === null) {
46361
46422
  pruneStaleChatStorage(source);
@@ -46460,7 +46521,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46460
46521
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
46461
46522
  sources = sourcesMapRef.current.get(lookupIdx);
46462
46523
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
46463
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1107 => _1107.current, 'access', _1108 => _1108.get, 'call', _1109 => _1109(lookupIdx), 'optionalAccess', _1110 => _1110.scrollAnchor]), () => ( void 0));
46524
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1109 => _1109.current, 'access', _1110 => _1110.get, 'call', _1111 => _1111(lookupIdx), 'optionalAccess', _1112 => _1112.scrollAnchor]), () => ( void 0));
46464
46525
  }
46465
46526
  return {
46466
46527
  id: m.id,
@@ -46508,7 +46569,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46508
46569
  );
46509
46570
  return;
46510
46571
  }
46511
- const refSlug = typeof _optionalChain([reference, 'access', _1111 => _1111.metadata, 'optionalAccess', _1112 => _1112.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46572
+ const refSlug = typeof _optionalChain([reference, 'access', _1113 => _1113.metadata, 'optionalAccess', _1114 => _1114.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46512
46573
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
46513
46574
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
46514
46575
  const text = `/${cmdId} display "${escaped}"`;
@@ -46580,18 +46641,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46580
46641
  clearMessages,
46581
46642
  streamingPhase,
46582
46643
  /** Provider key for the lib's `<ModelDisplay>` icon. */
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)),
46644
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.provider]), () => ( null)),
46645
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.modelLabel]), () => ( null)),
46646
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1117 => _1117.contextWindowMaxTokens]), () => ( null)),
46586
46647
  /** Input tokens (known after server's message_start frame; null until). */
46587
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.inputTokens]), () => ( null)),
46648
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1118 => _1118.inputTokens]), () => ( null)),
46588
46649
  /** Output tokens (known only after server's trailing usage frame). */
46589
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1117 => _1117.outputTokens]), () => ( null)),
46650
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1119 => _1119.outputTokens]), () => ( null)),
46590
46651
  /** Cache hit % (read / total-input × 100). null during streaming. */
46591
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1118 => _1118.cacheHitRatePct]), () => ( null)),
46652
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1120 => _1120.cacheHitRatePct]), () => ( null)),
46592
46653
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46593
46654
  * token counts). null until the trailing usage frame lands. */
46594
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1119 => _1119.breakdown]), () => ( null)),
46655
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1121 => _1121.breakdown]), () => ( null)),
46595
46656
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46596
46657
  // Guide mode currently keeps its history in `localStorage` opaquely
46597
46658
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46649,15 +46710,15 @@ var noopRejectRequest = async (_id, _reason) => {
46649
46710
 
46650
46711
  // src/components/chat/utils/process-historical-messages.ts
46651
46712
  function getOwnerDisplayName(owner) {
46652
- if (_optionalChain([owner, 'optionalAccess', _1120 => _1120.type]) === OWNER_TYPE.ADMIN && owner.user) {
46713
+ if (_optionalChain([owner, 'optionalAccess', _1122 => _1122.type]) === OWNER_TYPE.ADMIN && owner.user) {
46653
46714
  const { firstName, lastName } = owner.user;
46654
46715
  const name = [firstName, lastName].filter(Boolean).join(" ");
46655
46716
  if (name) return name;
46656
46717
  }
46657
- return _optionalChain([owner, 'optionalAccess', _1121 => _1121.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46718
+ return _optionalChain([owner, 'optionalAccess', _1123 => _1123.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46658
46719
  }
46659
46720
  function getOwnerAvatar(owner) {
46660
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1122 => _1122.user, 'optionalAccess', _1123 => _1123.image, 'optionalAccess', _1124 => _1124.imageUrl]), () => ( void 0));
46721
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1124 => _1124.user, 'optionalAccess', _1125 => _1125.image, 'optionalAccess', _1126 => _1126.imageUrl]), () => ( void 0));
46661
46722
  }
46662
46723
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46663
46724
  messageDataArray.forEach((data) => {
@@ -46720,14 +46781,14 @@ function processHistoricalMessages(messages, options = {}) {
46720
46781
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46721
46782
  return;
46722
46783
  }
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;
46784
+ const isUserMessage = _optionalChain([msg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN;
46724
46785
  if (isUserMessage) {
46725
46786
  flushAssistantMessage();
46726
- const userAuthorType = _optionalChain([msg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46787
+ const userAuthorType = _optionalChain([msg, 'access', _1131 => _1131.owner, 'optionalAccess', _1132 => _1132.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46727
46788
  messageDataArray.forEach((data) => {
46728
46789
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46729
46790
  const rawContext = data.contextItems;
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;
46791
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1133 => _1133.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1134 => _1134.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46731
46792
  processedMessages.push({
46732
46793
  id: msg.id,
46733
46794
  role: "user",
@@ -46751,7 +46812,7 @@ function processHistoricalMessages(messages, options = {}) {
46751
46812
  });
46752
46813
  const nextMsg = messages[index + 1];
46753
46814
  const isLastMessage = index === messages.length - 1;
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);
46815
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1135 => _1135.owner, 'optionalAccess', _1136 => _1136.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1137 => _1137.owner, 'optionalAccess', _1138 => _1138.type]) === OWNER_TYPE.ADMIN);
46755
46816
  if (isLastMessage || nextIsFromUser) {
46756
46817
  flushAssistantMessage();
46757
46818
  }
@@ -46861,7 +46922,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46861
46922
  }
46862
46923
  }
46863
46924
  } else {
46864
- _optionalChain([escalatedApprovals, 'optionalAccess', _1137 => _1137.set, 'call', _1138 => _1138(data.approvalRequestId, {
46925
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1139 => _1139.set, 'call', _1140 => _1140(data.approvalRequestId, {
46865
46926
  command: data.command || "",
46866
46927
  explanation: data.explanation,
46867
46928
  approvalType,
@@ -46875,8 +46936,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46875
46936
  const existingStatus = approvalStatuses[data.approvalRequestId];
46876
46937
  const status = existingStatus || (data.approved ? "approved" : "rejected");
46877
46938
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 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) {
46939
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1141 => _1141.get, 'call', _1142 => _1142(data.approvalRequestId)]);
46940
+ if (_optionalChain([escalatedData, 'optionalAccess', _1143 => _1143.toolCalls]) && escalatedData.toolCalls.length > 0) {
46880
46941
  if (batchApprovalsEnabled) {
46881
46942
  accumulator.addApprovalBatch(
46882
46943
  data.approvalRequestId,
@@ -46898,7 +46959,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46898
46959
  );
46899
46960
  }
46900
46961
  }
46901
- _optionalChain([escalatedApprovals, 'optionalAccess', _1142 => _1142.delete, 'call', _1143 => _1143(data.approvalRequestId)]);
46962
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1144 => _1144.delete, 'call', _1145 => _1145(data.approvalRequestId)]);
46902
46963
  break;
46903
46964
  }
46904
46965
  if (escalatedData) {
@@ -46907,7 +46968,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46907
46968
  explanation: escalatedData.explanation,
46908
46969
  approvalType: escalatedData.approvalType
46909
46970
  });
46910
- _optionalChain([escalatedApprovals, 'optionalAccess', _1144 => _1144.delete, 'call', _1145 => _1145(data.approvalRequestId)]);
46971
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1146 => _1146.delete, 'call', _1147 => _1147(data.approvalRequestId)]);
46911
46972
  }
46912
46973
  const before = accumulator.getSegments();
46913
46974
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -46923,9 +46984,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46923
46984
  case MESSAGE_TYPE.ERROR:
46924
46985
  if ("error" in data) {
46925
46986
  let message2;
46926
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1146 => _1146.details])) {
46987
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1148 => _1148.details])) {
46927
46988
  try {
46928
- message2 = _optionalChain([JSON, 'access', _1147 => _1147.parse, 'call', _1148 => _1148(data.details), 'optionalAccess', _1149 => _1149.error, 'optionalAccess', _1150 => _1150.message]);
46989
+ message2 = _optionalChain([JSON, 'access', _1149 => _1149.parse, 'call', _1150 => _1150(data.details), 'optionalAccess', _1151 => _1151.error, 'optionalAccess', _1152 => _1152.message]);
46929
46990
  } catch (e59) {
46930
46991
  message2 = data.details;
46931
46992
  }
@@ -47008,14 +47069,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47008
47069
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
47009
47070
  return;
47010
47071
  }
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;
47072
+ const isUserMessage = _optionalChain([msg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN;
47012
47073
  if (isUserMessage) {
47013
47074
  flushAssistantMessage();
47014
- const userAuthorType = _optionalChain([msg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47075
+ const userAuthorType = _optionalChain([msg, 'access', _1157 => _1157.owner, 'optionalAccess', _1158 => _1158.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
47015
47076
  messageDataArray.forEach((data) => {
47016
47077
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
47017
47078
  const rawContext = data.contextItems;
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;
47079
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1159 => _1159.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1160 => _1160.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
47019
47080
  processedMessages.push({
47020
47081
  id: msg.id,
47021
47082
  role: "user",
@@ -47039,7 +47100,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
47039
47100
  });
47040
47101
  const nextMsg = messages[index + 1];
47041
47102
  const isLastMessage = index === messages.length - 1;
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);
47103
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1161 => _1161.owner, 'optionalAccess', _1162 => _1162.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1163 => _1163.owner, 'optionalAccess', _1164 => _1164.type]) === OWNER_TYPE.ADMIN);
47043
47104
  if (isLastMessage || nextIsFromUser) {
47044
47105
  flushAssistantMessage();
47045
47106
  }
@@ -47375,7 +47436,7 @@ function useNatsChatAdapter(config, options = {}) {
47375
47436
  }, [active, fetchDialogs, loadDialogsPage]);
47376
47437
  const sendMessage = _react.useCallback.call(void 0,
47377
47438
  async (text, sendOptions) => {
47378
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1163 => _1163.hidden]), () => ( false));
47439
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1165 => _1165.hidden]), () => ( false));
47379
47440
  setMessages((prev) => [
47380
47441
  ...prev,
47381
47442
  {
@@ -47539,11 +47600,11 @@ function useNatsChatAdapter(config, options = {}) {
47539
47600
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47540
47601
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47541
47602
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → 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)),
47603
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1166 => _1166.provider]), () => ( modelProvider)), () => ( null)),
47604
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1167 => _1167.modelLabel]), () => ( modelLabel)), () => ( null)),
47605
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1168 => _1168.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1169 => _1169.contextWindowMaxTokens]))), () => ( null)),
47606
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1170 => _1170.inputTokensSize]), () => ( null)),
47607
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1171 => _1171.outputTokensSize]), () => ( null)),
47547
47608
  currentCacheHitRatePct: null,
47548
47609
  currentUsageBreakdown: null,
47549
47610
  // Dialog management
@@ -47791,7 +47852,7 @@ function extractIncompleteMessageState(lastMessage) {
47791
47852
  break;
47792
47853
  case "approval_batch": {
47793
47854
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
47794
- (c) => _optionalChain([segment, 'access', _1170 => _1170.data, 'access', _1171 => _1171.executions, 'optionalAccess', _1172 => _1172[c.toolExecutionRequestId], 'optionalAccess', _1173 => _1173.status]) === "done"
47855
+ (c) => _optionalChain([segment, 'access', _1172 => _1172.data, 'access', _1173 => _1173.executions, 'optionalAccess', _1174 => _1174[c.toolExecutionRequestId], 'optionalAccess', _1175 => _1175.status]) === "done"
47795
47856
  );
47796
47857
  if (segment.status !== "rejected" && !allDone) {
47797
47858
  hasIncompleteState = true;
@@ -47859,20 +47920,20 @@ function mergeHistoryWithRealtime(input) {
47859
47920
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
47860
47921
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
47861
47922
  const trailing = processedHistory[processedHistory.length - 1];
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;
47923
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1176 => _1176.role]) === "assistant" ? trailing : null;
47924
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1177 => _1177.content, 'access', _1178 => _1178.find, 'call', _1179 => _1179((s) => s.type === "approval_batch"), 'optionalAccess', _1180 => _1180.data, 'optionalAccess', _1181 => _1181.approvalRequestId]), () => ( null)) : null;
47864
47925
  let processedToUse = processedHistory;
47865
47926
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
47866
47927
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
47867
47928
  if (historyBatchId) {
47868
47929
  const batchTwins = existingMessages.filter(
47869
47930
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
47870
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1180 => _1180.data, 'optionalAccess', _1181 => _1181.approvalRequestId]) === historyBatchId
47931
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1182 => _1182.data, 'optionalAccess', _1183 => _1183.approvalRequestId]) === historyBatchId
47871
47932
  )
47872
47933
  );
47873
47934
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
47874
47935
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
47875
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1182 => _1182.content])) ? historyTrailingAssistant.content.length : 0;
47936
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1184 => _1184.content])) ? historyTrailingAssistant.content.length : 0;
47876
47937
  const realtimeSize = existingWithSameBatch.content.length;
47877
47938
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
47878
47939
  processedToUse = processedHistory.slice(0, -1);
@@ -47888,16 +47949,16 @@ function mergeHistoryWithRealtime(input) {
47888
47949
  if (pinnedSyntheticIds.has(m.id)) return true;
47889
47950
  if (droppedSyntheticIds.has(m.id)) return false;
47890
47951
  if (processedIds.has(m.id)) return false;
47891
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1183 => _1183.has, 'call', _1184 => _1184(m.id)])) return false;
47952
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1185 => _1185.has, 'call', _1186 => _1186(m.id)])) return false;
47892
47953
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
47893
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1185 => _1185.timestamp, 'optionalAccess', _1186 => _1186.getTime, 'call', _1187 => _1187()]), () => ( 0))) <= historyFetchedAt;
47954
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1187 => _1187.timestamp, 'optionalAccess', _1188 => _1188.getTime, 'call', _1189 => _1189()]), () => ( 0))) <= historyFetchedAt;
47894
47955
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
47895
47956
  }
47896
47957
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
47897
47958
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
47898
47959
  return false;
47899
47960
  }
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;
47961
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1190 => _1190.timestamp, 'optionalAccess', _1191 => _1191.getTime, 'call', _1192 => _1192()]), () => ( 0))) <= historyFetchedAt;
47901
47962
  if (covered) return false;
47902
47963
  }
47903
47964
  return true;
@@ -48117,7 +48178,7 @@ function useChatDialogManager({
48117
48178
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
48118
48179
  if (restoreTarget) {
48119
48180
  try {
48120
- await _optionalChain([unarchiveDialog, 'optionalCall', _1191 => _1191(restoreTarget.id)]);
48181
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1193 => _1193(restoreTarget.id)]);
48121
48182
  } catch (err) {
48122
48183
  console.error("[useChatDialogManager] unarchive failed:", err);
48123
48184
  return;
@@ -48512,7 +48573,7 @@ function EmbeddableChatInner({
48512
48573
  };
48513
48574
  }, [isOpen, shellLess]);
48514
48575
  const chatInputRef = _react.useRef.call(void 0, null);
48515
- const quickActionDraftRef = _react.useRef.call(void 0, null);
48576
+ const [quickActionPreview, setQuickActionPreview] = _react.useState.call(void 0, null);
48516
48577
  const slashCommandsProp = _react.useMemo.call(void 0,
48517
48578
  () => ({
48518
48579
  fetchCommands: (prefix, signal) => fetchSlashCommands(prefix, signal, commandsUrl),
@@ -48527,7 +48588,7 @@ function EmbeddableChatInner({
48527
48588
  }),
48528
48589
  [commandsUrl]
48529
48590
  );
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;
48591
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1194 => _1194.firstName, 'optionalAccess', _1195 => _1195.trim, 'call', _1196 => _1196()]) || _optionalChain([identityUser, 'optionalAccess', _1197 => _1197.name, 'optionalAccess', _1198 => _1198.split, 'call', _1199 => _1199(" "), 'access', _1200 => _1200[0], 'optionalAccess', _1201 => _1201.trim, 'call', _1202 => _1202()]) || void 0;
48531
48592
  const effectiveModes = _react.useMemo.call(void 0, () => {
48532
48593
  if (modes) return modes;
48533
48594
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48536,19 +48597,19 @@ function EmbeddableChatInner({
48536
48597
  const mingoCaps = _react.useMemo.call(void 0, () => {
48537
48598
  if (mingoState) {
48538
48599
  return {
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])
48600
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1203 => _1203.canRename]), () => ( false)),
48601
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1204 => _1204.canArchive]), () => ( false)),
48602
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1205 => _1205.fetchArchivedDialogs]),
48603
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1206 => _1206.unarchiveDialog]),
48604
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1207 => _1207.searchQuery]),
48605
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1208 => _1208.onSearchChange])
48545
48606
  };
48546
48607
  }
48547
48608
  return {
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]),
48609
+ canRename: !!_optionalChain([effectiveModes, 'access', _1209 => _1209.mingo, 'optionalAccess', _1210 => _1210.renameDialog]),
48610
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1211 => _1211.mingo, 'optionalAccess', _1212 => _1212.archiveDialog]),
48611
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1213 => _1213.mingo, 'optionalAccess', _1214 => _1214.fetchArchivedDialogs]),
48612
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1215 => _1215.mingo, 'optionalAccess', _1216 => _1216.unarchiveDialog]),
48552
48613
  searchQuery: void 0,
48553
48614
  onSearchChange: void 0
48554
48615
  };
@@ -48562,7 +48623,7 @@ function EmbeddableChatInner({
48562
48623
  if (controlledActiveMode === void 0) {
48563
48624
  setUncontrolledActiveMode(next);
48564
48625
  }
48565
- _optionalChain([onActiveModeChange, 'optionalCall', _1215 => _1215(next)]);
48626
+ _optionalChain([onActiveModeChange, 'optionalCall', _1217 => _1217(next)]);
48566
48627
  },
48567
48628
  [controlledActiveMode, onActiveModeChange]
48568
48629
  );
@@ -48616,7 +48677,7 @@ function EmbeddableChatInner({
48616
48677
  clear: clearAttachments
48617
48678
  } = useChatAttachments();
48618
48679
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48619
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1216 => _1216.maxItems]), () => ( 10));
48680
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1218 => _1218.maxItems]), () => ( 10));
48620
48681
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48621
48682
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48622
48683
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48633,10 +48694,10 @@ function EmbeddableChatInner({
48633
48694
  }, [activeDialogId, activeMode]);
48634
48695
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48635
48696
  const m = /* @__PURE__ */ new Map();
48636
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1217 => _1217.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48697
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1219 => _1219.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48637
48698
  return m;
48638
- }, [_optionalChain([contextPicker, 'optionalAccess', _1218 => _1218.entityTypes])]);
48639
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1219 => _1219.entityTypes]);
48699
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1220 => _1220.entityTypes])]);
48700
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1221 => _1221.entityTypes]);
48640
48701
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48641
48702
  const byType = /* @__PURE__ */ new Map();
48642
48703
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48648,7 +48709,7 @@ function EmbeddableChatInner({
48648
48709
  if (mentionActiveRef.current) {
48649
48710
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48650
48711
  if (contextItems.length >= contextMaxItems) return;
48651
- _optionalChain([chatInputRef, 'access', _1220 => _1220.current, 'optionalAccess', _1221 => _1221.commitMention, 'call', _1222 => _1222(mentionTokenOf(key, mentionMarkerByType), {
48712
+ _optionalChain([chatInputRef, 'access', _1222 => _1222.current, 'optionalAccess', _1223 => _1223.commitMention, 'call', _1224 => _1224(mentionTokenOf(key, mentionMarkerByType), {
48652
48713
  label: item.label,
48653
48714
  icon: resolveContextIcon(item)
48654
48715
  })]);
@@ -48670,9 +48731,9 @@ function EmbeddableChatInner({
48670
48731
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48671
48732
  if (mentionKeysRef.current.has(key)) {
48672
48733
  mentionKeysRef.current.delete(key);
48673
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1223 => _1223.current, 'optionalAccess', _1224 => _1224.getValue, 'call', _1225 => _1225()]), () => ( ""));
48734
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1225 => _1225.current, 'optionalAccess', _1226 => _1226.getValue, 'call', _1227 => _1227()]), () => ( ""));
48674
48735
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48675
- _optionalChain([chatInputRef, 'access', _1226 => _1226.current, 'optionalAccess', _1227 => _1227.setValue, 'call', _1228 => _1228(next)]);
48736
+ _optionalChain([chatInputRef, 'access', _1228 => _1228.current, 'optionalAccess', _1229 => _1229.setValue, 'call', _1230 => _1230(next)]);
48676
48737
  }
48677
48738
  }, [mentionMarkerByType]);
48678
48739
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48689,7 +48750,7 @@ function EmbeddableChatInner({
48689
48750
  }, []);
48690
48751
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48691
48752
  if (mentionActiveRef.current) {
48692
- _optionalChain([chatInputRef, 'access', _1229 => _1229.current, 'optionalAccess', _1230 => _1230.removeMentionTrigger, 'call', _1231 => _1231()]);
48753
+ _optionalChain([chatInputRef, 'access', _1231 => _1231.current, 'optionalAccess', _1232 => _1232.removeMentionTrigger, 'call', _1233 => _1233()]);
48693
48754
  }
48694
48755
  setContextPickerOpen(false);
48695
48756
  setMentionQuery(null);
@@ -48723,8 +48784,8 @@ function EmbeddableChatInner({
48723
48784
  []
48724
48785
  );
48725
48786
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
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;
48787
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1234 => _1234.firstName]), _optionalChain([identityUser, 'optionalAccess', _1235 => _1235.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1236 => _1236.name, 'optionalAccess', _1237 => _1237.trim, 'call', _1238 => _1238()]) || void 0 : void 0;
48788
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1239 => _1239.avatarUrl, 'optionalAccess', _1240 => _1240.trim, 'call', _1241 => _1241()]) || void 0 : void 0;
48728
48789
  const messages = _react.useMemo.call(void 0, () => {
48729
48790
  const cache = timestampCacheRef.current;
48730
48791
  const seenIds = /* @__PURE__ */ new Set();
@@ -48847,6 +48908,9 @@ function EmbeddableChatInner({
48847
48908
  const messagesInitialLoading = isMessagesLoading && !hasMessages;
48848
48909
  const contentViewKey = hasConversation ? "conversation" : activeMode;
48849
48910
  const isGuideEmpty = !hasConversation && activeMode === "guide";
48911
+ _react.useEffect.call(void 0, () => {
48912
+ if (!isGuideEmpty) setQuickActionPreview(null);
48913
+ }, [isGuideEmpty]);
48850
48914
  const guideCanReturnToMingo = isGuideEmpty && hasMingoMode;
48851
48915
  const sourceLabel = source === "flamingo" ? "Knowledge Base" : "Data Room";
48852
48916
  const enabledSet = _react.useMemo.call(void 0,
@@ -48872,9 +48936,9 @@ function EmbeddableChatInner({
48872
48936
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
48873
48937
  const lastSources = _react.useMemo.call(void 0, () => {
48874
48938
  if (chatLoading) return void 0;
48875
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1240 => _1240.sources]);
48939
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1242 => _1242.sources]);
48876
48940
  if (!sources || sources.length === 0) return void 0;
48877
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1241 => _1241.content]) || "";
48941
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1243 => _1243.content]) || "";
48878
48942
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
48879
48943
  (m) => parseInt(m[1], 10)
48880
48944
  );
@@ -48921,7 +48985,7 @@ function EmbeddableChatInner({
48921
48985
  ChatPanelHeader,
48922
48986
  {
48923
48987
  showBack: hasConversation || guideCanReturnToMingo,
48924
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1242 => _1242.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48988
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1244 => _1244.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48925
48989
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
48926
48990
  isArchivedView: isViewingArchived,
48927
48991
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -49039,24 +49103,13 @@ function EmbeddableChatInner({
49039
49103
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
49040
49104
  subtitleLoading: emptyStateLoading,
49041
49105
  ...guideWelcome,
49042
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1243 => _1243.quickActions]), () => ( guideSuggestedActions)),
49106
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1245 => _1245.quickActions]), () => ( guideSuggestedActions)),
49043
49107
  onQuickAction: (action) => {
49044
- quickActionDraftRef.current = null;
49045
- _optionalChain([chatInputRef, 'access', _1244 => _1244.current, 'optionalAccess', _1245 => _1245.setValue, 'call', _1246 => _1246("")]);
49108
+ setQuickActionPreview(null);
49046
49109
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
49047
49110
  },
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
- },
49111
+ onQuickActionHover: (action) => setQuickActionPreview(_nullishCoalesce(action.prompt, () => ( action.label))),
49112
+ onQuickActionHoverEnd: () => setQuickActionPreview(null),
49060
49113
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
49061
49114
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
49062
49115
  MingoOnboardingCardSkeleton,
@@ -49120,6 +49173,7 @@ function EmbeddableChatInner({
49120
49173
  placeholder: hasInflightUploads ? "Waiting for uploads to finish\u2026" : "Ask a question...",
49121
49174
  autoFocus: autoFocusInput,
49122
49175
  slashCommands: slashCommandsProp,
49176
+ previewText: _nullishCoalesce(quickActionPreview, () => ( void 0)),
49123
49177
  showAttachmentButton: attachmentsEnabled && activeMode === "guide",
49124
49178
  attachmentsCount: stagedAttachments.length,
49125
49179
  onAddFiles: addAttachmentFiles,
@@ -50130,4 +50184,4 @@ function EmbeddableChatInner({
50130
50184
 
50131
50185
 
50132
50186
  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;
50133
- //# sourceMappingURL=chunk-ERMMMQET.cjs.map
50187
+ //# sourceMappingURL=chunk-NRRBPW33.cjs.map