@flamingo-stack/openframe-frontend-core 0.0.540-snapshot.20260814144743 → 0.0.540

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 (102) hide show
  1. package/dist/{chunk-RZWZCDBG.js → chunk-2BKR65LQ.js} +2 -2
  2. package/dist/{chunk-52FXIY2M.cjs → chunk-4PZEGH6E.cjs} +5 -5
  3. package/dist/{chunk-52FXIY2M.cjs.map → chunk-4PZEGH6E.cjs.map} +1 -1
  4. package/dist/{chunk-FESVTVRZ.cjs → chunk-4RXV54PY.cjs} +11 -11
  5. package/dist/{chunk-FESVTVRZ.cjs.map → chunk-4RXV54PY.cjs.map} +1 -1
  6. package/dist/{chunk-3KEAUJUU.js → chunk-5W4R3BUR.js} +2 -2
  7. package/dist/{chunk-4JL2WTIC.cjs → chunk-5ZRO72K4.cjs} +9 -9
  8. package/dist/{chunk-4JL2WTIC.cjs.map → chunk-5ZRO72K4.cjs.map} +1 -1
  9. package/dist/{chunk-JWSWACXB.cjs → chunk-6PBD57IZ.cjs} +14 -14
  10. package/dist/{chunk-JWSWACXB.cjs.map → chunk-6PBD57IZ.cjs.map} +1 -1
  11. package/dist/{chunk-XFYSYVXN.js → chunk-6WUUZ43M.js} +2 -2
  12. package/dist/{chunk-T7ZTT7TO.cjs → chunk-75W6ETMW.cjs} +5 -66
  13. package/dist/chunk-75W6ETMW.cjs.map +1 -0
  14. package/dist/{chunk-2MO4NEIR.js → chunk-AQO2DWL2.js} +2 -2
  15. package/dist/{chunk-57K53PKB.cjs → chunk-DC23N4XW.cjs} +26 -26
  16. package/dist/{chunk-57K53PKB.cjs.map → chunk-DC23N4XW.cjs.map} +1 -1
  17. package/dist/{chunk-ITUVIG7K.js → chunk-F5R4IMRF.js} +2 -2
  18. package/dist/{chunk-NJ7QTEJM.cjs → chunk-GRU75FOX.cjs} +26 -26
  19. package/dist/{chunk-NJ7QTEJM.cjs.map → chunk-GRU75FOX.cjs.map} +1 -1
  20. package/dist/{chunk-EVJ7DVCI.cjs → chunk-IHGRWAUC.cjs} +61 -61
  21. package/dist/{chunk-EVJ7DVCI.cjs.map → chunk-IHGRWAUC.cjs.map} +1 -1
  22. package/dist/{chunk-KRXQVZRX.js → chunk-IP4IZ4PB.js} +5 -5
  23. package/dist/{chunk-KJZVKS7X.cjs → chunk-IRTAZKWK.cjs} +3 -3
  24. package/dist/{chunk-KJZVKS7X.cjs.map → chunk-IRTAZKWK.cjs.map} +1 -1
  25. package/dist/{chunk-A5USNYZA.js → chunk-MKDOZF4C.js} +2 -2
  26. package/dist/{chunk-VKBGJGYF.cjs → chunk-MXKY67SV.cjs} +37 -37
  27. package/dist/{chunk-VKBGJGYF.cjs.map → chunk-MXKY67SV.cjs.map} +1 -1
  28. package/dist/{chunk-NJ42DNRT.cjs → chunk-N24ZUZZZ.cjs} +31 -31
  29. package/dist/{chunk-NJ42DNRT.cjs.map → chunk-N24ZUZZZ.cjs.map} +1 -1
  30. package/dist/{chunk-BYKPDIVC.js → chunk-NQSGY5HW.js} +719 -780
  31. package/dist/chunk-NQSGY5HW.js.map +1 -0
  32. package/dist/{chunk-6B6RCBVM.cjs → chunk-PV6L6F3T.cjs} +87 -87
  33. package/dist/{chunk-6B6RCBVM.cjs.map → chunk-PV6L6F3T.cjs.map} +1 -1
  34. package/dist/{chunk-FUF6YX7H.cjs → chunk-TBMMC4GS.cjs} +7 -7
  35. package/dist/{chunk-FUF6YX7H.cjs.map → chunk-TBMMC4GS.cjs.map} +1 -1
  36. package/dist/{chunk-T2NU3GZ7.js → chunk-VUVKZBDO.js} +4 -4
  37. package/dist/{chunk-QZEEP2FO.js → chunk-VYQLCGFR.js} +4 -4
  38. package/dist/{chunk-JOQBVXM3.js → chunk-WA3IEPEY.js} +2 -2
  39. package/dist/{chunk-RNVMGZSM.js → chunk-X5VMEFIA.js} +2 -2
  40. package/dist/{chunk-HUXNMQD7.js → chunk-XPGB6J75.js} +6 -6
  41. package/dist/{chunk-J6F4342G.js → chunk-Y5TDZNWA.js} +2 -2
  42. package/dist/{chunk-COZAC2RY.cjs → chunk-YPTOQDCY.cjs} +4 -4
  43. package/dist/{chunk-COZAC2RY.cjs.map → chunk-YPTOQDCY.cjs.map} +1 -1
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/index.cjs +2 -2
  47. package/dist/components/chat/index.js +1 -1
  48. package/dist/components/contact/index.cjs +3 -3
  49. package/dist/components/contact/index.js +2 -2
  50. package/dist/components/docs/index.cjs +5 -5
  51. package/dist/components/docs/index.js +4 -4
  52. package/dist/components/embeds/index.cjs +3 -3
  53. package/dist/components/embeds/index.js +2 -2
  54. package/dist/components/faq/index.cjs +3 -3
  55. package/dist/components/faq/index.js +2 -2
  56. package/dist/components/features/index.cjs +2 -2
  57. package/dist/components/features/index.js +1 -1
  58. package/dist/components/help-center-pages/index.cjs +22 -22
  59. package/dist/components/help-center-pages/index.js +13 -13
  60. package/dist/components/index.cjs +132 -134
  61. package/dist/components/index.cjs.map +1 -1
  62. package/dist/components/index.js +11 -13
  63. package/dist/components/index.js.map +1 -1
  64. package/dist/components/meeting-scheduler/index.cjs +34 -34
  65. package/dist/components/meeting-scheduler/index.js +3 -3
  66. package/dist/components/navigation/index.cjs +2 -2
  67. package/dist/components/navigation/index.js +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +5 -5
  69. package/dist/components/onboarding-guides/index.js +4 -4
  70. package/dist/components/related-content/index.cjs +3 -3
  71. package/dist/components/related-content/index.js +2 -2
  72. package/dist/components/tickets/index.cjs +6 -6
  73. package/dist/components/tickets/index.js +5 -5
  74. package/dist/components/ui/index.cjs +2 -4
  75. package/dist/components/ui/index.cjs.map +1 -1
  76. package/dist/components/ui/index.d.ts +0 -1
  77. package/dist/components/ui/index.d.ts.map +1 -1
  78. package/dist/components/ui/index.js +1 -3
  79. package/dist/index.cjs +2 -4
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.js +1 -3
  82. package/package.json +1 -1
  83. package/src/components/ui/index.ts +0 -1
  84. package/dist/chunk-BYKPDIVC.js.map +0 -1
  85. package/dist/chunk-T7ZTT7TO.cjs.map +0 -1
  86. package/dist/components/ui/reopen-ticket-request-modal.d.ts +0 -33
  87. package/dist/components/ui/reopen-ticket-request-modal.d.ts.map +0 -1
  88. package/src/components/ui/reopen-ticket-request-modal.tsx +0 -112
  89. package/src/stories/ReopenTicketRequestModal.stories.tsx +0 -90
  90. /package/dist/{chunk-RZWZCDBG.js.map → chunk-2BKR65LQ.js.map} +0 -0
  91. /package/dist/{chunk-3KEAUJUU.js.map → chunk-5W4R3BUR.js.map} +0 -0
  92. /package/dist/{chunk-XFYSYVXN.js.map → chunk-6WUUZ43M.js.map} +0 -0
  93. /package/dist/{chunk-2MO4NEIR.js.map → chunk-AQO2DWL2.js.map} +0 -0
  94. /package/dist/{chunk-ITUVIG7K.js.map → chunk-F5R4IMRF.js.map} +0 -0
  95. /package/dist/{chunk-KRXQVZRX.js.map → chunk-IP4IZ4PB.js.map} +0 -0
  96. /package/dist/{chunk-A5USNYZA.js.map → chunk-MKDOZF4C.js.map} +0 -0
  97. /package/dist/{chunk-T2NU3GZ7.js.map → chunk-VUVKZBDO.js.map} +0 -0
  98. /package/dist/{chunk-QZEEP2FO.js.map → chunk-VYQLCGFR.js.map} +0 -0
  99. /package/dist/{chunk-JOQBVXM3.js.map → chunk-WA3IEPEY.js.map} +0 -0
  100. /package/dist/{chunk-RNVMGZSM.js.map → chunk-X5VMEFIA.js.map} +0 -0
  101. /package/dist/{chunk-HUXNMQD7.js.map → chunk-XPGB6J75.js.map} +0 -0
  102. /package/dist/{chunk-J6F4342G.js.map → chunk-Y5TDZNWA.js.map} +0 -0
@@ -16981,7 +16981,7 @@ function OnboardingGuideCard({
16981
16981
  }
16982
16982
 
16983
16983
  // src/components/chat/entity-cards/roadmap-card.tsx
16984
- import { useState as useState116 } from "react";
16984
+ import { useState as useState115 } from "react";
16985
16985
  import { ThumbsUp, ThumbsDown } from "lucide-react";
16986
16986
 
16987
16987
  // src/components/chat/entity-cards/roadmap-vote-button.tsx
@@ -17083,7 +17083,7 @@ function AvatarStack({
17083
17083
  init_button();
17084
17084
 
17085
17085
  // src/components/ui/image-gallery-modal.tsx
17086
- import { useState as useState115, useEffect as useEffect87 } from "react";
17086
+ import { useState as useState114, useEffect as useEffect86 } from "react";
17087
17087
 
17088
17088
  // src/components/ui/allowed-domains-input.tsx
17089
17089
  init_cn();
@@ -48780,70 +48780,10 @@ function ReopenTicketModal({
48780
48780
  ] });
48781
48781
  }
48782
48782
 
48783
- // src/components/ui/reopen-ticket-request-modal.tsx
48784
- init_button2();
48785
- import * as React145 from "react";
48786
- import { jsx as jsx376, jsxs as jsxs297 } from "react/jsx-runtime";
48787
- var REASON_MAX_LENGTH2 = 1e3;
48788
- function ReopenTicketRequestModal({
48789
- isOpen,
48790
- onClose,
48791
- showHandoffOption = false,
48792
- isPending = false,
48793
- onConfirm
48794
- }) {
48795
- const [reason, setReason] = React145.useState("");
48796
- const [handoff, setHandoff] = React145.useState(false);
48797
- React145.useEffect(() => {
48798
- if (!isOpen) return;
48799
- setReason("");
48800
- setHandoff(false);
48801
- }, [isOpen]);
48802
- const handleConfirm = () => {
48803
- if (isPending) return;
48804
- const trimmedReason = reason.trim();
48805
- onConfirm({
48806
- reason: trimmedReason ? trimmedReason.slice(0, REASON_MAX_LENGTH2) : null,
48807
- ...showHandoffOption ? { handoffToTechnician: handoff } : {}
48808
- });
48809
- };
48810
- return /* @__PURE__ */ jsxs297(Modal, { isOpen, onClose: isPending ? () => {
48811
- } : onClose, className: "text-left md:max-w-[600px]", children: [
48812
- /* @__PURE__ */ jsx376(ModalHeader, { children: /* @__PURE__ */ jsx376(ModalTitle, { children: "Reopen Ticket" }) }),
48813
- /* @__PURE__ */ jsx376("p", { className: "text-h4 text-ods-text-primary", children: "This ticket will be reopened and the AI assistant will continue helping you." }),
48814
- /* @__PURE__ */ jsx376("div", { className: "w-full", children: /* @__PURE__ */ jsx376(
48815
- Textarea,
48816
- {
48817
- label: "Reason",
48818
- value: reason,
48819
- onChange: (event) => setReason(event.target.value),
48820
- placeholder: "Describe what's still not working (optional)",
48821
- maxLength: REASON_MAX_LENGTH2,
48822
- disabled: isPending
48823
- }
48824
- ) }),
48825
- showHandoffOption && /* @__PURE__ */ jsx376(
48826
- CheckboxBlock,
48827
- {
48828
- id: "reopen-handoff-to-technician",
48829
- checked: handoff,
48830
- onCheckedChange: setHandoff,
48831
- label: "Hand off to a Technician",
48832
- description: "A technician will review the ticket and reply when available.",
48833
- disabled: isPending
48834
- }
48835
- ),
48836
- /* @__PURE__ */ jsxs297(ModalFooter, { children: [
48837
- /* @__PURE__ */ jsx376(Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1", children: "Cancel" }),
48838
- /* @__PURE__ */ jsx376(Button, { type: "button", variant: "accent", onClick: handleConfirm, loading: isPending, className: "flex-1", children: "Reopen Ticket" })
48839
- ] })
48840
- ] });
48841
- }
48842
-
48843
48783
  // src/components/ui/filter-pill-row.tsx
48844
48784
  init_button2();
48845
48785
  import { Filter as Filter2 } from "lucide-react";
48846
- import { jsx as jsx377, jsxs as jsxs298 } from "react/jsx-runtime";
48786
+ import { jsx as jsx376, jsxs as jsxs297 } from "react/jsx-runtime";
48847
48787
  function FilterPillRow({
48848
48788
  label,
48849
48789
  selectedValue,
@@ -48852,12 +48792,12 @@ function FilterPillRow({
48852
48792
  countLabel,
48853
48793
  children
48854
48794
  }) {
48855
- return /* @__PURE__ */ jsxs298("div", { className: "flex flex-wrap items-center gap-3 p-4 bg-ods-card border border-ods-border rounded-lg", children: [
48856
- /* @__PURE__ */ jsxs298("div", { className: "flex items-center gap-2", children: [
48857
- /* @__PURE__ */ jsx377(Filter2, { className: "h-4 w-4 text-ods-accent" }),
48858
- /* @__PURE__ */ jsx377("span", { className: "text-h5 text-ods-text-secondary", children: label })
48795
+ return /* @__PURE__ */ jsxs297("div", { className: "flex flex-wrap items-center gap-3 p-4 bg-ods-card border border-ods-border rounded-lg", children: [
48796
+ /* @__PURE__ */ jsxs297("div", { className: "flex items-center gap-2", children: [
48797
+ /* @__PURE__ */ jsx376(Filter2, { className: "h-4 w-4 text-ods-accent" }),
48798
+ /* @__PURE__ */ jsx376("span", { className: "text-h5 text-ods-text-secondary", children: label })
48859
48799
  ] }),
48860
- children || options.map((opt) => /* @__PURE__ */ jsx377(
48800
+ children || options.map((opt) => /* @__PURE__ */ jsx376(
48861
48801
  Button,
48862
48802
  {
48863
48803
  type: "button",
@@ -48869,21 +48809,21 @@ function FilterPillRow({
48869
48809
  },
48870
48810
  opt.value
48871
48811
  )),
48872
- countLabel && /* @__PURE__ */ jsx377("div", { className: "ml-auto text-h6 text-ods-text-secondary shrink-0", children: countLabel })
48812
+ countLabel && /* @__PURE__ */ jsx376("div", { className: "ml-auto text-h6 text-ods-text-secondary shrink-0", children: countLabel })
48873
48813
  ] });
48874
48814
  }
48875
48815
 
48876
48816
  // src/components/ui/image-gallery-modal.tsx
48877
48817
  import { ChevronLeft as ChevronLeft4, ChevronRight as ChevronRight8 } from "lucide-react";
48878
- import { Fragment as Fragment78, jsx as jsx378, jsxs as jsxs299 } from "react/jsx-runtime";
48818
+ import { Fragment as Fragment78, jsx as jsx377, jsxs as jsxs298 } from "react/jsx-runtime";
48879
48819
  function ImageGalleryModal({
48880
48820
  images,
48881
48821
  isOpen,
48882
48822
  onClose,
48883
48823
  initialIndex = 0
48884
48824
  }) {
48885
- const [selectedImageIndex, setSelectedImageIndex] = useState115(initialIndex);
48886
- useEffect87(() => {
48825
+ const [selectedImageIndex, setSelectedImageIndex] = useState114(initialIndex);
48826
+ useEffect86(() => {
48887
48827
  if (isOpen) {
48888
48828
  setSelectedImageIndex(initialIndex);
48889
48829
  }
@@ -48898,7 +48838,7 @@ function ImageGalleryModal({
48898
48838
  setSelectedImageIndex(selectedImageIndex + 1);
48899
48839
  }
48900
48840
  };
48901
- useEffect87(() => {
48841
+ useEffect86(() => {
48902
48842
  const handleKeyPress = (event) => {
48903
48843
  if (!isOpen) return;
48904
48844
  switch (event.key) {
@@ -48924,36 +48864,36 @@ function ImageGalleryModal({
48924
48864
  }
48925
48865
  }, [isOpen, selectedImageIndex, images.length]);
48926
48866
  if (!isOpen || images.length === 0) return null;
48927
- return /* @__PURE__ */ jsx378(
48867
+ return /* @__PURE__ */ jsx377(
48928
48868
  Modal2,
48929
48869
  {
48930
48870
  isOpen,
48931
48871
  onClose,
48932
48872
  className: "max-w-[95vw]",
48933
- children: /* @__PURE__ */ jsxs299("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
48934
- images.length > 1 && /* @__PURE__ */ jsxs299(Fragment78, { children: [
48935
- selectedImageIndex > 0 && /* @__PURE__ */ jsx378("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx378(
48873
+ children: /* @__PURE__ */ jsxs298("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
48874
+ images.length > 1 && /* @__PURE__ */ jsxs298(Fragment78, { children: [
48875
+ selectedImageIndex > 0 && /* @__PURE__ */ jsx377("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx377(
48936
48876
  Button,
48937
48877
  {
48938
48878
  variant: "transparent",
48939
48879
  size: "small-legacy",
48940
48880
  onClick: goToPreviousImage,
48941
48881
  className: "rounded-full bg-black/50 text-white hover:bg-black/70 p-2",
48942
- leftIcon: /* @__PURE__ */ jsx378(ChevronLeft4, { className: "w-6 h-6" })
48882
+ leftIcon: /* @__PURE__ */ jsx377(ChevronLeft4, { className: "w-6 h-6" })
48943
48883
  }
48944
48884
  ) }),
48945
- selectedImageIndex < images.length - 1 && /* @__PURE__ */ jsx378("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx378(
48885
+ selectedImageIndex < images.length - 1 && /* @__PURE__ */ jsx377("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx377(
48946
48886
  Button,
48947
48887
  {
48948
48888
  variant: "transparent",
48949
48889
  size: "small-legacy",
48950
48890
  onClick: goToNextImage,
48951
48891
  className: "rounded-full bg-black/50 text-white hover:bg-black/70 p-2",
48952
- leftIcon: /* @__PURE__ */ jsx378(ChevronRight8, { className: "w-6 h-6" })
48892
+ leftIcon: /* @__PURE__ */ jsx377(ChevronRight8, { className: "w-6 h-6" })
48953
48893
  }
48954
48894
  ) })
48955
48895
  ] }),
48956
- images[selectedImageIndex] && /* @__PURE__ */ jsx378("div", { className: "relative w-[90vw] h-[90vh] max-w-none flex items-center justify-center", children: /* @__PURE__ */ jsx378(
48896
+ images[selectedImageIndex] && /* @__PURE__ */ jsx377("div", { className: "relative w-[90vw] h-[90vh] max-w-none flex items-center justify-center", children: /* @__PURE__ */ jsx377(
48957
48897
  next_image_default,
48958
48898
  {
48959
48899
  src: images[selectedImageIndex],
@@ -48983,7 +48923,7 @@ function ImageGalleryModal({
48983
48923
  }
48984
48924
  }
48985
48925
  ) }),
48986
- images.length > 1 && /* @__PURE__ */ jsxs299("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2 z-[10000] px-4 py-2 rounded-full bg-black/50 text-white text-h6", children: [
48926
+ images.length > 1 && /* @__PURE__ */ jsxs298("div", { className: "absolute bottom-4 left-1/2 -translate-x-1/2 z-[10000] px-4 py-2 rounded-full bg-black/50 text-white text-h6", children: [
48987
48927
  selectedImageIndex + 1,
48988
48928
  " / ",
48989
48929
  images.length
@@ -49009,7 +48949,7 @@ import {
49009
48949
  Repeat,
49010
48950
  Compass
49011
48951
  } from "lucide-react";
49012
- import { jsx as jsx379 } from "react/jsx-runtime";
48952
+ import { jsx as jsx378 } from "react/jsx-runtime";
49013
48953
  function iconFor(customItemId) {
49014
48954
  switch (customItemId) {
49015
48955
  case CUSTOM_ITEM_ID.BUG:
@@ -49045,49 +48985,49 @@ function iconFor(customItemId) {
49045
48985
  }
49046
48986
  function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
49047
48987
  const Icon2 = iconFor(customItemId);
49048
- return /* @__PURE__ */ jsx379(Icon2, { className, "aria-hidden": "true" });
48988
+ return /* @__PURE__ */ jsx378(Icon2, { className, "aria-hidden": "true" });
49049
48989
  }
49050
48990
 
49051
48991
  // src/components/chat/entity-cards/roadmap-card.tsx
49052
- import { Fragment as Fragment79, jsx as jsx380, jsxs as jsxs300 } from "react/jsx-runtime";
48992
+ import { Fragment as Fragment79, jsx as jsx379, jsxs as jsxs299 } from "react/jsx-runtime";
49053
48993
  function RoadmapCardSkeleton({ size: size2 = "default" }) {
49054
48994
  if (size2 === "sm") {
49055
- return /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
49056
- /* @__PURE__ */ jsx380("span", { className: "block h-12 w-12 aspect-square shrink-0 self-start rounded-md bg-ods-bg border border-ods-border p-1.5" }),
49057
- /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49058
- /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`, children: [
49059
- /* @__PURE__ */ jsx380("span", { className: "h-3.5 w-1/2 rounded bg-ods-bg" }),
49060
- /* @__PURE__ */ jsx380("span", { className: "h-4 w-12 rounded bg-ods-bg/70 shrink-0" })
48995
+ return /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
48996
+ /* @__PURE__ */ jsx379("span", { className: "block h-12 w-12 aspect-square shrink-0 self-start rounded-md bg-ods-bg border border-ods-border p-1.5" }),
48997
+ /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_TEXT_COL, children: [
48998
+ /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`, children: [
48999
+ /* @__PURE__ */ jsx379("span", { className: "h-3.5 w-1/2 rounded bg-ods-bg" }),
49000
+ /* @__PURE__ */ jsx379("span", { className: "h-4 w-12 rounded bg-ods-bg/70 shrink-0" })
49061
49001
  ] }),
49062
- /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_META_ROW_BOX} flex-nowrap gap-2`, children: [
49063
- /* @__PURE__ */ jsx380("span", { className: "h-3 w-2/5 rounded bg-ods-bg/60 flex-1" }),
49064
- /* @__PURE__ */ jsx380("span", { className: "h-3 w-10 rounded bg-ods-bg/40 shrink-0" }),
49065
- /* @__PURE__ */ jsx380("span", { className: "h-6 w-14 rounded-full bg-ods-bg/40 shrink-0" })
49002
+ /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_META_ROW_BOX} flex-nowrap gap-2`, children: [
49003
+ /* @__PURE__ */ jsx379("span", { className: "h-3 w-2/5 rounded bg-ods-bg/60 flex-1" }),
49004
+ /* @__PURE__ */ jsx379("span", { className: "h-3 w-10 rounded bg-ods-bg/40 shrink-0" }),
49005
+ /* @__PURE__ */ jsx379("span", { className: "h-6 w-14 rounded-full bg-ods-bg/40 shrink-0" })
49066
49006
  ] }),
49067
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: "h-3 w-5/6 rounded bg-ods-bg/40" }) })
49007
+ /* @__PURE__ */ jsx379("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx379("span", { className: "h-3 w-5/6 rounded bg-ods-bg/40" }) })
49068
49008
  ] })
49069
49009
  ] });
49070
49010
  }
49071
- return /* @__PURE__ */ jsxs300("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-4 h-full animate-pulse", children: [
49072
- /* @__PURE__ */ jsxs300("div", { className: "flex gap-4 items-center", children: [
49073
- /* @__PURE__ */ jsx380("div", { className: "w-16 h-16 rounded-lg bg-ods-bg flex-shrink-0" }),
49074
- /* @__PURE__ */ jsxs300("div", { className: "flex-1 space-y-2", children: [
49075
- /* @__PURE__ */ jsx380("div", { className: "h-5 w-3/4 bg-ods-bg rounded" }),
49076
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
49011
+ return /* @__PURE__ */ jsxs299("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-4 h-full animate-pulse", children: [
49012
+ /* @__PURE__ */ jsxs299("div", { className: "flex gap-4 items-center", children: [
49013
+ /* @__PURE__ */ jsx379("div", { className: "w-16 h-16 rounded-lg bg-ods-bg flex-shrink-0" }),
49014
+ /* @__PURE__ */ jsxs299("div", { className: "flex-1 space-y-2", children: [
49015
+ /* @__PURE__ */ jsx379("div", { className: "h-5 w-3/4 bg-ods-bg rounded" }),
49016
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
49077
49017
  ] }),
49078
- /* @__PURE__ */ jsx380("div", { className: "h-6 w-16 bg-ods-bg rounded" })
49018
+ /* @__PURE__ */ jsx379("div", { className: "h-6 w-16 bg-ods-bg rounded" })
49079
49019
  ] }),
49080
- /* @__PURE__ */ jsxs300("div", { className: "space-y-2", children: [
49081
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
49082
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
49083
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
49020
+ /* @__PURE__ */ jsxs299("div", { className: "space-y-2", children: [
49021
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
49022
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
49023
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
49084
49024
  ] }),
49085
- /* @__PURE__ */ jsx380("div", { className: "flex-1" }),
49086
- /* @__PURE__ */ jsxs300("div", { className: "flex items-center justify-between", children: [
49087
- /* @__PURE__ */ jsx380("div", { className: "h-12 w-32 bg-ods-bg rounded" }),
49088
- /* @__PURE__ */ jsxs300("div", { className: "flex items-center gap-2", children: [
49089
- /* @__PURE__ */ jsx380("div", { className: "h-6 w-14 rounded-full bg-ods-bg/60" }),
49090
- /* @__PURE__ */ jsx380("div", { className: "h-8 w-20 bg-ods-bg rounded" })
49025
+ /* @__PURE__ */ jsx379("div", { className: "flex-1" }),
49026
+ /* @__PURE__ */ jsxs299("div", { className: "flex items-center justify-between", children: [
49027
+ /* @__PURE__ */ jsx379("div", { className: "h-12 w-32 bg-ods-bg rounded" }),
49028
+ /* @__PURE__ */ jsxs299("div", { className: "flex items-center gap-2", children: [
49029
+ /* @__PURE__ */ jsx379("div", { className: "h-6 w-14 rounded-full bg-ods-bg/60" }),
49030
+ /* @__PURE__ */ jsx379("div", { className: "h-8 w-20 bg-ods-bg rounded" })
49091
49031
  ] })
49092
49032
  ] })
49093
49033
  ] });
@@ -49112,7 +49052,7 @@ function RoadmapCard({
49112
49052
  onVote,
49113
49053
  isVoting = false
49114
49054
  }) {
49115
- const [showScreenshots, setShowScreenshots] = useState116(false);
49055
+ const [showScreenshots, setShowScreenshots] = useState115(false);
49116
49056
  const logoUrl = item.icon && item.icon.startsWith("http") ? item.icon : null;
49117
49057
  const iconSrc = logoUrl ? getProxiedImageUrl(logoUrl, { directHttps: true }) || logoUrl : null;
49118
49058
  if (size2 === "sm") {
@@ -49122,13 +49062,13 @@ function RoadmapCard({
49122
49062
  const hasScreenshots = (item.screenshots?.length ?? 0) > 0;
49123
49063
  const typeLabel = getTaskTypeLabel(item.customItemId);
49124
49064
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
49125
- const body = /* @__PURE__ */ jsxs300(Fragment79, { children: [
49126
- /* @__PURE__ */ jsx380(
49065
+ const body = /* @__PURE__ */ jsxs299(Fragment79, { children: [
49066
+ /* @__PURE__ */ jsx379(
49127
49067
  "span",
49128
49068
  {
49129
49069
  className: "flex h-12 w-12 aspect-square shrink-0 self-start items-center justify-center rounded-md overflow-hidden bg-ods-bg border border-ods-border p-1.5 text-ods-accent",
49130
49070
  title: typeLabel ?? void 0,
49131
- children: useTypeIcon ? /* @__PURE__ */ jsx380(TaskTypeIcon, { customItemId: item.customItemId, className: "h-6 w-6" }) : iconSrc ? /* @__PURE__ */ jsx380(
49071
+ children: useTypeIcon ? /* @__PURE__ */ jsx379(TaskTypeIcon, { customItemId: item.customItemId, className: "h-6 w-6" }) : iconSrc ? /* @__PURE__ */ jsx379(
49132
49072
  next_image_default,
49133
49073
  {
49134
49074
  src: iconSrc,
@@ -49138,13 +49078,13 @@ function RoadmapCard({
49138
49078
  unoptimized: true,
49139
49079
  className: "h-8 w-8 object-contain"
49140
49080
  }
49141
- ) : /* @__PURE__ */ jsx380("span", { className: "text-h6 uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" })
49081
+ ) : /* @__PURE__ */ jsx379("span", { className: "text-h6 uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" })
49142
49082
  }
49143
49083
  ),
49144
- /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49145
- /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_TITLE_ROW} gap-2`, children: [
49146
- /* @__PURE__ */ jsx380("span", { className: `${COMPACT_CARD_TITLE} min-w-0`, children: item.title }),
49147
- item.status && item.status.trim().length > 0 ? /* @__PURE__ */ jsx380(
49084
+ /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_TEXT_COL, children: [
49085
+ /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_TITLE_ROW} gap-2`, children: [
49086
+ /* @__PURE__ */ jsx379("span", { className: `${COMPACT_CARD_TITLE} min-w-0`, children: item.title }),
49087
+ item.status && item.status.trim().length > 0 ? /* @__PURE__ */ jsx379(
49148
49088
  StatusBadge,
49149
49089
  {
49150
49090
  text: item.status.toUpperCase(),
@@ -49155,8 +49095,8 @@ function RoadmapCard({
49155
49095
  }
49156
49096
  ) : null
49157
49097
  ] }),
49158
- /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`, children: [
49159
- /* @__PURE__ */ jsx380("span", { className: "truncate text-h6 min-w-0 flex-1", children: (() => {
49098
+ /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`, children: [
49099
+ /* @__PURE__ */ jsx379("span", { className: "truncate text-h6 min-w-0 flex-1", children: (() => {
49160
49100
  const parts = [
49161
49101
  item.quarter,
49162
49102
  item.targetVersion ? `${item.targetVersion} version` : null
@@ -49170,41 +49110,41 @@ function RoadmapCard({
49170
49110
  }
49171
49111
  return "Roadmap item";
49172
49112
  })() }),
49173
- hasVotes ? /* @__PURE__ */ jsxs300("span", { className: "hidden sm:flex items-center gap-2 shrink-0 text-h6 text-ods-text-secondary", children: [
49174
- /* @__PURE__ */ jsxs300("span", { className: "flex items-center gap-0.5", children: [
49175
- /* @__PURE__ */ jsx380(ThumbsUp, { className: "h-3 w-3" }),
49176
- /* @__PURE__ */ jsx380("span", { children: item.upvotes ?? 0 })
49113
+ hasVotes ? /* @__PURE__ */ jsxs299("span", { className: "hidden sm:flex items-center gap-2 shrink-0 text-h6 text-ods-text-secondary", children: [
49114
+ /* @__PURE__ */ jsxs299("span", { className: "flex items-center gap-0.5", children: [
49115
+ /* @__PURE__ */ jsx379(ThumbsUp, { className: "h-3 w-3" }),
49116
+ /* @__PURE__ */ jsx379("span", { children: item.upvotes ?? 0 })
49177
49117
  ] }),
49178
- /* @__PURE__ */ jsxs300("span", { className: "flex items-center gap-0.5", children: [
49179
- /* @__PURE__ */ jsx380(ThumbsDown, { className: "h-3 w-3" }),
49180
- /* @__PURE__ */ jsx380("span", { children: item.downvotes ?? 0 })
49118
+ /* @__PURE__ */ jsxs299("span", { className: "flex items-center gap-0.5", children: [
49119
+ /* @__PURE__ */ jsx379(ThumbsDown, { className: "h-3 w-3" }),
49120
+ /* @__PURE__ */ jsx379("span", { children: item.downvotes ?? 0 })
49181
49121
  ] })
49182
49122
  ] }) : null,
49183
- hasFigma ? /* @__PURE__ */ jsx380("span", { className: "hidden sm:flex shrink-0 items-center", title: "Has Figma prototype", children: /* @__PURE__ */ jsx380(FigmaIcon, { className: "h-3 w-3" }) }) : null,
49184
- hasScreenshots ? /* @__PURE__ */ jsxs300(
49123
+ hasFigma ? /* @__PURE__ */ jsx379("span", { className: "hidden sm:flex shrink-0 items-center", title: "Has Figma prototype", children: /* @__PURE__ */ jsx379(FigmaIcon, { className: "h-3 w-3" }) }) : null,
49124
+ hasScreenshots ? /* @__PURE__ */ jsxs299(
49185
49125
  "span",
49186
49126
  {
49187
49127
  className: "hidden sm:flex shrink-0 items-center gap-0.5 text-h6",
49188
49128
  title: `${item.screenshots.length} screenshot${item.screenshots.length === 1 ? "" : "s"}`,
49189
49129
  children: [
49190
- /* @__PURE__ */ jsx380(ImageIcon, { className: "h-3 w-3" }),
49191
- /* @__PURE__ */ jsx380("span", { children: item.screenshots.length })
49130
+ /* @__PURE__ */ jsx379(ImageIcon, { className: "h-3 w-3" }),
49131
+ /* @__PURE__ */ jsx379("span", { children: item.screenshots.length })
49192
49132
  ]
49193
49133
  }
49194
49134
  ) : null,
49195
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx380(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
49135
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx379(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
49196
49136
  ] }),
49197
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
49137
+ /* @__PURE__ */ jsx379("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx379("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
49198
49138
  ] })
49199
49139
  ] });
49200
49140
  if (!compactHref) {
49201
- return /* @__PURE__ */ jsx380("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49141
+ return /* @__PURE__ */ jsx379("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49202
49142
  }
49203
- return /* @__PURE__ */ jsx380("a", { href: compactHref, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49143
+ return /* @__PURE__ */ jsx379("a", { href: compactHref, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49204
49144
  }
49205
- return /* @__PURE__ */ jsxs300("div", { id, className: `bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-[16px] hover:border-ods-accent transition-all h-full scroll-mt-24 ${className ?? ""}`, children: [
49206
- /* @__PURE__ */ jsxs300("div", { className: "flex gap-[16px] items-center w-full", children: [
49207
- /* @__PURE__ */ jsx380("div", { className: "w-16 h-16 rounded-lg flex items-center justify-center flex-shrink-0 bg-ods-bg border border-ods-border", children: iconSrc ? /* @__PURE__ */ jsx380(
49145
+ return /* @__PURE__ */ jsxs299("div", { id, className: `bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-[16px] hover:border-ods-accent transition-all h-full scroll-mt-24 ${className ?? ""}`, children: [
49146
+ /* @__PURE__ */ jsxs299("div", { className: "flex gap-[16px] items-center w-full", children: [
49147
+ /* @__PURE__ */ jsx379("div", { className: "w-16 h-16 rounded-lg flex items-center justify-center flex-shrink-0 bg-ods-bg border border-ods-border", children: iconSrc ? /* @__PURE__ */ jsx379(
49208
49148
  next_image_default,
49209
49149
  {
49210
49150
  src: iconSrc,
@@ -49214,16 +49154,16 @@ function RoadmapCard({
49214
49154
  unoptimized: true,
49215
49155
  className: "object-contain p-1"
49216
49156
  }
49217
- ) : /* @__PURE__ */ jsx380("span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" }) }),
49218
- /* @__PURE__ */ jsxs300("div", { className: "flex-1 min-w-0 flex flex-col", children: [
49219
- /* @__PURE__ */ jsx380("div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ jsx380("h3", { className: "text-h3 text-ods-text-primary flex-1 line-clamp-2", children: item.title }) }),
49220
- /* @__PURE__ */ jsx380("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsxs300("p", { className: "text-h5 text-ods-text-secondary truncate", children: [
49157
+ ) : /* @__PURE__ */ jsx379("span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" }) }),
49158
+ /* @__PURE__ */ jsxs299("div", { className: "flex-1 min-w-0 flex flex-col", children: [
49159
+ /* @__PURE__ */ jsx379("div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ jsx379("h3", { className: "text-h3 text-ods-text-primary flex-1 line-clamp-2", children: item.title }) }),
49160
+ /* @__PURE__ */ jsx379("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsxs299("p", { className: "text-h5 text-ods-text-secondary truncate", children: [
49221
49161
  item.quarter,
49222
49162
  ", ",
49223
49163
  item.id
49224
49164
  ] }) })
49225
49165
  ] }),
49226
- /* @__PURE__ */ jsx380("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx380(
49166
+ /* @__PURE__ */ jsx379("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx379(
49227
49167
  StatusBadge,
49228
49168
  {
49229
49169
  text: item.status.toUpperCase(),
@@ -49232,7 +49172,7 @@ function RoadmapCard({
49232
49172
  }
49233
49173
  ) })
49234
49174
  ] }),
49235
- /* @__PURE__ */ jsx380("div", { className: "md:hidden", children: /* @__PURE__ */ jsx380(
49175
+ /* @__PURE__ */ jsx379("div", { className: "md:hidden", children: /* @__PURE__ */ jsx379(
49236
49176
  StatusBadge,
49237
49177
  {
49238
49178
  text: item.status.toUpperCase(),
@@ -49240,11 +49180,11 @@ function RoadmapCard({
49240
49180
  className: "border border-ods-border"
49241
49181
  }
49242
49182
  ) }),
49243
- /* @__PURE__ */ jsx380("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsx380("p", { className: "text-h4 text-ods-text-secondary line-clamp-3", children: item.description || "" }) }),
49244
- /* @__PURE__ */ jsx380("div", { className: "flex-1" }),
49245
- /* @__PURE__ */ jsxs300("div", { className: "flex items-center justify-between w-full", children: [
49246
- onVote && /* @__PURE__ */ jsxs300("div", { className: "bg-ods-card border border-ods-border h-[48px] rounded-[6px] flex overflow-hidden", children: [
49247
- /* @__PURE__ */ jsx380(
49183
+ /* @__PURE__ */ jsx379("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsx379("p", { className: "text-h4 text-ods-text-secondary line-clamp-3", children: item.description || "" }) }),
49184
+ /* @__PURE__ */ jsx379("div", { className: "flex-1" }),
49185
+ /* @__PURE__ */ jsxs299("div", { className: "flex items-center justify-between w-full", children: [
49186
+ onVote && /* @__PURE__ */ jsxs299("div", { className: "bg-ods-card border border-ods-border h-[48px] rounded-[6px] flex overflow-hidden", children: [
49187
+ /* @__PURE__ */ jsx379(
49248
49188
  RoadmapVoteButton,
49249
49189
  {
49250
49190
  voteType: "up",
@@ -49256,7 +49196,7 @@ function RoadmapCard({
49256
49196
  disabled: isVoting
49257
49197
  }
49258
49198
  ),
49259
- /* @__PURE__ */ jsx380(
49199
+ /* @__PURE__ */ jsx379(
49260
49200
  RoadmapVoteButton,
49261
49201
  {
49262
49202
  voteType: "down",
@@ -49269,31 +49209,31 @@ function RoadmapCard({
49269
49209
  }
49270
49210
  )
49271
49211
  ] }),
49272
- /* @__PURE__ */ jsxs300("div", { className: "flex items-center gap-2 min-w-0", children: [
49273
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx380(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
49274
- item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx380(
49212
+ /* @__PURE__ */ jsxs299("div", { className: "flex items-center gap-2 min-w-0", children: [
49213
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx379(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
49214
+ item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx379(
49275
49215
  Button,
49276
49216
  {
49277
49217
  variant: "outline",
49278
49218
  size: "small-legacy",
49279
49219
  onClick: () => setShowScreenshots(true),
49280
- leftIcon: /* @__PURE__ */ jsx380(ImageIcon, { className: "w-5 h-5" })
49220
+ leftIcon: /* @__PURE__ */ jsx379(ImageIcon, { className: "w-5 h-5" })
49281
49221
  }
49282
49222
  ),
49283
49223
  (() => {
49284
49224
  const figmaSafe = safeHref(item.figmaUrl);
49285
- return figmaSafe ? /* @__PURE__ */ jsx380(
49225
+ return figmaSafe ? /* @__PURE__ */ jsx379(
49286
49226
  Button,
49287
49227
  {
49288
49228
  variant: "outline",
49289
49229
  size: "small-legacy",
49290
49230
  openInNewTab: true,
49291
49231
  href: figmaSafe,
49292
- leftIcon: /* @__PURE__ */ jsx380(FigmaIcon, { className: "w-5 h-5" })
49232
+ leftIcon: /* @__PURE__ */ jsx379(FigmaIcon, { className: "w-5 h-5" })
49293
49233
  }
49294
49234
  ) : null;
49295
49235
  })(),
49296
- item.targetVersion && /* @__PURE__ */ jsx380(
49236
+ item.targetVersion && /* @__PURE__ */ jsx379(
49297
49237
  StatusBadge,
49298
49238
  {
49299
49239
  gen: generationTierFromLabel(item.targetVersion),
@@ -49302,7 +49242,7 @@ function RoadmapCard({
49302
49242
  )
49303
49243
  ] })
49304
49244
  ] }),
49305
- item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx380(
49245
+ item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx379(
49306
49246
  ImageGalleryModal,
49307
49247
  {
49308
49248
  images: item.screenshots,
@@ -49314,9 +49254,9 @@ function RoadmapCard({
49314
49254
  }
49315
49255
 
49316
49256
  // src/components/chat/entity-cards/github-activity-card.tsx
49317
- import React147 from "react";
49257
+ import React146 from "react";
49318
49258
  import { GitPullRequest, Eye as Eye4, ExternalLink as ExternalLink8 } from "lucide-react";
49319
- import { Fragment as Fragment80, jsx as jsx381, jsxs as jsxs301 } from "react/jsx-runtime";
49259
+ import { Fragment as Fragment80, jsx as jsx380, jsxs as jsxs300 } from "react/jsx-runtime";
49320
49260
  function parseRepoFromUrl(url) {
49321
49261
  if (!url) return null;
49322
49262
  try {
@@ -49331,12 +49271,12 @@ function parseRepoFromUrl(url) {
49331
49271
  function kindIcon(kind, className = "h-4 w-4") {
49332
49272
  switch (kind) {
49333
49273
  case "pull_request":
49334
- return /* @__PURE__ */ jsx381(GitPullRequest, { className: `${className} shrink-0` });
49274
+ return /* @__PURE__ */ jsx380(GitPullRequest, { className: `${className} shrink-0` });
49335
49275
  case "pr_review":
49336
- return /* @__PURE__ */ jsx381(Eye4, { className: `${className} shrink-0` });
49276
+ return /* @__PURE__ */ jsx380(Eye4, { className: `${className} shrink-0` });
49337
49277
  case "commit":
49338
49278
  default:
49339
- return /* @__PURE__ */ jsx381(GitHubIcon, { className: `${className} shrink-0` });
49279
+ return /* @__PURE__ */ jsx380(GitHubIcon, { className: `${className} shrink-0` });
49340
49280
  }
49341
49281
  }
49342
49282
  function kindLabel(kind) {
@@ -49411,7 +49351,7 @@ function reviewStateLabel(state) {
49411
49351
  }
49412
49352
  function ReviewStateBadge({ state, className = "" }) {
49413
49353
  const { label, className: paint } = REVIEW_STATE_STYLE[state] ?? REVIEW_STATE_STYLE.COMMENTED;
49414
- return /* @__PURE__ */ jsx381(
49354
+ return /* @__PURE__ */ jsx380(
49415
49355
  "span",
49416
49356
  {
49417
49357
  className: `inline-flex items-center rounded px-1.5 py-0.5 text-h5 shrink-0 ${paint} ${className}`,
@@ -49427,46 +49367,46 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
49427
49367
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
49428
49368
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
49429
49369
  if (variant === "row") {
49430
- return /* @__PURE__ */ jsxs301("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49431
- /* @__PURE__ */ jsxs301("span", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49370
+ return /* @__PURE__ */ jsxs300("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49371
+ /* @__PURE__ */ jsxs300("span", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49432
49372
  kindIcon(kind, "h-3.5 w-3.5"),
49433
- /* @__PURE__ */ jsx381("code", { className: "text-ods-text-secondary text-code truncate", children: idLabel })
49373
+ /* @__PURE__ */ jsx380("code", { className: "text-ods-text-secondary text-code truncate", children: idLabel })
49434
49374
  ] }),
49435
- /* @__PURE__ */ jsxs301("span", { className: "flex items-center gap-2 text-ods-text-primary text-h6 flex-1 min-w-0", children: [
49436
- reviewState ? /* @__PURE__ */ jsx381(ReviewStateBadge, { state: reviewState }) : null,
49437
- /* @__PURE__ */ jsx381("span", { className: "truncate", children: primaryText })
49375
+ /* @__PURE__ */ jsxs300("span", { className: "flex items-center gap-2 text-ods-text-primary text-h6 flex-1 min-w-0", children: [
49376
+ reviewState ? /* @__PURE__ */ jsx380(ReviewStateBadge, { state: reviewState }) : null,
49377
+ /* @__PURE__ */ jsx380("span", { className: "truncate", children: primaryText })
49438
49378
  ] }),
49439
- repo ? /* @__PURE__ */ jsx381("span", { className: "text-code text-ods-text-secondary truncate max-w-[240px] shrink-0", children: repo }) : null,
49440
- dateText ? /* @__PURE__ */ jsx381("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49379
+ repo ? /* @__PURE__ */ jsx380("span", { className: "text-code text-ods-text-secondary truncate max-w-[240px] shrink-0", children: repo }) : null,
49380
+ dateText ? /* @__PURE__ */ jsx380("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49441
49381
  ] });
49442
49382
  }
49443
49383
  const metaParts = [];
49444
49384
  metaParts.push(
49445
- /* @__PURE__ */ jsx381("span", { className: "text-h6 uppercase", children: kindLabel(kind) }, "kind")
49385
+ /* @__PURE__ */ jsx380("span", { className: "text-h6 uppercase", children: kindLabel(kind) }, "kind")
49446
49386
  );
49447
- if (idLabel) metaParts.push(/* @__PURE__ */ jsx381("code", { className: "font-mono", children: idLabel }, "id"));
49448
- if (repo) metaParts.push(/* @__PURE__ */ jsx381("span", { className: "font-mono truncate", children: repo }, "repo"));
49449
- if (dateText) metaParts.push(/* @__PURE__ */ jsx381("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49387
+ if (idLabel) metaParts.push(/* @__PURE__ */ jsx380("code", { className: "font-mono", children: idLabel }, "id"));
49388
+ if (repo) metaParts.push(/* @__PURE__ */ jsx380("span", { className: "font-mono truncate", children: repo }, "repo"));
49389
+ if (dateText) metaParts.push(/* @__PURE__ */ jsx380("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49450
49390
  const href = safeHref(item.url);
49451
- const body = /* @__PURE__ */ jsxs301(Fragment80, { children: [
49452
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
49453
- /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49454
- /* @__PURE__ */ jsxs301("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
49455
- reviewState ? /* @__PURE__ */ jsx381(ReviewStateBadge, { state: reviewState }) : null,
49456
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE, children: primaryText })
49391
+ const body = /* @__PURE__ */ jsxs300(Fragment80, { children: [
49392
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
49393
+ /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49394
+ /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
49395
+ reviewState ? /* @__PURE__ */ jsx380(ReviewStateBadge, { state: reviewState }) : null,
49396
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_TITLE, children: primaryText })
49457
49397
  ] }),
49458
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs301(React147.Fragment, { children: [
49459
- i > 0 ? /* @__PURE__ */ jsx381("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49460
- /* @__PURE__ */ jsx381("span", { className: "min-w-0 truncate", children: part })
49398
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs300(React146.Fragment, { children: [
49399
+ i > 0 ? /* @__PURE__ */ jsx380("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49400
+ /* @__PURE__ */ jsx380("span", { className: "min-w-0 truncate", children: part })
49461
49401
  ] }, i)) }) }),
49462
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49402
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49463
49403
  ] }),
49464
- href ? /* @__PURE__ */ jsx381("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx381(ExternalLink8, { className: "w-3.5 h-3.5" }) }) : null
49404
+ href ? /* @__PURE__ */ jsx380("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx380(ExternalLink8, { className: "w-3.5 h-3.5" }) }) : null
49465
49405
  ] });
49466
49406
  if (anchorProps) {
49467
- return /* @__PURE__ */ jsx381("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49407
+ return /* @__PURE__ */ jsx380("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49468
49408
  }
49469
- return href ? /* @__PURE__ */ jsx381(
49409
+ return href ? /* @__PURE__ */ jsx380(
49470
49410
  "a",
49471
49411
  {
49472
49412
  href,
@@ -49475,35 +49415,35 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
49475
49415
  className: `${COMPACT_CARD_OUTER} ${className ?? ""}`,
49476
49416
  children: body
49477
49417
  }
49478
- ) : /* @__PURE__ */ jsx381("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49418
+ ) : /* @__PURE__ */ jsx380("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49479
49419
  }
49480
49420
  function GitHubActivityCardSkeleton({ variant = "compact", className }) {
49481
49421
  if (variant === "row") {
49482
- return /* @__PURE__ */ jsxs301("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49483
- /* @__PURE__ */ jsxs301("div", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49484
- /* @__PURE__ */ jsx381("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }),
49485
- /* @__PURE__ */ jsx381("div", { className: "h-3 w-16 bg-ods-bg rounded" })
49422
+ return /* @__PURE__ */ jsxs300("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49423
+ /* @__PURE__ */ jsxs300("div", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49424
+ /* @__PURE__ */ jsx380("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }),
49425
+ /* @__PURE__ */ jsx380("div", { className: "h-3 w-16 bg-ods-bg rounded" })
49486
49426
  ] }),
49487
- /* @__PURE__ */ jsx381("div", { className: "h-3 w-2/3 bg-ods-bg rounded flex-1" }),
49488
- /* @__PURE__ */ jsx381("div", { className: "h-3 w-40 bg-ods-bg/60 rounded shrink-0" }),
49489
- /* @__PURE__ */ jsx381("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49427
+ /* @__PURE__ */ jsx380("div", { className: "h-3 w-2/3 bg-ods-bg rounded flex-1" }),
49428
+ /* @__PURE__ */ jsx380("div", { className: "h-3 w-40 bg-ods-bg/60 rounded shrink-0" }),
49429
+ /* @__PURE__ */ jsx380("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49490
49430
  ] });
49491
49431
  }
49492
- return /* @__PURE__ */ jsxs301("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49493
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49494
- /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49495
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49496
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
49497
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49432
+ return /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49433
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49434
+ /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49435
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx380("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49436
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
49437
+ /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49498
49438
  ] }),
49499
- /* @__PURE__ */ jsx381("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx381("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49439
+ /* @__PURE__ */ jsx380("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx380("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49500
49440
  ] });
49501
49441
  }
49502
49442
 
49503
49443
  // src/components/chat/entity-cards/slack-message-card.tsx
49504
- import React148 from "react";
49444
+ import React147 from "react";
49505
49445
  import { ExternalLink as ExternalLink9, Hash } from "lucide-react";
49506
- import { Fragment as Fragment81, jsx as jsx382, jsxs as jsxs302 } from "react/jsx-runtime";
49446
+ import { Fragment as Fragment81, jsx as jsx381, jsxs as jsxs301 } from "react/jsx-runtime";
49507
49447
  function parseChannelFromUrl(url) {
49508
49448
  if (!url) return null;
49509
49449
  try {
@@ -49520,44 +49460,44 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
49520
49460
  const channel = item.channel ?? parseChannelFromUrl(item.url) ?? null;
49521
49461
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
49522
49462
  if (variant === "row") {
49523
- return /* @__PURE__ */ jsxs302("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49524
- /* @__PURE__ */ jsx382(SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
49525
- /* @__PURE__ */ jsx382("span", { className: "text-ods-text-primary text-h6 truncate max-w-[180px] shrink-0", children: item.title }),
49526
- item.preview ? /* @__PURE__ */ jsx382("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49527
- channel ? /* @__PURE__ */ jsxs302("span", { className: "text-code text-ods-text-secondary truncate max-w-[140px] shrink-0", children: [
49528
- /* @__PURE__ */ jsx382(Hash, { className: "inline h-3 w-3" }),
49463
+ return /* @__PURE__ */ jsxs301("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49464
+ /* @__PURE__ */ jsx381(SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
49465
+ /* @__PURE__ */ jsx381("span", { className: "text-ods-text-primary text-h6 truncate max-w-[180px] shrink-0", children: item.title }),
49466
+ item.preview ? /* @__PURE__ */ jsx381("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49467
+ channel ? /* @__PURE__ */ jsxs301("span", { className: "text-code text-ods-text-secondary truncate max-w-[140px] shrink-0", children: [
49468
+ /* @__PURE__ */ jsx381(Hash, { className: "inline h-3 w-3" }),
49529
49469
  channel
49530
49470
  ] }) : null,
49531
- dateText ? /* @__PURE__ */ jsx382("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49471
+ dateText ? /* @__PURE__ */ jsx381("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49532
49472
  ] });
49533
49473
  }
49534
49474
  const metaParts = [];
49535
49475
  if (channel) {
49536
49476
  metaParts.push(
49537
- /* @__PURE__ */ jsxs302("span", { className: "flex items-center gap-0.5 min-w-0", children: [
49538
- /* @__PURE__ */ jsx382(Hash, { className: "h-3 w-3 shrink-0" }),
49539
- /* @__PURE__ */ jsx382("span", { className: "truncate font-mono", children: channel })
49477
+ /* @__PURE__ */ jsxs301("span", { className: "flex items-center gap-0.5 min-w-0", children: [
49478
+ /* @__PURE__ */ jsx381(Hash, { className: "h-3 w-3 shrink-0" }),
49479
+ /* @__PURE__ */ jsx381("span", { className: "truncate font-mono", children: channel })
49540
49480
  ] }, "channel")
49541
49481
  );
49542
49482
  }
49543
- if (dateText) metaParts.push(/* @__PURE__ */ jsx382("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49483
+ if (dateText) metaParts.push(/* @__PURE__ */ jsx381("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49544
49484
  const href = safeHref(item.url);
49545
- const body = /* @__PURE__ */ jsxs302(Fragment81, { children: [
49546
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx382(SlackIcon, { className: "h-5 w-5" }) }),
49547
- /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
49548
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
49549
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_SUMMARY, children: item.preview || COMPACT_CARD_ROW_FILLER }) }),
49550
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ jsxs302(React148.Fragment, { children: [
49551
- i > 0 ? /* @__PURE__ */ jsx382("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49552
- /* @__PURE__ */ jsx382("span", { className: "min-w-0 truncate", children: part })
49553
- ] }, i)) : /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) }) })
49485
+ const body = /* @__PURE__ */ jsxs301(Fragment81, { children: [
49486
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx381(SlackIcon, { className: "h-5 w-5" }) }),
49487
+ /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49488
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
49489
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUMMARY, children: item.preview || COMPACT_CARD_ROW_FILLER }) }),
49490
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ jsxs301(React147.Fragment, { children: [
49491
+ i > 0 ? /* @__PURE__ */ jsx381("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49492
+ /* @__PURE__ */ jsx381("span", { className: "min-w-0 truncate", children: part })
49493
+ ] }, i)) : /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) }) })
49554
49494
  ] }),
49555
- href ? /* @__PURE__ */ jsx382("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx382(ExternalLink9, { className: "w-3.5 h-3.5" }) }) : null
49495
+ href ? /* @__PURE__ */ jsx381("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx381(ExternalLink9, { className: "w-3.5 h-3.5" }) }) : null
49556
49496
  ] });
49557
49497
  if (anchorProps) {
49558
- return /* @__PURE__ */ jsx382("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49498
+ return /* @__PURE__ */ jsx381("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49559
49499
  }
49560
- return href ? /* @__PURE__ */ jsx382(
49500
+ return href ? /* @__PURE__ */ jsx381(
49561
49501
  "a",
49562
49502
  {
49563
49503
  href,
@@ -49566,33 +49506,33 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
49566
49506
  className: `${COMPACT_CARD_OUTER} ${className ?? ""}`,
49567
49507
  children: body
49568
49508
  }
49569
- ) : /* @__PURE__ */ jsx382("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49509
+ ) : /* @__PURE__ */ jsx381("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49570
49510
  }
49571
49511
  function SlackMessageCardSkeleton({ variant = "compact", className }) {
49572
49512
  if (variant === "row") {
49573
- return /* @__PURE__ */ jsxs302("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49574
- /* @__PURE__ */ jsx382("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg shrink-0" }),
49575
- /* @__PURE__ */ jsx382("div", { className: "h-3 w-32 bg-ods-bg rounded shrink-0" }),
49576
- /* @__PURE__ */ jsx382("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49577
- /* @__PURE__ */ jsx382("div", { className: "h-3 w-24 bg-ods-bg/60 rounded shrink-0" }),
49578
- /* @__PURE__ */ jsx382("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49513
+ return /* @__PURE__ */ jsxs301("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49514
+ /* @__PURE__ */ jsx381("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg shrink-0" }),
49515
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-32 bg-ods-bg rounded shrink-0" }),
49516
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49517
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-24 bg-ods-bg/60 rounded shrink-0" }),
49518
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49579
49519
  ] });
49580
49520
  }
49581
- return /* @__PURE__ */ jsxs302("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49582
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49583
- /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
49584
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx382("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49585
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
49586
- /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49521
+ return /* @__PURE__ */ jsxs301("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49522
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49523
+ /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49524
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49525
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
49526
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49587
49527
  ] }),
49588
- /* @__PURE__ */ jsx382("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx382("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49528
+ /* @__PURE__ */ jsx381("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx381("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49589
49529
  ] });
49590
49530
  }
49591
49531
 
49592
49532
  // src/components/chat/entity-cards/hubspot-ticket-card.tsx
49593
- import React149 from "react";
49533
+ import React148 from "react";
49594
49534
  import { ExternalLink as ExternalLink10 } from "lucide-react";
49595
- import { Fragment as Fragment82, jsx as jsx383, jsxs as jsxs303 } from "react/jsx-runtime";
49535
+ import { Fragment as Fragment82, jsx as jsx382, jsxs as jsxs302 } from "react/jsx-runtime";
49596
49536
  function formatToken(token) {
49597
49537
  if (!token) return null;
49598
49538
  const lower = token.toLowerCase().replace(/_/g, " ");
@@ -49616,26 +49556,26 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49616
49556
  const priorityText = formatToken(item.priority);
49617
49557
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
49618
49558
  if (variant === "row") {
49619
- return /* @__PURE__ */ jsxs303("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49620
- /* @__PURE__ */ jsx383("span", { className: "text-ods-text-primary text-h6 truncate max-w-[260px] shrink-0", children: item.title }),
49621
- item.preview ? /* @__PURE__ */ jsx383("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49622
- statusText ? /* @__PURE__ */ jsx383(StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
49623
- dateText ? /* @__PURE__ */ jsx383("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49559
+ return /* @__PURE__ */ jsxs302("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49560
+ /* @__PURE__ */ jsx382("span", { className: "text-ods-text-primary text-h6 truncate max-w-[260px] shrink-0", children: item.title }),
49561
+ item.preview ? /* @__PURE__ */ jsx382("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49562
+ statusText ? /* @__PURE__ */ jsx382(StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
49563
+ dateText ? /* @__PURE__ */ jsx382("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49624
49564
  ] });
49625
49565
  }
49626
49566
  const metaParts = [];
49627
49567
  if (item.customerCompany) {
49628
49568
  metaParts.push(
49629
- /* @__PURE__ */ jsx383("span", { className: "min-w-0 truncate", children: item.customerCompany }, "company")
49569
+ /* @__PURE__ */ jsx382("span", { className: "min-w-0 truncate", children: item.customerCompany }, "company")
49630
49570
  );
49631
49571
  }
49632
- if (dateText) metaParts.push(/* @__PURE__ */ jsx383("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49572
+ if (dateText) metaParts.push(/* @__PURE__ */ jsx382("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49633
49573
  const href = safeHref(item.url);
49634
- const body = /* @__PURE__ */ jsxs303(Fragment82, { children: [
49635
- /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
49636
- /* @__PURE__ */ jsxs303("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49637
- /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49638
- priorityText ? /* @__PURE__ */ jsx383(
49574
+ const body = /* @__PURE__ */ jsxs302(Fragment82, { children: [
49575
+ /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
49576
+ /* @__PURE__ */ jsxs302("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49577
+ /* @__PURE__ */ jsx382("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49578
+ priorityText ? /* @__PURE__ */ jsx382(
49639
49579
  StatusBadge,
49640
49580
  {
49641
49581
  text: priorityText,
@@ -49644,7 +49584,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49644
49584
  className: "shrink-0"
49645
49585
  }
49646
49586
  ) : null,
49647
- statusText ? /* @__PURE__ */ jsx383(
49587
+ statusText ? /* @__PURE__ */ jsx382(
49648
49588
  StatusBadge,
49649
49589
  {
49650
49590
  text: statusText,
@@ -49654,22 +49594,22 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49654
49594
  }
49655
49595
  ) : null
49656
49596
  ] }),
49657
- item.customerEmail ? /* @__PURE__ */ jsxs303("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49658
- /* @__PURE__ */ jsx383("span", { className: "shrink-0 text-ods-text-secondary/70", children: "From:" }),
49659
- /* @__PURE__ */ jsx383("span", { className: "min-w-0 truncate", children: item.customerEmail })
49597
+ item.customerEmail ? /* @__PURE__ */ jsxs302("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49598
+ /* @__PURE__ */ jsx382("span", { className: "shrink-0 text-ods-text-secondary/70", children: "From:" }),
49599
+ /* @__PURE__ */ jsx382("span", { className: "min-w-0 truncate", children: item.customerEmail })
49660
49600
  ] }) : null,
49661
- /* @__PURE__ */ jsx383("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx383("span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview || /* @__PURE__ */ jsx383("span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
49662
- metaParts.length > 0 ? /* @__PURE__ */ jsx383("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx383("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs303(React149.Fragment, { children: [
49663
- i > 0 ? /* @__PURE__ */ jsx383("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49664
- /* @__PURE__ */ jsx383("span", { className: "min-w-0 truncate", children: part })
49601
+ /* @__PURE__ */ jsx382("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx382("span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview || /* @__PURE__ */ jsx382("span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
49602
+ metaParts.length > 0 ? /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs302(React148.Fragment, { children: [
49603
+ i > 0 ? /* @__PURE__ */ jsx382("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49604
+ /* @__PURE__ */ jsx382("span", { className: "min-w-0 truncate", children: part })
49665
49605
  ] }, i)) }) }) : null
49666
49606
  ] }),
49667
- href ? /* @__PURE__ */ jsx383("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx383(ExternalLink10, { className: "w-3.5 h-3.5" }) }) : null
49607
+ href ? /* @__PURE__ */ jsx382("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx382(ExternalLink10, { className: "w-3.5 h-3.5" }) }) : null
49668
49608
  ] });
49669
49609
  if (anchorProps) {
49670
- return /* @__PURE__ */ jsx383("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49610
+ return /* @__PURE__ */ jsx382("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49671
49611
  }
49672
- return href ? /* @__PURE__ */ jsx383(
49612
+ return href ? /* @__PURE__ */ jsx382(
49673
49613
  "a",
49674
49614
  {
49675
49615
  href,
@@ -49678,79 +49618,79 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49678
49618
  className: `${COMPACT_CARD_OUTER} ${className ?? ""}`,
49679
49619
  children: body
49680
49620
  }
49681
- ) : /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49621
+ ) : /* @__PURE__ */ jsx382("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49682
49622
  }
49683
49623
  function HubspotTicketCardSkeleton({ variant = "compact", className }) {
49684
49624
  if (variant === "row") {
49685
- return /* @__PURE__ */ jsxs303("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49686
- /* @__PURE__ */ jsx383("div", { className: "h-3 w-40 bg-ods-bg rounded shrink-0" }),
49687
- /* @__PURE__ */ jsx383("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49688
- /* @__PURE__ */ jsx383("div", { className: "h-3 w-16 bg-ods-bg/60 rounded shrink-0" }),
49689
- /* @__PURE__ */ jsx383("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49625
+ return /* @__PURE__ */ jsxs302("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49626
+ /* @__PURE__ */ jsx382("div", { className: "h-3 w-40 bg-ods-bg rounded shrink-0" }),
49627
+ /* @__PURE__ */ jsx382("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49628
+ /* @__PURE__ */ jsx382("div", { className: "h-3 w-16 bg-ods-bg/60 rounded shrink-0" }),
49629
+ /* @__PURE__ */ jsx382("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49690
49630
  ] });
49691
49631
  }
49692
- return /* @__PURE__ */ jsxs303("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49693
- /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
49694
- /* @__PURE__ */ jsxs303("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49695
- /* @__PURE__ */ jsx383("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49696
- /* @__PURE__ */ jsx383("span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
49697
- /* @__PURE__ */ jsx383("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49632
+ return /* @__PURE__ */ jsxs302("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49633
+ /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
49634
+ /* @__PURE__ */ jsxs302("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49635
+ /* @__PURE__ */ jsx382("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49636
+ /* @__PURE__ */ jsx382("span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
49637
+ /* @__PURE__ */ jsx382("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49698
49638
  ] }),
49699
- /* @__PURE__ */ jsx383("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49700
- /* @__PURE__ */ jsxs303("span", { className: "flex flex-col gap-0 min-w-0", children: [
49701
- /* @__PURE__ */ jsx383("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49702
- /* @__PURE__ */ jsx383("span", { className: "h-5 w-4/6 rounded bg-ods-bg/60" }),
49703
- /* @__PURE__ */ jsx383("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
49704
- /* @__PURE__ */ jsx383("span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
49639
+ /* @__PURE__ */ jsx382("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49640
+ /* @__PURE__ */ jsxs302("span", { className: "flex flex-col gap-0 min-w-0", children: [
49641
+ /* @__PURE__ */ jsx382("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49642
+ /* @__PURE__ */ jsx382("span", { className: "h-5 w-4/6 rounded bg-ods-bg/60" }),
49643
+ /* @__PURE__ */ jsx382("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
49644
+ /* @__PURE__ */ jsx382("span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
49705
49645
  ] }),
49706
- /* @__PURE__ */ jsx383("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx383("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49646
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49707
49647
  ] }),
49708
- /* @__PURE__ */ jsx383("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx383("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49648
+ /* @__PURE__ */ jsx382("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx382("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49709
49649
  ] });
49710
49650
  }
49711
49651
 
49712
49652
  // src/components/chat/entity-cards/data-room-doc-card.tsx
49713
49653
  import { ExternalLink as ExternalLink11 } from "lucide-react";
49714
- import { Fragment as Fragment83, jsx as jsx384, jsxs as jsxs304 } from "react/jsx-runtime";
49654
+ import { Fragment as Fragment83, jsx as jsx383, jsxs as jsxs303 } from "react/jsx-runtime";
49715
49655
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
49716
- const body = /* @__PURE__ */ jsxs304(Fragment83, { children: [
49717
- /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
49718
- /* @__PURE__ */ jsxs304("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49719
- /* @__PURE__ */ jsx384("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49720
- /* @__PURE__ */ jsx384(StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
49656
+ const body = /* @__PURE__ */ jsxs303(Fragment83, { children: [
49657
+ /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
49658
+ /* @__PURE__ */ jsxs303("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49659
+ /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49660
+ /* @__PURE__ */ jsx383(StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
49721
49661
  ] }),
49722
- item.path ? /* @__PURE__ */ jsxs304("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49723
- /* @__PURE__ */ jsx384("span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
49724
- /* @__PURE__ */ jsx384("span", { className: "min-w-0 truncate font-mono", children: item.path })
49662
+ item.path ? /* @__PURE__ */ jsxs303("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49663
+ /* @__PURE__ */ jsx383("span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
49664
+ /* @__PURE__ */ jsx383("span", { className: "min-w-0 truncate font-mono", children: item.path })
49725
49665
  ] }) : null,
49726
- item.preview ? /* @__PURE__ */ jsx384("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx384("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null
49666
+ item.preview ? /* @__PURE__ */ jsx383("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx383("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null
49727
49667
  ] }),
49728
- anchorProps?.href ? /* @__PURE__ */ jsx384("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx384(ExternalLink11, { className: "w-3.5 h-3.5" }) }) : null
49668
+ anchorProps?.href ? /* @__PURE__ */ jsx383("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx383(ExternalLink11, { className: "w-3.5 h-3.5" }) }) : null
49729
49669
  ] });
49730
49670
  if (!anchorProps) {
49731
- return /* @__PURE__ */ jsx384("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49671
+ return /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49732
49672
  }
49733
- return /* @__PURE__ */ jsx384("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49673
+ return /* @__PURE__ */ jsx383("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49734
49674
  }
49735
49675
  function DataRoomDocCardSkeleton({ className }) {
49736
- return /* @__PURE__ */ jsxs304("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49737
- /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
49738
- /* @__PURE__ */ jsxs304("span", { className: "flex items-center gap-1.5 min-w-0", children: [
49739
- /* @__PURE__ */ jsx384("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49740
- /* @__PURE__ */ jsx384("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49676
+ return /* @__PURE__ */ jsxs303("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49677
+ /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
49678
+ /* @__PURE__ */ jsxs303("span", { className: "flex items-center gap-1.5 min-w-0", children: [
49679
+ /* @__PURE__ */ jsx383("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49680
+ /* @__PURE__ */ jsx383("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49741
49681
  ] }),
49742
- /* @__PURE__ */ jsx384("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49743
- /* @__PURE__ */ jsxs304("span", { className: "flex flex-col gap-0 min-w-0", children: [
49744
- /* @__PURE__ */ jsx384("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49745
- /* @__PURE__ */ jsx384("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
49682
+ /* @__PURE__ */ jsx383("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49683
+ /* @__PURE__ */ jsxs303("span", { className: "flex flex-col gap-0 min-w-0", children: [
49684
+ /* @__PURE__ */ jsx383("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49685
+ /* @__PURE__ */ jsx383("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
49746
49686
  ] })
49747
49687
  ] }),
49748
- /* @__PURE__ */ jsx384("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx384("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49688
+ /* @__PURE__ */ jsx383("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx383("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49749
49689
  ] });
49750
49690
  }
49751
49691
 
49752
49692
  // src/components/chat/entity-cards/program-card.tsx
49753
- import { useState as useState117 } from "react";
49693
+ import { useState as useState116 } from "react";
49754
49694
 
49755
49695
  // node_modules/date-fns/toDate.mjs
49756
49696
  function toDate2(argument) {
@@ -51323,42 +51263,42 @@ function cleanEscapedString(input) {
51323
51263
  init_button();
51324
51264
  import { ExternalLink as ExternalLink12, Clock as Clock2, Play as Play4, Video as Video5 } from "lucide-react";
51325
51265
  init_cn();
51326
- import { Fragment as Fragment84, jsx as jsx385, jsxs as jsxs305 } from "react/jsx-runtime";
51266
+ import { Fragment as Fragment84, jsx as jsx384, jsxs as jsxs304 } from "react/jsx-runtime";
51327
51267
  function formatUtc(date, fmt) {
51328
51268
  return format2(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
51329
51269
  }
51330
51270
  function ProgramCardSkeleton({ size: size2 = "default" }) {
51331
51271
  if (size2 === "sm") {
51332
- return /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
51333
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51334
- /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_TEXT_COL, children: [
51335
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx385("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51336
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
51337
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51272
+ return /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
51273
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51274
+ /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
51275
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx384("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51276
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx384("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
51277
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx384("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51338
51278
  ] }),
51339
- /* @__PURE__ */ jsx385("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx385("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
51279
+ /* @__PURE__ */ jsx384("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx384("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
51340
51280
  ] });
51341
51281
  }
51342
- return /* @__PURE__ */ jsxs305(
51282
+ return /* @__PURE__ */ jsxs304(
51343
51283
  "div",
51344
51284
  {
51345
51285
  className: "border border-ods-border rounded-lg overflow-hidden flex flex-col animate-pulse",
51346
51286
  style: { backgroundColor: "var(--ods-system-greys-black)" },
51347
51287
  children: [
51348
- /* @__PURE__ */ jsx385("div", { className: "p-6 flex-1", children: /* @__PURE__ */ jsxs305("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51349
- /* @__PURE__ */ jsx385("div", { className: "w-full md:w-[180px] h-[180px] bg-ods-bg rounded-lg flex-shrink-0" }),
51350
- /* @__PURE__ */ jsxs305("div", { className: "flex-1 min-w-0 flex flex-col gap-3", children: [
51351
- /* @__PURE__ */ jsx385("div", { className: "h-7 w-3/4 bg-ods-bg rounded" }),
51352
- /* @__PURE__ */ jsx385("div", { className: "h-7 w-1/2 bg-ods-bg rounded" }),
51353
- /* @__PURE__ */ jsx385("div", { className: "h-4 w-1/3 bg-ods-bg/60 rounded" }),
51354
- /* @__PURE__ */ jsxs305("div", { className: "space-y-2", children: [
51355
- /* @__PURE__ */ jsx385("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
51356
- /* @__PURE__ */ jsx385("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
51357
- /* @__PURE__ */ jsx385("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
51288
+ /* @__PURE__ */ jsx384("div", { className: "p-6 flex-1", children: /* @__PURE__ */ jsxs304("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51289
+ /* @__PURE__ */ jsx384("div", { className: "w-full md:w-[180px] h-[180px] bg-ods-bg rounded-lg flex-shrink-0" }),
51290
+ /* @__PURE__ */ jsxs304("div", { className: "flex-1 min-w-0 flex flex-col gap-3", children: [
51291
+ /* @__PURE__ */ jsx384("div", { className: "h-7 w-3/4 bg-ods-bg rounded" }),
51292
+ /* @__PURE__ */ jsx384("div", { className: "h-7 w-1/2 bg-ods-bg rounded" }),
51293
+ /* @__PURE__ */ jsx384("div", { className: "h-4 w-1/3 bg-ods-bg/60 rounded" }),
51294
+ /* @__PURE__ */ jsxs304("div", { className: "space-y-2", children: [
51295
+ /* @__PURE__ */ jsx384("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
51296
+ /* @__PURE__ */ jsx384("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
51297
+ /* @__PURE__ */ jsx384("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
51358
51298
  ] })
51359
51299
  ] })
51360
51300
  ] }) }),
51361
- /* @__PURE__ */ jsx385("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx385("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsx385("div", { className: "h-9 w-40 bg-ods-bg rounded" }) }) })
51301
+ /* @__PURE__ */ jsx384("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx384("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsx384("div", { className: "h-9 w-40 bg-ods-bg rounded" }) }) })
51362
51302
  ]
51363
51303
  }
51364
51304
  );
@@ -51387,8 +51327,8 @@ function getHosts(hosts) {
51387
51327
  return [];
51388
51328
  }
51389
51329
  function MediaGallery({ images, title }) {
51390
- const [selectedImageIndex, setSelectedImageIndex] = useState117(null);
51391
- const [isModalOpen, setIsModalOpen] = useState117(false);
51330
+ const [selectedImageIndex, setSelectedImageIndex] = useState116(null);
51331
+ const [isModalOpen, setIsModalOpen] = useState116(false);
51392
51332
  const openImageModal = (index, event) => {
51393
51333
  if (event) event.stopPropagation();
51394
51334
  setSelectedImageIndex(index);
@@ -51398,14 +51338,14 @@ function MediaGallery({ images, title }) {
51398
51338
  setIsModalOpen(false);
51399
51339
  setSelectedImageIndex(null);
51400
51340
  };
51401
- return /* @__PURE__ */ jsxs305(Fragment84, { children: [
51402
- /* @__PURE__ */ jsx385("div", { className: "p-6 pt-4", children: /* @__PURE__ */ jsx385("div", { className: "overflow-x-auto mb-4", children: /* @__PURE__ */ jsx385("div", { className: "flex gap-3 pb-2", style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ jsxs305(
51341
+ return /* @__PURE__ */ jsxs304(Fragment84, { children: [
51342
+ /* @__PURE__ */ jsx384("div", { className: "p-6 pt-4", children: /* @__PURE__ */ jsx384("div", { className: "overflow-x-auto mb-4", children: /* @__PURE__ */ jsx384("div", { className: "flex gap-3 pb-2", style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ jsxs304(
51403
51343
  "div",
51404
51344
  {
51405
51345
  className: "flex-shrink-0 w-24 h-24 relative rounded-md overflow-hidden cursor-pointer group/thumb",
51406
51346
  onClick: (e) => openImageModal(index, e),
51407
51347
  children: [
51408
- /* @__PURE__ */ jsx385(
51348
+ /* @__PURE__ */ jsx384(
51409
51349
  next_image_default,
51410
51350
  {
51411
51351
  src: mediaItem.media_url,
@@ -51417,12 +51357,12 @@ function MediaGallery({ images, title }) {
51417
51357
  unoptimized: true
51418
51358
  }
51419
51359
  ),
51420
- /* @__PURE__ */ jsx385("div", { className: "absolute inset-0 bg-black/20 opacity-0 group-hover/thumb:opacity-100 transition-opacity duration-200 flex items-center justify-center", children: /* @__PURE__ */ jsx385("div", { className: "w-6 h-6 rounded-full bg-white/90 flex items-center justify-center", children: /* @__PURE__ */ jsx385("span", { className: "text-black text-sm", children: "+" }) }) })
51360
+ /* @__PURE__ */ jsx384("div", { className: "absolute inset-0 bg-black/20 opacity-0 group-hover/thumb:opacity-100 transition-opacity duration-200 flex items-center justify-center", children: /* @__PURE__ */ jsx384("div", { className: "w-6 h-6 rounded-full bg-white/90 flex items-center justify-center", children: /* @__PURE__ */ jsx384("span", { className: "text-black text-sm", children: "+" }) }) })
51421
51361
  ]
51422
51362
  },
51423
51363
  mediaItem.id
51424
51364
  )) }) }) }),
51425
- /* @__PURE__ */ jsx385(
51365
+ /* @__PURE__ */ jsx384(
51426
51366
  ImageGalleryModal,
51427
51367
  {
51428
51368
  images: images.map((img) => img.media_url),
@@ -51489,7 +51429,7 @@ function ProgramCard({
51489
51429
  if (size2 === "portrait") {
51490
51430
  const profile = programItemToStripProfile(item);
51491
51431
  const dateMeta = [compactDate, compactTypeMeta()].filter(Boolean).join(" \xB7 ");
51492
- return /* @__PURE__ */ jsx385(
51432
+ return /* @__PURE__ */ jsx384(
51493
51433
  EntityPortraitCard,
51494
51434
  {
51495
51435
  href,
@@ -51513,9 +51453,9 @@ function ProgramCard({
51513
51453
  const subtitleParts = [itemDate2, typeMeta, config.labels?.singular].filter(
51514
51454
  (s) => typeof s === "string" && s.length > 0
51515
51455
  );
51516
- return /* @__PURE__ */ jsxs305("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
51517
- /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
51518
- compactCover ? /* @__PURE__ */ jsx385(
51456
+ return /* @__PURE__ */ jsxs304("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
51457
+ /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
51458
+ compactCover ? /* @__PURE__ */ jsx384(
51519
51459
  next_image_default,
51520
51460
  {
51521
51461
  src: compactCover,
@@ -51525,39 +51465,39 @@ function ProgramCard({
51525
51465
  className: "object-contain",
51526
51466
  unoptimized: true
51527
51467
  }
51528
- ) : /* @__PURE__ */ jsx385("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ jsx385(Play4, { className: "w-4 h-4" }) : config.type === "webinar" ? /* @__PURE__ */ jsx385(Video5, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx385(Clock2, { className: "w-4 h-4" }) }),
51529
- config.type === "podcast" && !isScheduled && compactCover && /* @__PURE__ */ jsx385("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx385(Play4, { className: "w-4 h-4 text-ods-text-on-dark", fill: "white" }) })
51468
+ ) : /* @__PURE__ */ jsx384("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ jsx384(Play4, { className: "w-4 h-4" }) : config.type === "webinar" ? /* @__PURE__ */ jsx384(Video5, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx384(Clock2, { className: "w-4 h-4" }) }),
51469
+ config.type === "podcast" && !isScheduled && compactCover && /* @__PURE__ */ jsx384("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx384(Play4, { className: "w-4 h-4 text-ods-text-on-dark", fill: "white" }) })
51530
51470
  ] }),
51531
- /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_TEXT_COL, children: [
51532
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx385("span", { className: cn(COMPACT_CARD_TITLE, "font-heading"), children: item.title }) }),
51533
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: "truncate text-h6 text-ods-accent", children: subtitleParts.join(" \xB7 ") }) }),
51534
- /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
51471
+ /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
51472
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx384("span", { className: cn(COMPACT_CARD_TITLE, "font-heading"), children: item.title }) }),
51473
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx384("span", { className: "truncate text-h6 text-ods-accent", children: subtitleParts.join(" \xB7 ") }) }),
51474
+ /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx384("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
51535
51475
  ] }),
51536
- /* @__PURE__ */ jsx385("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx385(ExternalLink12, { className: "w-3.5 h-3.5" }) })
51476
+ /* @__PURE__ */ jsx384("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx384(ExternalLink12, { className: "w-3.5 h-3.5" }) })
51537
51477
  ] });
51538
51478
  }
51539
51479
  const itemDate = new Date(item.date);
51540
51480
  const dateFormat = formatUtc(itemDate, "EEEE d MMMM");
51541
51481
  const defaultRenderMeta = () => {
51542
51482
  if (config.type === "podcast" && "duration_seconds" in item && !isScheduled) {
51543
- return /* @__PURE__ */ jsxs305(Fragment84, { children: [
51544
- /* @__PURE__ */ jsx385(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
51545
- /* @__PURE__ */ jsx385("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
51483
+ return /* @__PURE__ */ jsxs304(Fragment84, { children: [
51484
+ /* @__PURE__ */ jsx384(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
51485
+ /* @__PURE__ */ jsx384("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
51546
51486
  ] });
51547
51487
  }
51548
51488
  if (config.type === "event" && "location_name" in item) {
51549
- return /* @__PURE__ */ jsx385("span", { className: "font-body text-ods-text-secondary", children: item.location_name || "Location TBD" });
51489
+ return /* @__PURE__ */ jsx384("span", { className: "font-body text-ods-text-secondary", children: item.location_name || "Location TBD" });
51550
51490
  }
51551
51491
  if (config.type === "webinar" && "start_at" in item) {
51552
51492
  const webinarItem = item;
51553
51493
  const duration = formatDurationFromRange(webinarItem.start_at, webinarItem.end_at);
51554
- return /* @__PURE__ */ jsxs305(Fragment84, { children: [
51555
- /* @__PURE__ */ jsx385(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
51556
- /* @__PURE__ */ jsxs305("span", { className: "font-body text-ods-text-secondary", children: [
51494
+ return /* @__PURE__ */ jsxs304(Fragment84, { children: [
51495
+ /* @__PURE__ */ jsx384(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
51496
+ /* @__PURE__ */ jsxs304("span", { className: "font-body text-ods-text-secondary", children: [
51557
51497
  formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null),
51558
51498
  duration && ` \xB7 ${duration}`
51559
51499
  ] }),
51560
- webinarItem.timezone && /* @__PURE__ */ jsxs305("span", { className: "text-h6 text-ods-text-secondary", children: [
51500
+ webinarItem.timezone && /* @__PURE__ */ jsxs304("span", { className: "text-h6 text-ods-text-secondary", children: [
51561
51501
  "(",
51562
51502
  webinarItem.timezone,
51563
51503
  ")"
@@ -51566,9 +51506,9 @@ function ProgramCard({
51566
51506
  }
51567
51507
  return null;
51568
51508
  };
51569
- const cardHeader = /* @__PURE__ */ jsx385("div", { className: "p-6 border-ods-border flex-1", children: /* @__PURE__ */ jsxs305("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51570
- coverImage && /* @__PURE__ */ jsx385("div", { className: "w-full md:w-[180px] flex-shrink-0 flex items-center", children: /* @__PURE__ */ jsxs305("div", { className: "relative rounded-lg overflow-hidden", children: [
51571
- /* @__PURE__ */ jsx385(
51509
+ const cardHeader = /* @__PURE__ */ jsx384("div", { className: "p-6 border-ods-border flex-1", children: /* @__PURE__ */ jsxs304("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51510
+ coverImage && /* @__PURE__ */ jsx384("div", { className: "w-full md:w-[180px] flex-shrink-0 flex items-center", children: /* @__PURE__ */ jsxs304("div", { className: "relative rounded-lg overflow-hidden", children: [
51511
+ /* @__PURE__ */ jsx384(
51572
51512
  next_image_default,
51573
51513
  {
51574
51514
  src: coverImage,
@@ -51579,23 +51519,23 @@ function ProgramCard({
51579
51519
  unoptimized: true
51580
51520
  }
51581
51521
  ),
51582
- config.type === "podcast" && !isScheduled && /* @__PURE__ */ jsx385("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity rounded-lg", children: /* @__PURE__ */ jsx385(Play4, { className: "w-10 h-10 text-ods-text-on-dark", fill: "white" }) })
51522
+ config.type === "podcast" && !isScheduled && /* @__PURE__ */ jsx384("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity rounded-lg", children: /* @__PURE__ */ jsx384(Play4, { className: "w-10 h-10 text-ods-text-on-dark", fill: "white" }) })
51583
51523
  ] }) }),
51584
- /* @__PURE__ */ jsxs305("div", { className: "flex-1 min-w-0 flex flex-col", children: [
51585
- /* @__PURE__ */ jsx385("h3", { className: "text-h2 text-ods-text-primary mb-3 min-h-[3rem] md:min-h-[3.5rem] line-clamp-2 flex items-center", children: item.title }),
51586
- /* @__PURE__ */ jsxs305("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
51587
- /* @__PURE__ */ jsx385("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
51588
- renderMeta ? /* @__PURE__ */ jsxs305(Fragment84, { children: [
51589
- /* @__PURE__ */ jsx385("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51524
+ /* @__PURE__ */ jsxs304("div", { className: "flex-1 min-w-0 flex flex-col", children: [
51525
+ /* @__PURE__ */ jsx384("h3", { className: "text-h2 text-ods-text-primary mb-3 min-h-[3rem] md:min-h-[3.5rem] line-clamp-2 flex items-center", children: item.title }),
51526
+ /* @__PURE__ */ jsxs304("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
51527
+ /* @__PURE__ */ jsx384("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
51528
+ renderMeta ? /* @__PURE__ */ jsxs304(Fragment84, { children: [
51529
+ /* @__PURE__ */ jsx384("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51590
51530
  renderMeta(item)
51591
- ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs305(Fragment84, { children: [
51592
- /* @__PURE__ */ jsx385("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51593
- /* @__PURE__ */ jsx385("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
51531
+ ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs304(Fragment84, { children: [
51532
+ /* @__PURE__ */ jsx384("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51533
+ /* @__PURE__ */ jsx384("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
51594
51534
  ] })
51595
51535
  ] }),
51596
- /* @__PURE__ */ jsx385("div", { className: "flex-1", children: /* @__PURE__ */ jsx385("p", { className: "text-h6 text-ods-text-secondary line-clamp-3 min-h-[4.5rem]", children: item.description }) })
51536
+ /* @__PURE__ */ jsx384("div", { className: "flex-1", children: /* @__PURE__ */ jsx384("p", { className: "text-h6 text-ods-text-secondary line-clamp-3 min-h-[4.5rem]", children: item.description }) })
51597
51537
  ] }),
51598
- hosts.length > 0 && /* @__PURE__ */ jsx385("div", { className: "md:text-right", children: /* @__PURE__ */ jsx385("div", { className: "flex flex-wrap md:justify-end gap-2", children: hosts.map((host, index) => /* @__PURE__ */ jsx385(
51538
+ hosts.length > 0 && /* @__PURE__ */ jsx384("div", { className: "md:text-right", children: /* @__PURE__ */ jsx384("div", { className: "flex flex-wrap md:justify-end gap-2", children: hosts.map((host, index) => /* @__PURE__ */ jsx384(
51599
51539
  SquareAvatar,
51600
51540
  {
51601
51541
  variant: "round",
@@ -51613,7 +51553,7 @@ function ProgramCard({
51613
51553
  );
51614
51554
  const cardFrameStyle = { backgroundColor: "var(--ods-system-greys-black)" };
51615
51555
  if (wholeCardClickable) {
51616
- return /* @__PURE__ */ jsxs305(
51556
+ return /* @__PURE__ */ jsxs304(
51617
51557
  "a",
51618
51558
  {
51619
51559
  href,
@@ -51624,8 +51564,8 @@ function ProgramCard({
51624
51564
  "aria-label": `Open ${item.title}`,
51625
51565
  children: [
51626
51566
  cardHeader,
51627
- images.length > 0 && /* @__PURE__ */ jsx385(MediaGallery, { images, title: item.title }),
51628
- /* @__PURE__ */ jsx385("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx385("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs305(
51567
+ images.length > 0 && /* @__PURE__ */ jsx384(MediaGallery, { images, title: item.title }),
51568
+ /* @__PURE__ */ jsx384("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx384("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs304(
51629
51569
  "span",
51630
51570
  {
51631
51571
  className: "inline-flex items-center gap-2 px-4 py-2 rounded-md border border-ods-accent text-ods-accent text-h6",
@@ -51634,7 +51574,7 @@ function ProgramCard({
51634
51574
  "View ",
51635
51575
  config.labels.singular,
51636
51576
  " Details",
51637
- /* @__PURE__ */ jsx385(ExternalLink12, { className: "w-5 h-5" })
51577
+ /* @__PURE__ */ jsx384(ExternalLink12, { className: "w-5 h-5" })
51638
51578
  ]
51639
51579
  }
51640
51580
  ) }) })
@@ -51642,17 +51582,17 @@ function ProgramCard({
51642
51582
  }
51643
51583
  );
51644
51584
  }
51645
- return /* @__PURE__ */ jsxs305("div", { className: cardFrameClass, style: cardFrameStyle, children: [
51646
- /* @__PURE__ */ jsx385("a", { href, target, rel, className: "block", "aria-label": `Open ${item.title}`, children: cardHeader }),
51647
- images.length > 0 && /* @__PURE__ */ jsx385(MediaGallery, { images, title: item.title }),
51648
- /* @__PURE__ */ jsx385("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx385("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs305(
51585
+ return /* @__PURE__ */ jsxs304("div", { className: cardFrameClass, style: cardFrameStyle, children: [
51586
+ /* @__PURE__ */ jsx384("a", { href, target, rel, className: "block", "aria-label": `Open ${item.title}`, children: cardHeader }),
51587
+ images.length > 0 && /* @__PURE__ */ jsx384(MediaGallery, { images, title: item.title }),
51588
+ /* @__PURE__ */ jsx384("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx384("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs304(
51649
51589
  Button,
51650
51590
  {
51651
51591
  variant: "outline",
51652
51592
  size: "small-legacy",
51653
51593
  href,
51654
51594
  openInNewTab: target === "_blank",
51655
- rightIcon: /* @__PURE__ */ jsx385(ExternalLink12, { className: "w-5 h-5" }),
51595
+ rightIcon: /* @__PURE__ */ jsx384(ExternalLink12, { className: "w-5 h-5" }),
51656
51596
  children: [
51657
51597
  "View ",
51658
51598
  config.labels.singular,
@@ -51665,48 +51605,48 @@ function ProgramCard({
51665
51605
 
51666
51606
  // src/components/chat/entity-cards/campaign-card-admin.tsx
51667
51607
  import { Megaphone as Megaphone3 } from "lucide-react";
51668
- import { Fragment as Fragment85, jsx as jsx386, jsxs as jsxs306 } from "react/jsx-runtime";
51608
+ import { Fragment as Fragment85, jsx as jsx385, jsxs as jsxs305 } from "react/jsx-runtime";
51669
51609
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
51670
51610
  const goalsCount = campaign.goals?.length || 0;
51671
- const innerChildren = /* @__PURE__ */ jsxs306(Fragment85, { children: [
51672
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx386(Megaphone3, { className: "h-5 w-5" }) }),
51673
- /* @__PURE__ */ jsxs306("span", { className: COMPACT_CARD_TEXT_COL, children: [
51674
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
51675
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_SUBTITLE, children: [
51611
+ const innerChildren = /* @__PURE__ */ jsxs305(Fragment85, { children: [
51612
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx385(Megaphone3, { className: "h-5 w-5" }) }),
51613
+ /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_TEXT_COL, children: [
51614
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
51615
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_SUBTITLE, children: [
51676
51616
  campaign.start_date ? formatDateShort(campaign.start_date) : null,
51677
51617
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
51678
51618
  "Marketing campaign"
51679
51619
  ].filter(Boolean).join(" \xB7 ") }) }),
51680
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_SUMMARY, children: campaign.description || COMPACT_CARD_ROW_FILLER }) })
51620
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_SUMMARY, children: campaign.description || COMPACT_CARD_ROW_FILLER }) })
51681
51621
  ] })
51682
51622
  ] });
51683
51623
  if (anchorProps) {
51684
- return /* @__PURE__ */ jsx386("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: innerChildren });
51624
+ return /* @__PURE__ */ jsx385("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: innerChildren });
51685
51625
  }
51686
- return /* @__PURE__ */ jsx386("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: innerChildren });
51626
+ return /* @__PURE__ */ jsx385("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: innerChildren });
51687
51627
  }
51688
51628
  function CampaignCardAdminSkeleton({ className }) {
51689
- return /* @__PURE__ */ jsxs306("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51690
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51691
- /* @__PURE__ */ jsxs306("span", { className: COMPACT_CARD_TEXT_COL, children: [
51692
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx386("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51693
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx386("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
51694
- /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx386("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51629
+ return /* @__PURE__ */ jsxs305("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51630
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51631
+ /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_TEXT_COL, children: [
51632
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx385("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51633
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
51634
+ /* @__PURE__ */ jsx385("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx385("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51695
51635
  ] })
51696
51636
  ] });
51697
51637
  }
51698
51638
 
51699
51639
  // src/components/chat/entity-cards/generic-entity-card.tsx
51700
51640
  import { ExternalLink as ExternalLink13 } from "lucide-react";
51701
- import { Fragment as Fragment86, jsx as jsx387, jsxs as jsxs307 } from "react/jsx-runtime";
51641
+ import { Fragment as Fragment86, jsx as jsx386, jsxs as jsxs306 } from "react/jsx-runtime";
51702
51642
  function GenericEntityCard({ item, className, anchorProps }) {
51703
51643
  const href = safeHref(item.url);
51704
51644
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
51705
- const body = /* @__PURE__ */ jsxs307(Fragment86, { children: [
51706
- /* @__PURE__ */ jsxs307("span", { className: COMPACT_CARD_TEXT_COL, children: [
51707
- /* @__PURE__ */ jsxs307("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
51708
- /* @__PURE__ */ jsx387("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
51709
- item.badge ? /* @__PURE__ */ jsx387(
51645
+ const body = /* @__PURE__ */ jsxs306(Fragment86, { children: [
51646
+ /* @__PURE__ */ jsxs306("span", { className: COMPACT_CARD_TEXT_COL, children: [
51647
+ /* @__PURE__ */ jsxs306("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
51648
+ /* @__PURE__ */ jsx386("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
51649
+ item.badge ? /* @__PURE__ */ jsx386(
51710
51650
  StatusBadge,
51711
51651
  {
51712
51652
  text: item.badge.text,
@@ -51716,44 +51656,44 @@ function GenericEntityCard({ item, className, anchorProps }) {
51716
51656
  }
51717
51657
  ) : null
51718
51658
  ] }),
51719
- item.subtitle ? /* @__PURE__ */ jsx387("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: /* @__PURE__ */ jsx387("span", { className: "min-w-0 truncate font-mono", children: item.subtitle }) }) : null,
51720
- item.preview ? /* @__PURE__ */ jsx387("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx387("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null,
51721
- item.facts && item.facts.length > 0 ? /* @__PURE__ */ jsx387("span", { className: "flex flex-wrap items-center gap-x-3 gap-y-0.5 min-w-0 text-h6", children: item.facts.map((f, i) => /* @__PURE__ */ jsxs307("span", { className: "inline-flex items-center gap-1 min-w-0 truncate", children: [
51722
- /* @__PURE__ */ jsxs307("span", { className: "text-ods-text-secondary/70 shrink-0", children: [
51659
+ item.subtitle ? /* @__PURE__ */ jsx386("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: /* @__PURE__ */ jsx386("span", { className: "min-w-0 truncate font-mono", children: item.subtitle }) }) : null,
51660
+ item.preview ? /* @__PURE__ */ jsx386("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx386("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null,
51661
+ item.facts && item.facts.length > 0 ? /* @__PURE__ */ jsx386("span", { className: "flex flex-wrap items-center gap-x-3 gap-y-0.5 min-w-0 text-h6", children: item.facts.map((f, i) => /* @__PURE__ */ jsxs306("span", { className: "inline-flex items-center gap-1 min-w-0 truncate", children: [
51662
+ /* @__PURE__ */ jsxs306("span", { className: "text-ods-text-secondary/70 shrink-0", children: [
51723
51663
  f.label,
51724
51664
  ":"
51725
51665
  ] }),
51726
- /* @__PURE__ */ jsx387("span", { className: "text-ods-text-primary font-medium truncate", children: f.value })
51666
+ /* @__PURE__ */ jsx386("span", { className: "text-ods-text-primary font-medium truncate", children: f.value })
51727
51667
  ] }, i)) }) : null,
51728
- dateText ? /* @__PURE__ */ jsx387("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx387("span", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsx387("span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
51668
+ dateText ? /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx386("span", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsx386("span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
51729
51669
  ] }),
51730
- href ? /* @__PURE__ */ jsx387("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx387(ExternalLink13, { className: "w-3.5 h-3.5" }) }) : null
51670
+ href ? /* @__PURE__ */ jsx386("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx386(ExternalLink13, { className: "w-3.5 h-3.5" }) }) : null
51731
51671
  ] });
51732
51672
  if (anchorProps) {
51733
- return /* @__PURE__ */ jsx387("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
51673
+ return /* @__PURE__ */ jsx386("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
51734
51674
  }
51735
- return href ? /* @__PURE__ */ jsx387("a", { href, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body }) : /* @__PURE__ */ jsx387("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
51675
+ return href ? /* @__PURE__ */ jsx386("a", { href, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body }) : /* @__PURE__ */ jsx386("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
51736
51676
  }
51737
51677
  function GenericEntityCardSkeleton({ className }) {
51738
- return /* @__PURE__ */ jsxs307("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51739
- /* @__PURE__ */ jsxs307("span", { className: COMPACT_CARD_TEXT_COL, children: [
51740
- /* @__PURE__ */ jsxs307("span", { className: "flex items-center gap-1.5 min-w-0", children: [
51741
- /* @__PURE__ */ jsx387("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
51742
- /* @__PURE__ */ jsx387("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
51678
+ return /* @__PURE__ */ jsxs306("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51679
+ /* @__PURE__ */ jsxs306("span", { className: COMPACT_CARD_TEXT_COL, children: [
51680
+ /* @__PURE__ */ jsxs306("span", { className: "flex items-center gap-1.5 min-w-0", children: [
51681
+ /* @__PURE__ */ jsx386("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
51682
+ /* @__PURE__ */ jsx386("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
51743
51683
  ] }),
51744
- /* @__PURE__ */ jsx387("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
51745
- /* @__PURE__ */ jsxs307("span", { className: "flex flex-col gap-0 min-w-0", children: [
51746
- /* @__PURE__ */ jsx387("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
51747
- /* @__PURE__ */ jsx387("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
51684
+ /* @__PURE__ */ jsx386("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
51685
+ /* @__PURE__ */ jsxs306("span", { className: "flex flex-col gap-0 min-w-0", children: [
51686
+ /* @__PURE__ */ jsx386("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
51687
+ /* @__PURE__ */ jsx386("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
51748
51688
  ] }),
51749
- /* @__PURE__ */ jsx387("span", { className: "h-3 w-1/4 rounded bg-ods-bg/70" })
51689
+ /* @__PURE__ */ jsx386("span", { className: "h-3 w-1/4 rounded bg-ods-bg/70" })
51750
51690
  ] }),
51751
- /* @__PURE__ */ jsx387("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx387("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
51691
+ /* @__PURE__ */ jsx386("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx386("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
51752
51692
  ] });
51753
51693
  }
51754
51694
 
51755
51695
  // src/components/chat/entity-cards/dispatch.tsx
51756
- import React151 from "react";
51696
+ import React150 from "react";
51757
51697
  init_next_navigation();
51758
51698
 
51759
51699
  // src/components/chat/hooks/use-chat-card-item.ts
@@ -51940,14 +51880,14 @@ function resolveFetchedCardHref({
51940
51880
 
51941
51881
  // src/components/chat/entity-cards/deleted-data-card.tsx
51942
51882
  import { Trash2 as Trash27 } from "lucide-react";
51943
- import { jsx as jsx388, jsxs as jsxs308 } from "react/jsx-runtime";
51883
+ import { jsx as jsx387, jsxs as jsxs307 } from "react/jsx-runtime";
51944
51884
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
51945
51885
  const label = entityLabel || "Item";
51946
- return /* @__PURE__ */ jsxs308("div", { className: `${COMPACT_CARD_OUTER_STATIC} opacity-70 ${className ?? ""}`, children: [
51947
- /* @__PURE__ */ jsx388("div", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx388(Trash27, { className: "h-4 w-4 text-ods-text-secondary" }) }),
51948
- /* @__PURE__ */ jsxs308("div", { className: COMPACT_CARD_TEXT_COL, children: [
51949
- /* @__PURE__ */ jsx388("div", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx388("span", { className: `${COMPACT_CARD_TITLE} line-through text-ods-text-secondary`, children: title || `Deleted ${label.toLowerCase()}` }) }),
51950
- /* @__PURE__ */ jsx388("div", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsxs308("span", { className: "text-ods-text-secondary", children: [
51886
+ return /* @__PURE__ */ jsxs307("div", { className: `${COMPACT_CARD_OUTER_STATIC} opacity-70 ${className ?? ""}`, children: [
51887
+ /* @__PURE__ */ jsx387("div", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx387(Trash27, { className: "h-4 w-4 text-ods-text-secondary" }) }),
51888
+ /* @__PURE__ */ jsxs307("div", { className: COMPACT_CARD_TEXT_COL, children: [
51889
+ /* @__PURE__ */ jsx387("div", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx387("span", { className: `${COMPACT_CARD_TITLE} line-through text-ods-text-secondary`, children: title || `Deleted ${label.toLowerCase()}` }) }),
51890
+ /* @__PURE__ */ jsx387("div", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsxs307("span", { className: "text-ods-text-secondary", children: [
51951
51891
  label,
51952
51892
  " deleted",
51953
51893
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -51958,16 +51898,16 @@ function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
51958
51898
 
51959
51899
  // src/components/chat/mingo-info-card.tsx
51960
51900
  init_cn();
51961
- import { Fragment as Fragment87, jsx as jsx389, jsxs as jsxs309 } from "react/jsx-runtime";
51901
+ import { Fragment as Fragment87, jsx as jsx388, jsxs as jsxs308 } from "react/jsx-runtime";
51962
51902
  function CardMedia({
51963
51903
  imageSrc,
51964
51904
  imageAlt,
51965
51905
  icon
51966
51906
  }) {
51967
51907
  if (imageSrc) {
51968
- return /* @__PURE__ */ jsxs309("span", { className: "relative block size-10 shrink-0", children: [
51969
- /* @__PURE__ */ jsx389("span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-h6 text-ods-text-primary", children: getFirstLastInitials(imageAlt) || "?" }),
51970
- /* @__PURE__ */ jsx389(
51908
+ return /* @__PURE__ */ jsxs308("span", { className: "relative block size-10 shrink-0", children: [
51909
+ /* @__PURE__ */ jsx388("span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-h6 text-ods-text-primary", children: getFirstLastInitials(imageAlt) || "?" }),
51910
+ /* @__PURE__ */ jsx388(
51971
51911
  "img",
51972
51912
  {
51973
51913
  src: imageSrc,
@@ -51981,12 +51921,12 @@ function CardMedia({
51981
51921
  ] });
51982
51922
  }
51983
51923
  if (icon) {
51984
- return /* @__PURE__ */ jsx389("span", { className: "flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-md border border-ods-border bg-ods-bg text-ods-text-secondary", children: /* @__PURE__ */ jsx389("span", { className: "flex size-6 items-center justify-center", children: icon }) });
51924
+ return /* @__PURE__ */ jsx388("span", { className: "flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-md border border-ods-border bg-ods-bg text-ods-text-secondary", children: /* @__PURE__ */ jsx388("span", { className: "flex size-6 items-center justify-center", children: icon }) });
51985
51925
  }
51986
51926
  return null;
51987
51927
  }
51988
51928
  function MingoInfoCardSkeleton({ className }) {
51989
- return /* @__PURE__ */ jsxs309(
51929
+ return /* @__PURE__ */ jsxs308(
51990
51930
  "span",
51991
51931
  {
51992
51932
  className: cn(
@@ -51994,12 +51934,12 @@ function MingoInfoCardSkeleton({ className }) {
51994
51934
  className
51995
51935
  ),
51996
51936
  children: [
51997
- /* @__PURE__ */ jsx389("span", { className: "block size-10 shrink-0 rounded-md border border-ods-border bg-ods-bg" }),
51998
- /* @__PURE__ */ jsxs309("span", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1.5", children: [
51999
- /* @__PURE__ */ jsx389("span", { className: "block h-4 w-1/2 rounded bg-ods-bg" }),
52000
- /* @__PURE__ */ jsx389("span", { className: "block h-3 w-3/4 rounded bg-ods-bg/60" })
51937
+ /* @__PURE__ */ jsx388("span", { className: "block size-10 shrink-0 rounded-md border border-ods-border bg-ods-bg" }),
51938
+ /* @__PURE__ */ jsxs308("span", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1.5", children: [
51939
+ /* @__PURE__ */ jsx388("span", { className: "block h-4 w-1/2 rounded bg-ods-bg" }),
51940
+ /* @__PURE__ */ jsx388("span", { className: "block h-3 w-3/4 rounded bg-ods-bg/60" })
52001
51941
  ] }),
52002
- /* @__PURE__ */ jsx389("span", { className: "block h-5 w-16 shrink-0 rounded bg-ods-bg/60" })
51942
+ /* @__PURE__ */ jsx388("span", { className: "block h-5 w-16 shrink-0 rounded bg-ods-bg/60" })
52003
51943
  ]
52004
51944
  }
52005
51945
  );
@@ -52021,16 +51961,16 @@ function MingoInfoCard({
52021
51961
  const hasMenu = !!menuGroups && menuGroups.length > 0;
52022
51962
  const isAnchor = !!anchorProps;
52023
51963
  const isInteractive = isAnchor || !!onClick;
52024
- const content = /* @__PURE__ */ jsxs309(Fragment87, { children: [
52025
- hasMedia && /* @__PURE__ */ jsx389(CardMedia, { imageSrc, imageAlt, icon }),
52026
- /* @__PURE__ */ jsxs309("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
52027
- /* @__PURE__ */ jsx389("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
52028
- description ? /* @__PURE__ */ jsx389("span", { className: "truncate text-h6 text-ods-text-secondary", children: description }) : null
51964
+ const content = /* @__PURE__ */ jsxs308(Fragment87, { children: [
51965
+ hasMedia && /* @__PURE__ */ jsx388(CardMedia, { imageSrc, imageAlt, icon }),
51966
+ /* @__PURE__ */ jsxs308("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
51967
+ /* @__PURE__ */ jsx388("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
51968
+ description ? /* @__PURE__ */ jsx388("span", { className: "truncate text-h6 text-ods-text-secondary", children: description }) : null
52029
51969
  ] }),
52030
51970
  status ? (
52031
51971
  // Reuse the shared Tag palette (single source of truth for colours)
52032
51972
  // without rendering Tag's `<div>` — span-only for `<p>` validity.
52033
- /* @__PURE__ */ jsx389("span", { className: cn(tagVariants({ variant: status.variant ?? "success" }), "shrink-0"), children: /* @__PURE__ */ jsx389("span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
51973
+ /* @__PURE__ */ jsx388("span", { className: cn(tagVariants({ variant: status.variant ?? "success" }), "shrink-0"), children: /* @__PURE__ */ jsx388("span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
52034
51974
  ) : null
52035
51975
  ] });
52036
51976
  const contentClass = cn(
@@ -52038,7 +51978,7 @@ function MingoInfoCard({
52038
51978
  hasMenu && "border-r border-ods-border",
52039
51979
  isInteractive && "transition-colors hover:bg-ods-bg-hover active:bg-ods-bg-active focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent cursor-pointer"
52040
51980
  );
52041
- return /* @__PURE__ */ jsxs309(
51981
+ return /* @__PURE__ */ jsxs308(
52042
51982
  "span",
52043
51983
  {
52044
51984
  className: cn(
@@ -52046,20 +51986,20 @@ function MingoInfoCard({
52046
51986
  className
52047
51987
  ),
52048
51988
  children: [
52049
- isAnchor ? /* @__PURE__ */ jsx389("a", { ...anchorProps, className: cn(contentClass, "no-underline"), children: content }) : onClick ? /* @__PURE__ */ jsx389("button", { type: "button", onClick, className: contentClass, children: content }) : /* @__PURE__ */ jsx389("span", { className: contentClass, children: content }),
52050
- hasMenu && /* @__PURE__ */ jsx389(
51989
+ isAnchor ? /* @__PURE__ */ jsx388("a", { ...anchorProps, className: cn(contentClass, "no-underline"), children: content }) : onClick ? /* @__PURE__ */ jsx388("button", { type: "button", onClick, className: contentClass, children: content }) : /* @__PURE__ */ jsx388("span", { className: contentClass, children: content }),
51990
+ hasMenu && /* @__PURE__ */ jsx388(
52051
51991
  ActionsMenuDropdown,
52052
51992
  {
52053
51993
  groups: menuGroups,
52054
51994
  triggerAriaLabel: menuAriaLabel,
52055
51995
  onCloseAutoFocus: (e) => e.preventDefault(),
52056
- customTrigger: /* @__PURE__ */ jsx389(
51996
+ customTrigger: /* @__PURE__ */ jsx388(
52057
51997
  "button",
52058
51998
  {
52059
51999
  type: "button",
52060
52000
  "aria-label": menuAriaLabel,
52061
52001
  className: "flex w-[56px] md:w-[68px] shrink-0 items-center justify-center self-stretch text-ods-text-secondary transition-colors hover:bg-ods-bg-hover hover:text-ods-text-primary active:bg-ods-bg-active active:text-ods-text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent",
52062
- children: /* @__PURE__ */ jsx389(Ellipsis01Icon, { size: 24 })
52002
+ children: /* @__PURE__ */ jsx388(Ellipsis01Icon, { size: 24 })
52063
52003
  }
52064
52004
  )
52065
52005
  }
@@ -52070,16 +52010,16 @@ function MingoInfoCard({
52070
52010
  }
52071
52011
 
52072
52012
  // src/components/chat/entity-cards/dispatch.tsx
52073
- import { Fragment as Fragment88, jsx as jsx390, jsxs as jsxs310 } from "react/jsx-runtime";
52013
+ import { Fragment as Fragment88, jsx as jsx389, jsxs as jsxs309 } from "react/jsx-runtime";
52074
52014
  function githubKindIcon(kind) {
52075
52015
  switch (kind) {
52076
52016
  case "pull_request":
52077
- return /* @__PURE__ */ jsx390(CodingPullRequestIcon, { size: 24 });
52017
+ return /* @__PURE__ */ jsx389(CodingPullRequestIcon, { size: 24 });
52078
52018
  case "pr_review":
52079
- return /* @__PURE__ */ jsx390(CodeIcon, { size: 24 });
52019
+ return /* @__PURE__ */ jsx389(CodeIcon, { size: 24 });
52080
52020
  case "commit":
52081
52021
  default:
52082
- return /* @__PURE__ */ jsx390(CodingCommitIcon, { size: 24 });
52022
+ return /* @__PURE__ */ jsx389(CodingCommitIcon, { size: 24 });
52083
52023
  }
52084
52024
  }
52085
52025
  function reviewStateToVariant(state) {
@@ -52108,7 +52048,7 @@ function GitHubChatCard({
52108
52048
  const idLabel = formatActivityId(chatRef.id, kind);
52109
52049
  const dateText = formatDateUTC(chatRef.date ?? null, { fallback: "", timezone: "local" });
52110
52050
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
52111
- return /* @__PURE__ */ jsx390(
52051
+ return /* @__PURE__ */ jsx389(
52112
52052
  MingoInfoCard,
52113
52053
  {
52114
52054
  title,
@@ -52135,12 +52075,12 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
52135
52075
  items.push({
52136
52076
  id: "open-details",
52137
52077
  label: openDetails?.label ?? "Open Details",
52138
- icon: openDetails?.icon ?? /* @__PURE__ */ jsx390(EyeIcon2, { size: 20 }),
52078
+ icon: openDetails?.icon ?? /* @__PURE__ */ jsx389(EyeIcon2, { size: 20 }),
52139
52079
  // Main row → open the entity (same tab, soft Link nav).
52140
52080
  href,
52141
52081
  // Trailing 40px ↗ side-button → open in a new tab.
52142
52082
  iconAction: {
52143
- icon: /* @__PURE__ */ jsx390(ArrowRightUpIcon, { size: 20 }),
52083
+ icon: /* @__PURE__ */ jsx389(ArrowRightUpIcon, { size: 20 }),
52144
52084
  "aria-label": "Open in new tab",
52145
52085
  href,
52146
52086
  openInNewTab: true
@@ -52217,12 +52157,12 @@ function CardLoadFailure({
52217
52157
  id,
52218
52158
  detail
52219
52159
  }) {
52220
- return /* @__PURE__ */ jsx390(
52160
+ return /* @__PURE__ */ jsx389(
52221
52161
  MingoInfoCard,
52222
52162
  {
52223
52163
  title: label,
52224
52164
  description: `${detail} \xB7 id: ${id}`,
52225
- icon: /* @__PURE__ */ jsx390(AlertTriangleIcon, { size: 24 }),
52165
+ icon: /* @__PURE__ */ jsx389(AlertTriangleIcon, { size: 24 }),
52226
52166
  status: { label: "FAILED", variant: "error" },
52227
52167
  menuAriaLabel: "Card failed to load"
52228
52168
  }
@@ -52257,17 +52197,17 @@ function HubspotTicketChatCard({
52257
52197
  const status = typeof chatRef.metadata?.status === "string" ? chatRef.metadata.status : void 0;
52258
52198
  const statusLabel = typeof chatRef.metadata?.statusLabel === "string" ? chatRef.metadata.statusLabel : void 0;
52259
52199
  const statusText = statusLabel ?? formatStatusToken(status);
52260
- return /* @__PURE__ */ jsx390(
52200
+ return /* @__PURE__ */ jsx389(
52261
52201
  MingoInfoCard,
52262
52202
  {
52263
52203
  title: chatRef.title,
52264
52204
  description: chatRef.preview ?? void 0,
52265
- icon: /* @__PURE__ */ jsx390(TagIcon, { size: 24 }),
52205
+ icon: /* @__PURE__ */ jsx389(TagIcon, { size: 24 }),
52266
52206
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
52267
52207
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
52268
52208
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
52269
52209
  label: "Open Ticket Details",
52270
- icon: /* @__PURE__ */ jsx390(TagIcon, { size: 20 })
52210
+ icon: /* @__PURE__ */ jsx389(TagIcon, { size: 20 })
52271
52211
  }),
52272
52212
  menuAriaLabel: "Ticket actions"
52273
52213
  }
@@ -52280,12 +52220,12 @@ function FaqChatCard({
52280
52220
  }) {
52281
52221
  const section = typeof chatRef.metadata?.section === "string" ? chatRef.metadata.section.trim() : void 0;
52282
52222
  const statusLabel = section && section.length > 0 ? section : "FAQ";
52283
- return /* @__PURE__ */ jsx390(
52223
+ return /* @__PURE__ */ jsx389(
52284
52224
  MingoInfoCard,
52285
52225
  {
52286
52226
  title: chatRef.title,
52287
52227
  description: chatRef.preview ?? void 0,
52288
- icon: /* @__PURE__ */ jsx390(QuestionCircleIcon, { size: 24 }),
52228
+ icon: /* @__PURE__ */ jsx389(QuestionCircleIcon, { size: 24 }),
52289
52229
  status: { label: statusLabel, variant: "grey" },
52290
52230
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
52291
52231
  menuGroups: cardMenuGroups(chatRef.url, discuss),
@@ -52301,12 +52241,12 @@ function SlackChatCard({
52301
52241
  const channelName = typeof chatRef.metadata?.channelName === "string" ? chatRef.metadata.channelName.trim() : void 0;
52302
52242
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
52303
52243
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
52304
- return /* @__PURE__ */ jsx390(
52244
+ return /* @__PURE__ */ jsx389(
52305
52245
  MingoInfoCard,
52306
52246
  {
52307
52247
  title,
52308
52248
  description: chatRef.preview ?? void 0,
52309
- icon: /* @__PURE__ */ jsx390(SlackLogoGreyIcon, { size: 24 }),
52249
+ icon: /* @__PURE__ */ jsx389(SlackLogoGreyIcon, { size: 24 }),
52310
52250
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
52311
52251
  menuGroups: cardMenuGroups(chatRef.url, discuss),
52312
52252
  menuAriaLabel: "Message actions"
@@ -52319,12 +52259,12 @@ function DataRoomDocChatCard({
52319
52259
  discuss
52320
52260
  }) {
52321
52261
  const badgeText = chatRef.sourceRepo ? getSourceLabel(chatRef.sourceRepo) : "Document";
52322
- return /* @__PURE__ */ jsx390(
52262
+ return /* @__PURE__ */ jsx389(
52323
52263
  MingoInfoCard,
52324
52264
  {
52325
52265
  title: chatRef.title,
52326
52266
  description: chatRef.preview ?? void 0,
52327
- icon: /* @__PURE__ */ jsx390(FileContentIcon, { size: 24 }),
52267
+ icon: /* @__PURE__ */ jsx389(FileContentIcon, { size: 24 }),
52328
52268
  status: { label: badgeText, variant: "grey" },
52329
52269
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
52330
52270
  menuGroups: cardMenuGroups(chatRef.url, discuss),
@@ -52339,7 +52279,7 @@ function GenericFinancialChatCard({
52339
52279
  discuss
52340
52280
  }) {
52341
52281
  const subtitle = typeof chatRef.metadata?.subtitle === "string" ? chatRef.metadata.subtitle : void 0;
52342
- return /* @__PURE__ */ jsx390(
52282
+ return /* @__PURE__ */ jsx389(
52343
52283
  MingoInfoCard,
52344
52284
  {
52345
52285
  title: chatRef.title,
@@ -52353,9 +52293,9 @@ function GenericFinancialChatCard({
52353
52293
  }
52354
52294
  function ChatInlineVideoPill({ chatRef }) {
52355
52295
  const title = chatRef.title || "Video";
52356
- return /* @__PURE__ */ jsxs310("span", { className: "inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs align-middle bg-ods-card border border-ods-border text-ods-text-primary", children: [
52357
- /* @__PURE__ */ jsx390("span", { "aria-hidden": "true", className: "text-ods-text-secondary", children: "\u25B6" }),
52358
- /* @__PURE__ */ jsx390("span", { className: "truncate max-w-[220px]", children: title })
52296
+ return /* @__PURE__ */ jsxs309("span", { className: "inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs align-middle bg-ods-card border border-ods-border text-ods-text-primary", children: [
52297
+ /* @__PURE__ */ jsx389("span", { "aria-hidden": "true", className: "text-ods-text-secondary", children: "\u25B6" }),
52298
+ /* @__PURE__ */ jsx389("span", { className: "truncate max-w-[220px]", children: title })
52359
52299
  ] });
52360
52300
  }
52361
52301
  function ChatCardWithDiscuss({
@@ -52371,11 +52311,11 @@ function ChatCardWithDiscuss({
52371
52311
  });
52372
52312
  const idDisplay = chatRef.id && (chatRef.id.length > 24 ? `${chatRef.id.slice(0, 24)}\u2026` : chatRef.id);
52373
52313
  const useDisplay = displayAction && !!onDisplay;
52374
- const cardBody = /* @__PURE__ */ jsx390("span", { className: "block [&>*]:!my-0", children });
52375
- return /* @__PURE__ */ jsxs310("span", { className: "mt-1.5 mb-2 block w-full", children: [
52314
+ const cardBody = /* @__PURE__ */ jsx389("span", { className: "block [&>*]:!my-0", children });
52315
+ return /* @__PURE__ */ jsxs309("span", { className: "mt-1.5 mb-2 block w-full", children: [
52376
52316
  cardBody,
52377
- /* @__PURE__ */ jsxs310("span", { className: "mt-1 flex items-center justify-between gap-2 pl-0.5", children: [
52378
- /* @__PURE__ */ jsx390(
52317
+ /* @__PURE__ */ jsxs309("span", { className: "mt-1 flex items-center justify-between gap-2 pl-0.5", children: [
52318
+ /* @__PURE__ */ jsx389(
52379
52319
  SourceActionButton,
52380
52320
  {
52381
52321
  chatRef,
@@ -52384,15 +52324,15 @@ function ChatCardWithDiscuss({
52384
52324
  density: "card"
52385
52325
  }
52386
52326
  ),
52387
- !onDiscuss && !useDisplay ? /* @__PURE__ */ jsx390("span", {}) : null,
52388
- idDisplay ? /* @__PURE__ */ jsxs310(
52327
+ !onDiscuss && !useDisplay ? /* @__PURE__ */ jsx389("span", {}) : null,
52328
+ idDisplay ? /* @__PURE__ */ jsxs309(
52389
52329
  "span",
52390
52330
  {
52391
52331
  className: "inline-flex items-center gap-1 text-code shrink-0 text-ods-text-secondary opacity-60 hover:opacity-100 hover:text-ods-text-primary transition-opacity",
52392
52332
  title: `${sourceLabel} \xB7 ${chatRef.id}`,
52393
52333
  children: [
52394
- /* @__PURE__ */ jsx390(SourceIcon, { className: "h-3 w-3 shrink-0" }),
52395
- /* @__PURE__ */ jsx390("span", { className: "truncate max-w-[180px]", children: idDisplay })
52334
+ /* @__PURE__ */ jsx389(SourceIcon, { className: "h-3 w-3 shrink-0" }),
52335
+ /* @__PURE__ */ jsx389("span", { className: "truncate max-w-[180px]", children: idDisplay })
52396
52336
  ]
52397
52337
  }
52398
52338
  ) : null
@@ -52408,13 +52348,13 @@ function ProductReleaseChatCard({
52408
52348
  }) {
52409
52349
  const releaseProps = buildProps(item);
52410
52350
  const status = item?.version ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
52411
- return /* @__PURE__ */ jsx390(
52351
+ return /* @__PURE__ */ jsx389(
52412
52352
  EntityMingoCard,
52413
52353
  {
52414
52354
  title: item?.title ?? "",
52415
52355
  description: item?.summary || releaseProps.formattedDate || void 0,
52416
52356
  cover: releaseProps.coverImage || void 0,
52417
- fallbackIcon: /* @__PURE__ */ jsx390(Rocket02Icon, { size: 24 }),
52357
+ fallbackIcon: /* @__PURE__ */ jsx389(Rocket02Icon, { size: 24 }),
52418
52358
  status,
52419
52359
  chatRef,
52420
52360
  isNewTab,
@@ -52435,12 +52375,12 @@ function CampaignChatCard({
52435
52375
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
52436
52376
  "Marketing campaign"
52437
52377
  ].filter(Boolean).join(" \xB7 ");
52438
- return /* @__PURE__ */ jsx390(
52378
+ return /* @__PURE__ */ jsx389(
52439
52379
  EntityMingoCard,
52440
52380
  {
52441
52381
  title: item?.name ?? "",
52442
52382
  description: meta || item?.description || void 0,
52443
- fallbackIcon: /* @__PURE__ */ jsx390(Megaphone01Icon, { size: 24 }),
52383
+ fallbackIcon: /* @__PURE__ */ jsx389(Megaphone01Icon, { size: 24 }),
52444
52384
  chatRef,
52445
52385
  isNewTab,
52446
52386
  discuss,
@@ -52461,7 +52401,7 @@ function EntityMingoCard({
52461
52401
  openDetails,
52462
52402
  externalLink
52463
52403
  }) {
52464
- return /* @__PURE__ */ jsx390(
52404
+ return /* @__PURE__ */ jsx389(
52465
52405
  MingoInfoCard,
52466
52406
  {
52467
52407
  title,
@@ -52496,13 +52436,13 @@ function BlogChatCard({
52496
52436
  }) {
52497
52437
  const category = Array.isArray(item?.categories) ? item.categories.find((c) => c && c.name)?.name : void 0;
52498
52438
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
52499
- return /* @__PURE__ */ jsx390(
52439
+ return /* @__PURE__ */ jsx389(
52500
52440
  EntityMingoCard,
52501
52441
  {
52502
52442
  title: item?.title ?? "",
52503
52443
  description: item?.summary ?? void 0,
52504
52444
  cover: entityCover(item?.featured_image, ogPlaceholder),
52505
- fallbackIcon: /* @__PURE__ */ jsx390(NewspaperIcon, { size: 24 }),
52445
+ fallbackIcon: /* @__PURE__ */ jsx389(NewspaperIcon, { size: 24 }),
52506
52446
  status,
52507
52447
  chatRef,
52508
52448
  isNewTab,
@@ -52519,13 +52459,13 @@ function CaseStudyChatCard({
52519
52459
  discuss
52520
52460
  }) {
52521
52461
  const meta = [item?.msp?.name, item?.user?.full_name].filter(Boolean).join(" \xB7 ");
52522
- return /* @__PURE__ */ jsx390(
52462
+ return /* @__PURE__ */ jsx389(
52523
52463
  EntityMingoCard,
52524
52464
  {
52525
52465
  title: item?.title ?? "",
52526
52466
  description: item?.summary || meta || void 0,
52527
52467
  cover: entityCover(item?.featured_image, ogPlaceholder),
52528
- fallbackIcon: /* @__PURE__ */ jsx390(TrophyIcon, { size: 24 }),
52468
+ fallbackIcon: /* @__PURE__ */ jsx389(TrophyIcon, { size: 24 }),
52529
52469
  status: { label: "Case study", variant: "grey" },
52530
52470
  chatRef,
52531
52471
  isNewTab,
@@ -52542,13 +52482,13 @@ function CustomerInterviewChatCard({
52542
52482
  discuss
52543
52483
  }) {
52544
52484
  const meta = [item?.user?.full_name, item?.msp?.name].filter(Boolean).join(" \xB7 ");
52545
- return /* @__PURE__ */ jsx390(
52485
+ return /* @__PURE__ */ jsx389(
52546
52486
  EntityMingoCard,
52547
52487
  {
52548
52488
  title: item?.title ?? "",
52549
52489
  description: item?.video_summary || meta || void 0,
52550
52490
  cover: entityCover(item?.featured_image, ogPlaceholder),
52551
- fallbackIcon: /* @__PURE__ */ jsx390(MicrophoneIcon, { size: 24 }),
52491
+ fallbackIcon: /* @__PURE__ */ jsx389(MicrophoneIcon, { size: 24 }),
52552
52492
  status: { label: "Interview", variant: "grey" },
52553
52493
  chatRef,
52554
52494
  isNewTab,
@@ -52565,13 +52505,13 @@ function InvestorUpdateChatCard({
52565
52505
  discuss
52566
52506
  }) {
52567
52507
  const title = item?.title || `Update #${item?.update_number ?? "?"}`;
52568
- return /* @__PURE__ */ jsx390(
52508
+ return /* @__PURE__ */ jsx389(
52569
52509
  EntityMingoCard,
52570
52510
  {
52571
52511
  title,
52572
52512
  description: item?.strategic_update || item?.content || formatInvestorUpdatePeriod(item?.period_start, item?.period_end) || void 0,
52573
52513
  cover: entityCover(item?.featured_image, ogPlaceholder),
52574
- fallbackIcon: /* @__PURE__ */ jsx390(PresentationLineIcon, { size: 24 }),
52514
+ fallbackIcon: /* @__PURE__ */ jsx389(PresentationLineIcon, { size: 24 }),
52575
52515
  status: { label: "Investor update", variant: "grey" },
52576
52516
  chatRef,
52577
52517
  isNewTab,
@@ -52588,13 +52528,13 @@ function OnboardingGuideChatCard({
52588
52528
  discuss
52589
52529
  }) {
52590
52530
  const cover = entityCover(item?.featured_image) ?? entityCover(item?.main_video_thumbnail) ?? entityCover(item?.og_image_url, ogPlaceholder);
52591
- return /* @__PURE__ */ jsx390(
52531
+ return /* @__PURE__ */ jsx389(
52592
52532
  EntityMingoCard,
52593
52533
  {
52594
52534
  title: item?.title ?? "",
52595
52535
  description: item?.summary ?? item?.description ?? void 0,
52596
52536
  cover,
52597
- fallbackIcon: /* @__PURE__ */ jsx390(CompassIcon, { size: 24 }),
52537
+ fallbackIcon: /* @__PURE__ */ jsx389(CompassIcon, { size: 24 }),
52598
52538
  status: { label: "Guide", variant: "grey" },
52599
52539
  chatRef,
52600
52540
  isNewTab,
@@ -52612,7 +52552,7 @@ function ProgramChatCard({
52612
52552
  ogPlaceholder,
52613
52553
  discuss
52614
52554
  }) {
52615
- const icon = configKey === "webinar" ? /* @__PURE__ */ jsx390(PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ jsx390(CalendarIcon, { size: 24 }) : /* @__PURE__ */ jsx390(MicrophoneIcon, { size: 24 });
52555
+ const icon = configKey === "webinar" ? /* @__PURE__ */ jsx389(PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ jsx389(CalendarIcon, { size: 24 }) : /* @__PURE__ */ jsx389(MicrophoneIcon, { size: 24 });
52616
52556
  const isScheduled = item?.status === "scheduled";
52617
52557
  let typeMeta;
52618
52558
  if (configKey === "podcast" && typeof item?.duration_seconds === "number" && item.duration_seconds > 0 && !isScheduled) {
@@ -52626,7 +52566,7 @@ function ProgramChatCard({
52626
52566
  }
52627
52567
  const itemDate = formatDateUTC(item?.date ?? null, { fallback: "", timezone: "local" });
52628
52568
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
52629
- return /* @__PURE__ */ jsx390(
52569
+ return /* @__PURE__ */ jsx389(
52630
52570
  EntityMingoCard,
52631
52571
  {
52632
52572
  title: item?.title ?? "",
@@ -52650,16 +52590,16 @@ function RoadmapChatCard({
52650
52590
  }) {
52651
52591
  const logoUrl = typeof item?.icon === "string" && item.icon.startsWith("http") ? item.icon : void 0;
52652
52592
  const useTypeIcon = cardType === "internal_task" || !logoUrl && item?.customItemId != null;
52653
- const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ jsx390(TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ jsx390(CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ jsx390(MapIcon, { size: 24 });
52654
- const icon = useTypeIcon ? /* @__PURE__ */ jsx390(TaskTypeIcon, { customItemId: item?.customItemId, className: "size-6" }) : logoUrl ? (
52593
+ const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ jsx389(TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ jsx389(CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ jsx389(MapIcon, { size: 24 });
52594
+ const icon = useTypeIcon ? /* @__PURE__ */ jsx389(TaskTypeIcon, { customItemId: item?.customItemId, className: "size-6" }) : logoUrl ? (
52655
52595
  // Contained (not full-bleed) so the integration logo keeps its aspect
52656
52596
  // ratio inside the bordered icon box — matches RoadmapCard.
52657
- /* @__PURE__ */ jsx390("img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
52597
+ /* @__PURE__ */ jsx389("img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
52658
52598
  ) : defaultIcon;
52659
52599
  const clickupHref = clickupTaskUrl(chatRef.id);
52660
- const clickupIcon = /* @__PURE__ */ jsx390(ClickupLogoIcon, { size: 20 });
52600
+ const clickupIcon = /* @__PURE__ */ jsx389(ClickupLogoIcon, { size: 20 });
52661
52601
  const cardUrlIsClickup = cardType === "internal_task";
52662
- return /* @__PURE__ */ jsx390(
52602
+ return /* @__PURE__ */ jsx389(
52663
52603
  EntityMingoCard,
52664
52604
  {
52665
52605
  title: item?.title ?? "",
@@ -52682,16 +52622,16 @@ function refHydratedEntry(docType, label, renderRef) {
52682
52622
  contentRefType: docType,
52683
52623
  noComposedHref: true,
52684
52624
  fallbackHref: (item) => item?.url ?? null,
52685
- skeleton: () => /* @__PURE__ */ jsx390(MingoInfoCardSkeleton, {}),
52625
+ skeleton: () => /* @__PURE__ */ jsx389(MingoInfoCardSkeleton, {}),
52686
52626
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
52687
52627
  };
52688
52628
  }
52689
52629
  var FINANCIAL_CARD_CONFIGS = {
52690
- financial_kpi: { label: "Financial KPI", icon: () => /* @__PURE__ */ jsx390(ChartBar01VerIcon, { size: 24 }) },
52691
- cap_table: { label: "Cap table entry", icon: () => /* @__PURE__ */ jsx390(ChartPieIcon, { size: 24 }) },
52692
- profit_loss: { label: "P&L period", icon: () => /* @__PURE__ */ jsx390(MoneyBillDollarIcon, { size: 24 }) },
52693
- balance_sheet: { label: "Balance sheet", icon: () => /* @__PURE__ */ jsx390(BankIcon, { size: 24 }) },
52694
- cash_flow: { label: "Cash flow", icon: () => /* @__PURE__ */ jsx390(CoinsExchangeCurrencyIcon, { size: 24 }) }
52630
+ financial_kpi: { label: "Financial KPI", icon: () => /* @__PURE__ */ jsx389(ChartBar01VerIcon, { size: 24 }) },
52631
+ cap_table: { label: "Cap table entry", icon: () => /* @__PURE__ */ jsx389(ChartPieIcon, { size: 24 }) },
52632
+ profit_loss: { label: "P&L period", icon: () => /* @__PURE__ */ jsx389(MoneyBillDollarIcon, { size: 24 }) },
52633
+ balance_sheet: { label: "Balance sheet", icon: () => /* @__PURE__ */ jsx389(BankIcon, { size: 24 }) },
52634
+ cash_flow: { label: "Cash flow", icon: () => /* @__PURE__ */ jsx389(CoinsExchangeCurrencyIcon, { size: 24 }) }
52695
52635
  };
52696
52636
  function registryEntries(configs, build) {
52697
52637
  const out = {};
@@ -52701,7 +52641,7 @@ function registryEntries(configs, build) {
52701
52641
  function financialRegistryEntries() {
52702
52642
  return registryEntries(
52703
52643
  FINANCIAL_CARD_CONFIGS,
52704
- (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx390(
52644
+ (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx389(
52705
52645
  GenericFinancialChatCard,
52706
52646
  {
52707
52647
  chatRef: displayRef,
@@ -52723,7 +52663,7 @@ var GITHUB_CARD_CONFIGS = {
52723
52663
  function githubRegistryEntries() {
52724
52664
  return registryEntries(
52725
52665
  GITHUB_CARD_CONFIGS,
52726
- (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx390(
52666
+ (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx389(
52727
52667
  GitHubChatCard,
52728
52668
  {
52729
52669
  chatRef: displayRef,
@@ -52744,8 +52684,8 @@ function programRegistryEntries() {
52744
52684
  label: cfg.label,
52745
52685
  contentRefType: cfg.contentRefType,
52746
52686
  bareInline: true,
52747
- skeleton: () => /* @__PURE__ */ jsx390(ProgramCardSkeleton, { size: "sm" }),
52748
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52687
+ skeleton: () => /* @__PURE__ */ jsx389(ProgramCardSkeleton, { size: "sm" }),
52688
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52749
52689
  ProgramChatCard,
52750
52690
  {
52751
52691
  item,
@@ -52785,8 +52725,8 @@ function roadmapRegistryEntries() {
52785
52725
  bareInline: true,
52786
52726
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
52787
52727
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
52788
- skeleton: () => /* @__PURE__ */ jsx390(RoadmapCardSkeleton, { size: "sm" }),
52789
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52728
+ skeleton: () => /* @__PURE__ */ jsx389(RoadmapCardSkeleton, { size: "sm" }),
52729
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52790
52730
  RoadmapChatCard,
52791
52731
  {
52792
52732
  item,
@@ -52813,7 +52753,7 @@ var CHAT_CARD_REGISTRY = {
52813
52753
  // null and the card renders its generic "Deleted item" tombstone. The
52814
52754
  // descriptor's `title` defaults to the raw cardId — suppress it so the
52815
52755
  // strikethrough line never shows an opaque id.
52816
- render: (_item, chatRef) => /* @__PURE__ */ jsx390(
52756
+ render: (_item, chatRef) => /* @__PURE__ */ jsx389(
52817
52757
  DeletedDataCard,
52818
52758
  {
52819
52759
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
@@ -52822,7 +52762,7 @@ var CHAT_CARD_REGISTRY = {
52822
52762
  }
52823
52763
  )
52824
52764
  },
52825
- slack_message: refHydratedEntry("slack_message", "Slack message", (displayRef, opts) => /* @__PURE__ */ jsx390(SlackChatCard, { chatRef: displayRef, isNewTab: opts.isNewTab, discuss: opts.discuss })),
52765
+ slack_message: refHydratedEntry("slack_message", "Slack message", (displayRef, opts) => /* @__PURE__ */ jsx389(SlackChatCard, { chatRef: displayRef, isNewTab: opts.isNewTab, discuss: opts.discuss })),
52826
52766
  // FAQ hydrates from its EXISTING public list API (`/api/faqs?ids=` —
52827
52767
  // also feeding related-content rails, so its base path must not move).
52828
52768
  // Rows are faq-shaped, not ChatRef-shaped, hence the bespoke row→display
@@ -52833,8 +52773,8 @@ var CHAT_CARD_REGISTRY = {
52833
52773
  contentRefType: "faq",
52834
52774
  noComposedHref: true,
52835
52775
  fallbackHref: (item) => item?.id != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
52836
- skeleton: () => /* @__PURE__ */ jsx390(MingoInfoCardSkeleton, {}),
52837
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52776
+ skeleton: () => /* @__PURE__ */ jsx389(MingoInfoCardSkeleton, {}),
52777
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52838
52778
  FaqChatCard,
52839
52779
  {
52840
52780
  chatRef: fetchedFaqDisplayRef(item, chatRef),
@@ -52843,7 +52783,7 @@ var CHAT_CARD_REGISTRY = {
52843
52783
  }
52844
52784
  )
52845
52785
  },
52846
- hubspot_ticket: refHydratedEntry("hubspot_ticket", "HubSpot ticket", (displayRef, opts) => /* @__PURE__ */ jsx390(
52786
+ hubspot_ticket: refHydratedEntry("hubspot_ticket", "HubSpot ticket", (displayRef, opts) => /* @__PURE__ */ jsx389(
52847
52787
  HubspotTicketChatCard,
52848
52788
  {
52849
52789
  chatRef: displayRef,
@@ -52854,7 +52794,7 @@ var CHAT_CARD_REGISTRY = {
52854
52794
  hubspot_ticket_anon: refHydratedEntry(
52855
52795
  "hubspot_ticket_anon",
52856
52796
  "HubSpot ticket (anon)",
52857
- (displayRef, opts) => /* @__PURE__ */ jsx390(
52797
+ (displayRef, opts) => /* @__PURE__ */ jsx389(
52858
52798
  HubspotTicketChatCard,
52859
52799
  {
52860
52800
  chatRef: displayRef,
@@ -52870,7 +52810,7 @@ var CHAT_CARD_REGISTRY = {
52870
52810
  hubspot_ticket_self: refHydratedEntry(
52871
52811
  "hubspot_ticket_self",
52872
52812
  "HubSpot ticket (self)",
52873
- (displayRef, opts) => /* @__PURE__ */ jsx390(
52813
+ (displayRef, opts) => /* @__PURE__ */ jsx389(
52874
52814
  HubspotTicketChatCard,
52875
52815
  {
52876
52816
  chatRef: displayRef,
@@ -52879,7 +52819,7 @@ var CHAT_CARD_REGISTRY = {
52879
52819
  }
52880
52820
  )
52881
52821
  ),
52882
- data_room_doc: refHydratedEntry("data_room_doc", "Data-room doc", (displayRef, opts) => /* @__PURE__ */ jsx390(
52822
+ data_room_doc: refHydratedEntry("data_room_doc", "Data-room doc", (displayRef, opts) => /* @__PURE__ */ jsx389(
52883
52823
  DataRoomDocChatCard,
52884
52824
  {
52885
52825
  chatRef: displayRef,
@@ -52887,7 +52827,7 @@ var CHAT_CARD_REGISTRY = {
52887
52827
  discuss: opts.discuss
52888
52828
  }
52889
52829
  )),
52890
- markdown: refHydratedEntry("markdown", "Doc page (markdown)", (displayRef, opts) => /* @__PURE__ */ jsx390(
52830
+ markdown: refHydratedEntry("markdown", "Doc page (markdown)", (displayRef, opts) => /* @__PURE__ */ jsx389(
52891
52831
  DataRoomDocChatCard,
52892
52832
  {
52893
52833
  chatRef: displayRef,
@@ -52900,7 +52840,7 @@ var CHAT_CARD_REGISTRY = {
52900
52840
  video: {
52901
52841
  label: "Video",
52902
52842
  bareInline: true,
52903
- render: (_item, chatRef) => /* @__PURE__ */ jsx390(ChatInlineVideoPill, { chatRef })
52843
+ render: (_item, chatRef) => /* @__PURE__ */ jsx389(ChatInlineVideoPill, { chatRef })
52904
52844
  },
52905
52845
  ...financialRegistryEntries(),
52906
52846
  // ───────── content types: full rows from their public list APIs ─────────
@@ -52908,8 +52848,8 @@ var CHAT_CARD_REGISTRY = {
52908
52848
  label: "Blog post",
52909
52849
  contentRefType: "blog_post_existing",
52910
52850
  bareInline: true,
52911
- skeleton: () => /* @__PURE__ */ jsx390(BlogCardSkeleton, { size: "sm" }),
52912
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52851
+ skeleton: () => /* @__PURE__ */ jsx389(BlogCardSkeleton, { size: "sm" }),
52852
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52913
52853
  BlogChatCard,
52914
52854
  {
52915
52855
  item,
@@ -52925,8 +52865,8 @@ var CHAT_CARD_REGISTRY = {
52925
52865
  label: "Case study",
52926
52866
  contentRefType: "case_study",
52927
52867
  bareInline: true,
52928
- skeleton: () => /* @__PURE__ */ jsx390(CaseStudyCardSkeleton, { size: "sm" }),
52929
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52868
+ skeleton: () => /* @__PURE__ */ jsx389(CaseStudyCardSkeleton, { size: "sm" }),
52869
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52930
52870
  CaseStudyChatCard,
52931
52871
  {
52932
52872
  item,
@@ -52941,8 +52881,8 @@ var CHAT_CARD_REGISTRY = {
52941
52881
  label: "Customer interview",
52942
52882
  contentRefType: "customer_interview",
52943
52883
  bareInline: true,
52944
- skeleton: () => /* @__PURE__ */ jsx390(CustomerInterviewCardSkeleton, { size: "sm" }),
52945
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52884
+ skeleton: () => /* @__PURE__ */ jsx389(CustomerInterviewCardSkeleton, { size: "sm" }),
52885
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52946
52886
  CustomerInterviewChatCard,
52947
52887
  {
52948
52888
  item,
@@ -52957,10 +52897,10 @@ var CHAT_CARD_REGISTRY = {
52957
52897
  label: "Product release",
52958
52898
  contentRefType: "product_release",
52959
52899
  bareInline: true,
52960
- skeleton: () => /* @__PURE__ */ jsx390(ProductReleaseCardSkeleton, { size: "sm" }),
52900
+ skeleton: () => /* @__PURE__ */ jsx389(ProductReleaseCardSkeleton, { size: "sm" }),
52961
52901
  render: (item, chatRef, opts) => {
52962
52902
  const builder = opts?.extras?.buildProductReleaseCardProps ?? defaultBuildProductReleaseCardProps;
52963
- return /* @__PURE__ */ jsx390(
52903
+ return /* @__PURE__ */ jsx389(
52964
52904
  ProductReleaseChatCard,
52965
52905
  {
52966
52906
  item,
@@ -52977,8 +52917,8 @@ var CHAT_CARD_REGISTRY = {
52977
52917
  label: "Investor update",
52978
52918
  contentRefType: "investor_update",
52979
52919
  bareInline: true,
52980
- skeleton: () => /* @__PURE__ */ jsx390(InvestorUpdateCardSkeleton, { size: "sm" }),
52981
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52920
+ skeleton: () => /* @__PURE__ */ jsx389(InvestorUpdateCardSkeleton, { size: "sm" }),
52921
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
52982
52922
  InvestorUpdateChatCard,
52983
52923
  {
52984
52924
  item,
@@ -52995,8 +52935,8 @@ var CHAT_CARD_REGISTRY = {
52995
52935
  bareInline: true,
52996
52936
  // "Display" affordance (verbatim guide body) instead of "Ask".
52997
52937
  displayAction: true,
52998
- skeleton: () => /* @__PURE__ */ jsx390(OnboardingGuideCardSkeleton, { size: "sm" }),
52999
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52938
+ skeleton: () => /* @__PURE__ */ jsx389(OnboardingGuideCardSkeleton, { size: "sm" }),
52939
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
53000
52940
  OnboardingGuideChatCard,
53001
52941
  {
53002
52942
  item,
@@ -53011,11 +52951,11 @@ var CHAT_CARD_REGISTRY = {
53011
52951
  label: "Marketing campaign",
53012
52952
  contentRefType: "marketing_campaign",
53013
52953
  bareInline: true,
53014
- skeleton: () => /* @__PURE__ */ jsx390(CampaignCardAdminSkeleton, {}),
52954
+ skeleton: () => /* @__PURE__ */ jsx389(CampaignCardAdminSkeleton, {}),
53015
52955
  // No public viewer — synthesize the hub-internal admin URL post-fetch
53016
52956
  // so the wrapper + isNewTab computation see the actual destination.
53017
52957
  fallbackHref: (item) => item?.id ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
53018
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx390(
52958
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx389(
53019
52959
  CampaignChatCard,
53020
52960
  {
53021
52961
  item,
@@ -53049,7 +52989,7 @@ function ChatCardNavWrap({
53049
52989
  e.stopPropagation();
53050
52990
  if (!isNewTab && panel?.closeChat) panel.closeChat();
53051
52991
  };
53052
- return /* @__PURE__ */ jsx390("span", { className: "contents", onClickCapture, children });
52992
+ return /* @__PURE__ */ jsx389("span", { className: "contents", onClickCapture, children });
53053
52993
  }
53054
52994
  function ChatCardLoader({
53055
52995
  chatRef,
@@ -53060,7 +53000,7 @@ function ChatCardLoader({
53060
53000
  extras
53061
53001
  }) {
53062
53002
  const runtime = useRequiredChatRuntime();
53063
- const resolvedChatRef = React151.useMemo(() => {
53003
+ const resolvedChatRef = React150.useMemo(() => {
53064
53004
  const cta = resolveSourceRowCTA(
53065
53005
  {
53066
53006
  sourceRepo: chatRef.sourceRepo,
@@ -53108,7 +53048,7 @@ function ChatCardLoader({
53108
53048
  const discussFn = useDisplay ? onDisplay : onDiscuss;
53109
53049
  const discuss = discussFn ? {
53110
53050
  label: useDisplay ? "Display" : "Ask Mingo",
53111
- icon: useDisplay ? /* @__PURE__ */ jsx390(FileContentIcon, { size: 20 }) : /* @__PURE__ */ jsx390(
53051
+ icon: useDisplay ? /* @__PURE__ */ jsx389(FileContentIcon, { size: 20 }) : /* @__PURE__ */ jsx389(
53112
53052
  MingoIcon,
53113
53053
  {
53114
53054
  className: "size-5",
@@ -53127,7 +53067,7 @@ function ChatCardLoader({
53127
53067
  discuss
53128
53068
  };
53129
53069
  const path = typeof finalChatRef.metadata?.path === "string" ? finalChatRef.metadata.path : null;
53130
- const navWrap = (children) => /* @__PURE__ */ jsx390(
53070
+ const navWrap = (children) => /* @__PURE__ */ jsx389(
53131
53071
  ChatCardNavWrap,
53132
53072
  {
53133
53073
  href: finalChatRef.url ?? null,
@@ -53137,7 +53077,7 @@ function ChatCardLoader({
53137
53077
  children
53138
53078
  }
53139
53079
  );
53140
- const finish = (node) => entry.bareInline ? /* @__PURE__ */ jsx390(Fragment88, { children: navWrap(node) }) : /* @__PURE__ */ jsx390(
53080
+ const finish = (node) => entry.bareInline ? /* @__PURE__ */ jsx389(Fragment88, { children: navWrap(node) }) : /* @__PURE__ */ jsx389(
53141
53081
  ChatCardWithDiscuss,
53142
53082
  {
53143
53083
  chatRef: finalChatRef,
@@ -53150,15 +53090,15 @@ function ChatCardLoader({
53150
53090
  if (!fetchEntry) {
53151
53091
  return finish(entry.render(void 0, finalChatRef, renderOpts));
53152
53092
  }
53153
- if (isLoading) return /* @__PURE__ */ jsx390(Fragment88, { children: fetchEntry.skeleton?.() ?? null });
53093
+ if (isLoading) return /* @__PURE__ */ jsx389(Fragment88, { children: fetchEntry.skeleton?.() ?? null });
53154
53094
  if (!item) {
53155
53095
  if (isError) {
53156
- return /* @__PURE__ */ jsx390(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
53096
+ return /* @__PURE__ */ jsx389(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
53157
53097
  }
53158
53098
  if (!isFetched) {
53159
- return /* @__PURE__ */ jsx390(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not loadable" });
53099
+ return /* @__PURE__ */ jsx389(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not loadable" });
53160
53100
  }
53161
- return /* @__PURE__ */ jsx390(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not found" });
53101
+ return /* @__PURE__ */ jsx389(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not found" });
53162
53102
  }
53163
53103
  const videoMeta = itemVideoMetadata(item);
53164
53104
  if (videoMeta) {
@@ -53170,9 +53110,9 @@ function ChatCardLoader({
53170
53110
  // Same 12px rhythm as the message renderer's block-sibling wrapper
53171
53111
  // (`my-3` in chat-message-enhanced) so card→player spacing matches
53172
53112
  // the spacing between any two hoisted blocks.
53173
- /* @__PURE__ */ jsxs310("div", { className: "flex min-w-0 flex-col gap-3", children: [
53113
+ /* @__PURE__ */ jsxs309("div", { className: "flex min-w-0 flex-col gap-3", children: [
53174
53114
  finish(entry.render(item, finalChatRef, renderOpts)),
53175
- /* @__PURE__ */ jsx390(ChatVideoEntityCard, { chatRef: videoRef })
53115
+ /* @__PURE__ */ jsx389(ChatVideoEntityCard, { chatRef: videoRef })
53176
53116
  ] })
53177
53117
  );
53178
53118
  }
@@ -53180,7 +53120,7 @@ function ChatCardLoader({
53180
53120
  }
53181
53121
  function renderChatInlineEntityCard(chatRef, options = {}) {
53182
53122
  const { onDiscuss, onDisplay, baseRoute, chipBasePlatform, extras } = options;
53183
- const loader = /* @__PURE__ */ jsx390(
53123
+ const loader = /* @__PURE__ */ jsx389(
53184
53124
  ChatCardLoader,
53185
53125
  {
53186
53126
  chatRef,
@@ -53200,7 +53140,7 @@ function renderChatInlineEntityCard(chatRef, options = {}) {
53200
53140
  url: chatRef.url ?? (decoded.videoUrl ?? (decoded.youtubeUrl ? `https://www.youtube.com/watch?v=${decoded.youtubeUrl}` : null)),
53201
53141
  metadata: { ...chatRef.metadata ?? {}, ...decoded }
53202
53142
  };
53203
- return /* @__PURE__ */ jsx390(BlockCard, { inline: /* @__PURE__ */ jsx390(ChatInlineVideoPill, { chatRef: displayRef }), children: /* @__PURE__ */ jsx390(ChatVideoEntityCard, { chatRef: displayRef }) });
53143
+ return /* @__PURE__ */ jsx389(BlockCard, { inline: /* @__PURE__ */ jsx389(ChatInlineVideoPill, { chatRef: displayRef }), children: /* @__PURE__ */ jsx389(ChatVideoEntityCard, { chatRef: displayRef }) });
53204
53144
  }
53205
53145
  return loader;
53206
53146
  }
@@ -53487,20 +53427,20 @@ function useChunkCatchup({
53487
53427
  }
53488
53428
 
53489
53429
  // src/components/chat/hooks/use-scripted-stream.ts
53490
- import { useEffect as useEffect88, useState as useState118 } from "react";
53430
+ import { useEffect as useEffect87, useState as useState117 } from "react";
53491
53431
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
53492
53432
  function prefersReducedMotion() {
53493
53433
  return typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches === true;
53494
53434
  }
53495
53435
  function useScriptedStream(frames, resetKey, enabled = true) {
53496
- const [index, setIndex] = useState118(0);
53497
- const [reducedMotion, setReducedMotion] = useState118(false);
53498
- const [prevKey, setPrevKey] = useState118(resetKey);
53436
+ const [index, setIndex] = useState117(0);
53437
+ const [reducedMotion, setReducedMotion] = useState117(false);
53438
+ const [prevKey, setPrevKey] = useState117(resetKey);
53499
53439
  if (resetKey !== prevKey) {
53500
53440
  setPrevKey(resetKey);
53501
53441
  setIndex(0);
53502
53442
  }
53503
- useEffect88(() => {
53443
+ useEffect87(() => {
53504
53444
  setReducedMotion(prefersReducedMotion());
53505
53445
  const mq = window.matchMedia?.("(prefers-reduced-motion: reduce)");
53506
53446
  if (!mq) return;
@@ -53510,7 +53450,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
53510
53450
  }, []);
53511
53451
  const playing = enabled && !reducedMotion && frames.length > 0;
53512
53452
  const lastIndex = Math.max(0, frames.length - 1);
53513
- useEffect88(() => {
53453
+ useEffect87(() => {
53514
53454
  if (!playing || index >= lastIndex) return;
53515
53455
  const current = frames[Math.min(index, lastIndex)] ?? EMPTY_FRAME;
53516
53456
  const t = setTimeout(() => setIndex((i) => Math.min(i + 1, lastIndex)), current.delayMs);
@@ -53522,7 +53462,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
53522
53462
  }
53523
53463
 
53524
53464
  // src/components/chat/hooks/use-jetstream-dialog-subscription.ts
53525
- import { useCallback as useCallback50, useEffect as useEffect89, useRef as useRef70, useState as useState119 } from "react";
53465
+ import { useCallback as useCallback50, useEffect as useEffect88, useRef as useRef70, useState as useState118 } from "react";
53526
53466
  var DEFAULT_STREAM_NAME = "CHAT_CHUNKS";
53527
53467
  var RESYNC_AFTER_HIDDEN_MS = 1e4;
53528
53468
  var RESYNC_COALESCE_MS = 1e3;
@@ -53544,11 +53484,11 @@ function useJetStreamDialogSubscription({
53544
53484
  inactiveThresholdMs,
53545
53485
  resyncSignal = 0
53546
53486
  }) {
53547
- const [isConnected, setIsConnected] = useState119(false);
53548
- const [isSubscribed, setIsSubscribed] = useState119(false);
53549
- const [reconnectionCount, setReconnectionCount] = useState119(0);
53550
- const [recoveryCount, setRecoveryCount] = useState119(0);
53551
- const [currentStreamSeq, setCurrentStreamSeq] = useState119(null);
53487
+ const [isConnected, setIsConnected] = useState118(false);
53488
+ const [isSubscribed, setIsSubscribed] = useState118(false);
53489
+ const [reconnectionCount, setReconnectionCount] = useState118(0);
53490
+ const [recoveryCount, setRecoveryCount] = useState118(0);
53491
+ const [currentStreamSeq, setCurrentStreamSeq] = useState118(null);
53552
53492
  const lastRecoveryReportRef = useRef70(0);
53553
53493
  const resyncTimerRef = useRef70(null);
53554
53494
  const lastResyncSignalRef = useRef70(resyncSignal);
@@ -53556,49 +53496,49 @@ function useJetStreamDialogSubscription({
53556
53496
  const subscriptionRef = useRef70(null);
53557
53497
  const highestStreamSeqRef = useRef70(null);
53558
53498
  const onEventRef = useRef70(onEvent);
53559
- useEffect89(() => {
53499
+ useEffect88(() => {
53560
53500
  onEventRef.current = onEvent;
53561
53501
  }, [onEvent]);
53562
53502
  const onConnectRef = useRef70(onConnect);
53563
- useEffect89(() => {
53503
+ useEffect88(() => {
53564
53504
  onConnectRef.current = onConnect;
53565
53505
  }, [onConnect]);
53566
53506
  const onDisconnectRef = useRef70(onDisconnect);
53567
- useEffect89(() => {
53507
+ useEffect88(() => {
53568
53508
  onDisconnectRef.current = onDisconnect;
53569
53509
  }, [onDisconnect]);
53570
53510
  const onSubscribedRef = useRef70(onSubscribed);
53571
- useEffect89(() => {
53511
+ useEffect88(() => {
53572
53512
  onSubscribedRef.current = onSubscribed;
53573
53513
  }, [onSubscribed]);
53574
53514
  const onBeforeReconnectRef = useRef70(onBeforeReconnect);
53575
- useEffect89(() => {
53515
+ useEffect88(() => {
53576
53516
  onBeforeReconnectRef.current = onBeforeReconnect;
53577
53517
  }, [onBeforeReconnect]);
53578
53518
  const getNatsWsUrlRef = useRef70(getNatsWsUrl);
53579
- useEffect89(() => {
53519
+ useEffect88(() => {
53580
53520
  getNatsWsUrlRef.current = getNatsWsUrl;
53581
53521
  }, [getNatsWsUrl]);
53582
53522
  const reconnectionBackoffRef = useRef70(reconnectionBackoff);
53583
- useEffect89(() => {
53523
+ useEffect88(() => {
53584
53524
  reconnectionBackoffRef.current = reconnectionBackoff;
53585
53525
  }, [reconnectionBackoff]);
53586
53526
  const optStartSeqRef = useRef70(optStartSeq);
53587
- useEffect89(() => {
53527
+ useEffect88(() => {
53588
53528
  optStartSeqRef.current = optStartSeq;
53589
53529
  }, [optStartSeq]);
53590
53530
  const inactiveThresholdRef = useRef70(inactiveThresholdMs);
53591
- useEffect89(() => {
53531
+ useEffect88(() => {
53592
53532
  inactiveThresholdRef.current = inactiveThresholdMs;
53593
53533
  }, [inactiveThresholdMs]);
53594
53534
  const hadConnectionBeforeRef = useRef70(false);
53595
53535
  const clientConfigRef = useRef70(clientConfig);
53596
- useEffect89(() => {
53536
+ useEffect88(() => {
53597
53537
  clientConfigRef.current = clientConfig;
53598
53538
  }, [clientConfig]);
53599
53539
  const currentWsUrlRef = useRef70("");
53600
53540
  const wsUrl = getNatsWsUrl();
53601
- useEffect89(() => {
53541
+ useEffect88(() => {
53602
53542
  if (!enabled || !wsUrl) {
53603
53543
  if (currentWsUrlRef.current && clientRef.current) {
53604
53544
  releaseClient(currentWsUrlRef.current);
@@ -53679,7 +53619,7 @@ function useJetStreamDialogSubscription({
53679
53619
  }
53680
53620
  };
53681
53621
  }, [enabled, wsUrl]);
53682
- useEffect89(() => {
53622
+ useEffect88(() => {
53683
53623
  highestStreamSeqRef.current = null;
53684
53624
  lastResyncSignalRef.current = resyncSignal;
53685
53625
  setCurrentStreamSeq(null);
@@ -53697,7 +53637,7 @@ function useJetStreamDialogSubscription({
53697
53637
  setReconnectionCount((c) => c + 1);
53698
53638
  }, RESYNC_COALESCE_MS);
53699
53639
  }, []);
53700
- useEffect89(() => {
53640
+ useEffect88(() => {
53701
53641
  if (!enabled) return;
53702
53642
  let hiddenSince = document.visibilityState === "hidden" ? Date.now() : 0;
53703
53643
  const onVisibilityChange = () => {
@@ -53714,13 +53654,13 @@ function useJetStreamDialogSubscription({
53714
53654
  document.addEventListener("visibilitychange", onVisibilityChange);
53715
53655
  return () => document.removeEventListener("visibilitychange", onVisibilityChange);
53716
53656
  }, [enabled, requestResync]);
53717
- useEffect89(() => {
53657
+ useEffect88(() => {
53718
53658
  if (!enabled) return;
53719
53659
  if (resyncSignal <= lastResyncSignalRef.current) return;
53720
53660
  lastResyncSignalRef.current = resyncSignal;
53721
53661
  requestResync();
53722
53662
  }, [enabled, resyncSignal, requestResync]);
53723
- useEffect89(() => {
53663
+ useEffect88(() => {
53724
53664
  if (!enabled || !dialogId || !isConnected) {
53725
53665
  if (subscriptionRef.current) {
53726
53666
  try {
@@ -53821,7 +53761,7 @@ function useJetStreamDialogSubscription({
53821
53761
  }
53822
53762
 
53823
53763
  // src/components/chat/hooks/use-nats-dialog-subscription.ts
53824
- import { useEffect as useEffect90, useRef as useRef71, useState as useState120 } from "react";
53764
+ import { useEffect as useEffect89, useRef as useRef71, useState as useState119 } from "react";
53825
53765
  function useNatsDialogSubscription({
53826
53766
  enabled,
53827
53767
  dialogId,
@@ -53835,47 +53775,47 @@ function useNatsDialogSubscription({
53835
53775
  clientConfig = {},
53836
53776
  reconnectionBackoff
53837
53777
  }) {
53838
- const [isConnected, setIsConnected] = useState120(false);
53839
- const [isSubscribed, setIsSubscribed] = useState120(false);
53840
- const [reconnectionCount, setReconnectionCount] = useState120(0);
53778
+ const [isConnected, setIsConnected] = useState119(false);
53779
+ const [isSubscribed, setIsSubscribed] = useState119(false);
53780
+ const [reconnectionCount, setReconnectionCount] = useState119(0);
53841
53781
  const clientRef = useRef71(null);
53842
53782
  const subscriptionRefs = useRef71(/* @__PURE__ */ new Map());
53843
53783
  const onEventRef = useRef71(onEvent);
53844
- useEffect90(() => {
53784
+ useEffect89(() => {
53845
53785
  onEventRef.current = onEvent;
53846
53786
  }, [onEvent]);
53847
53787
  const onConnectRef = useRef71(onConnect);
53848
- useEffect90(() => {
53788
+ useEffect89(() => {
53849
53789
  onConnectRef.current = onConnect;
53850
53790
  }, [onConnect]);
53851
53791
  const onDisconnectRef = useRef71(onDisconnect);
53852
- useEffect90(() => {
53792
+ useEffect89(() => {
53853
53793
  onDisconnectRef.current = onDisconnect;
53854
53794
  }, [onDisconnect]);
53855
53795
  const onSubscribedRef = useRef71(onSubscribed);
53856
- useEffect90(() => {
53796
+ useEffect89(() => {
53857
53797
  onSubscribedRef.current = onSubscribed;
53858
53798
  }, [onSubscribed]);
53859
53799
  const onBeforeReconnectRef = useRef71(onBeforeReconnect);
53860
- useEffect90(() => {
53800
+ useEffect89(() => {
53861
53801
  onBeforeReconnectRef.current = onBeforeReconnect;
53862
53802
  }, [onBeforeReconnect]);
53863
53803
  const hadConnectionBeforeRef = useRef71(false);
53864
53804
  const getNatsWsUrlRef = useRef71(getNatsWsUrl);
53865
- useEffect90(() => {
53805
+ useEffect89(() => {
53866
53806
  getNatsWsUrlRef.current = getNatsWsUrl;
53867
53807
  }, [getNatsWsUrl]);
53868
53808
  const reconnectionBackoffRef = useRef71(reconnectionBackoff);
53869
- useEffect90(() => {
53809
+ useEffect89(() => {
53870
53810
  reconnectionBackoffRef.current = reconnectionBackoff;
53871
53811
  }, [reconnectionBackoff]);
53872
53812
  const clientConfigRef = useRef71(clientConfig);
53873
- useEffect90(() => {
53813
+ useEffect89(() => {
53874
53814
  clientConfigRef.current = clientConfig;
53875
53815
  }, [clientConfig]);
53876
53816
  const currentWsUrlRef = useRef71("");
53877
53817
  const wsUrl = getNatsWsUrl();
53878
- useEffect90(() => {
53818
+ useEffect89(() => {
53879
53819
  if (!enabled || !wsUrl) {
53880
53820
  if (currentWsUrlRef.current && clientRef.current) {
53881
53821
  releaseClient(currentWsUrlRef.current);
@@ -53961,12 +53901,12 @@ function useNatsDialogSubscription({
53961
53901
  topicsRef.current = topics;
53962
53902
  const lastSubscribedDialogIdRef = useRef71(null);
53963
53903
  const isConnectedRef = useRef71(isConnected);
53964
- useEffect90(() => {
53904
+ useEffect89(() => {
53965
53905
  isConnectedRef.current = isConnected;
53966
53906
  }, [isConnected]);
53967
53907
  const currentDialogIdRef = useRef71(null);
53968
53908
  const abortControllerRef = useRef71(null);
53969
- useEffect90(() => {
53909
+ useEffect89(() => {
53970
53910
  currentDialogIdRef.current = dialogId;
53971
53911
  if (!enabled || !dialogId) {
53972
53912
  if (subscriptionRefs.current.size > 0) {
@@ -54047,7 +53987,7 @@ function useNatsDialogSubscription({
54047
53987
  abortControllerRef.current = null;
54048
53988
  };
54049
53989
  }, [enabled, dialogId, topicsKey]);
54050
- useEffect90(() => {
53990
+ useEffect89(() => {
54051
53991
  if (!enabled || !currentDialogIdRef.current || !isConnected) {
54052
53992
  return;
54053
53993
  }
@@ -54097,7 +54037,7 @@ function buildNatsWsUrl(apiBaseUrl, options) {
54097
54037
  }
54098
54038
 
54099
54039
  // src/components/chat/hooks/use-slash-commands.ts
54100
- import { useEffect as useEffect91, useState as useState121 } from "react";
54040
+ import { useEffect as useEffect90, useState as useState120 } from "react";
54101
54041
  import { useQuery as useQuery3 } from "@tanstack/react-query";
54102
54042
  async function fetchSlashCommands(prefix, signal, commandsUrl) {
54103
54043
  try {
@@ -54114,9 +54054,9 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
54114
54054
  }
54115
54055
  }
54116
54056
  function useSlashCommands(prefix, commandsUrl) {
54117
- const [commands, setCommands] = useState121([]);
54118
- const [loading, setLoading] = useState121(false);
54119
- useEffect91(() => {
54057
+ const [commands, setCommands] = useState120([]);
54058
+ const [loading, setLoading] = useState120(false);
54059
+ useEffect90(() => {
54120
54060
  if (prefix == null) {
54121
54061
  setCommands([]);
54122
54062
  return;
@@ -54222,7 +54162,7 @@ function useEmptyStateConfig(emptyStateUrl, options) {
54222
54162
  }
54223
54163
 
54224
54164
  // src/components/chat/hooks/use-chat-attachments.ts
54225
- import { useCallback as useCallback51, useMemo as useMemo50, useRef as useRef72, useState as useState122 } from "react";
54165
+ import { useCallback as useCallback51, useMemo as useMemo50, useRef as useRef72, useState as useState121 } from "react";
54226
54166
  import { fileTypeFromBlob } from "file-type";
54227
54167
  var CHAT_ATTACHMENTS_BUCKET = "chat-attachments";
54228
54168
  var CHAT_ATTACHMENTS_FOLDER = "chat";
@@ -54298,7 +54238,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
54298
54238
  function useChatAttachments() {
54299
54239
  const runtime = useRequiredChatRuntime();
54300
54240
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
54301
- const [attachments, setAttachments] = useState122([]);
54241
+ const [attachments, setAttachments] = useState121([]);
54302
54242
  const controllersRef = useRef72(/* @__PURE__ */ new Map());
54303
54243
  const updateOne = useCallback51((id, patch) => {
54304
54244
  setAttachments((prev) => prev.map((a) => a.id === id ? { ...a, ...patch } : a));
@@ -54465,16 +54405,16 @@ function useChatAttachments() {
54465
54405
  }
54466
54406
 
54467
54407
  // src/components/chat/hooks/use-chat-attachment-image-gallery.tsx
54468
- import { useCallback as useCallback52, useEffect as useEffect92, useRef as useRef73, useState as useState123 } from "react";
54469
- import { jsx as jsx391 } from "react/jsx-runtime";
54408
+ import { useCallback as useCallback52, useEffect as useEffect91, useRef as useRef73, useState as useState122 } from "react";
54409
+ import { jsx as jsx390 } from "react/jsx-runtime";
54470
54410
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
54471
54411
  function useChatAttachmentImageGallery() {
54472
54412
  const runtime = useRequiredChatRuntime();
54473
54413
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
54474
54414
  const panelRef = useRef73(null);
54475
- const [state, setState] = useState123(CLOSED);
54415
+ const [state, setState] = useState122(CLOSED);
54476
54416
  const handleClose = useCallback52(() => setState(CLOSED), []);
54477
- useEffect92(() => {
54417
+ useEffect91(() => {
54478
54418
  const root = panelRef.current;
54479
54419
  if (!root) return;
54480
54420
  const onClick = (ev) => {
@@ -54502,7 +54442,7 @@ function useChatAttachmentImageGallery() {
54502
54442
  root.addEventListener("click", onClick);
54503
54443
  return () => root.removeEventListener("click", onClick);
54504
54444
  }, [viewUrlPrefix]);
54505
- const modal = state.isOpen ? /* @__PURE__ */ jsx391(
54445
+ const modal = state.isOpen ? /* @__PURE__ */ jsx390(
54506
54446
  ImageGalleryModal,
54507
54447
  {
54508
54448
  images: state.images,
@@ -54520,11 +54460,11 @@ function absolutize(prefix) {
54520
54460
  }
54521
54461
 
54522
54462
  // src/components/chat/hooks/use-close-on-navigation.ts
54523
- import { useEffect as useEffect93, useRef as useRef74 } from "react";
54463
+ import { useEffect as useEffect92, useRef as useRef74 } from "react";
54524
54464
  function useCloseOnNavigation(close, pathname) {
54525
54465
  const prevPathnameRef = useRef74(null);
54526
54466
  const initializedRef = useRef74(false);
54527
- useEffect93(() => {
54467
+ useEffect92(() => {
54528
54468
  if (!initializedRef.current) {
54529
54469
  initializedRef.current = true;
54530
54470
  prevPathnameRef.current = pathname;
@@ -54538,13 +54478,13 @@ function useCloseOnNavigation(close, pathname) {
54538
54478
  }
54539
54479
 
54540
54480
  // src/components/chat/hooks/use-chat.ts
54541
- import { useState as useState125, useCallback as useCallback54, useEffect as useEffect94, useRef as useRef76 } from "react";
54481
+ import { useState as useState124, useCallback as useCallback54, useEffect as useEffect93, useRef as useRef76 } from "react";
54542
54482
 
54543
54483
  // src/components/chat/hooks/use-sse.ts
54544
- import { useState as useState124, useCallback as useCallback53, useRef as useRef75 } from "react";
54484
+ import { useState as useState123, useCallback as useCallback53, useRef as useRef75 } from "react";
54545
54485
  function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
54546
- const [isStreaming, setIsStreaming] = useState124(false);
54547
- const [error, setError] = useState124(null);
54486
+ const [isStreaming, setIsStreaming] = useState123(false);
54487
+ const [error, setError] = useState123(null);
54548
54488
  const abortControllerRef = useRef75(null);
54549
54489
  const fallbackStream = useCallback53(async function* () {
54550
54490
  throw new Error(
@@ -54611,12 +54551,12 @@ function useChat({
54611
54551
  initialMessages,
54612
54552
  onMessagesChange
54613
54553
  } = {}) {
54614
- const [messages, setMessages] = useState125(() => initialMessages ?? []);
54615
- const [isTyping, setIsTyping] = useState125(false);
54554
+ const [messages, setMessages] = useState124(() => initialMessages ?? []);
54555
+ const [isTyping, setIsTyping] = useState124(false);
54616
54556
  const currentAssistantSegmentsRef = useRef76([]);
54617
54557
  const onMessagesChangeRef = useRef76(onMessagesChange);
54618
54558
  onMessagesChangeRef.current = onMessagesChange;
54619
- useEffect94(() => {
54559
+ useEffect93(() => {
54620
54560
  onMessagesChangeRef.current?.(messages);
54621
54561
  }, [messages]);
54622
54562
  const {
@@ -55153,7 +55093,7 @@ function pruneStaleChatConversationStorage(source) {
55153
55093
  }
55154
55094
 
55155
55095
  // src/components/chat/hooks/use-chat-history-hydration.ts
55156
- import { useEffect as useEffect95, useRef as useRef77, useState as useState126 } from "react";
55096
+ import { useEffect as useEffect94, useRef as useRef77, useState as useState125 } from "react";
55157
55097
  function useChatHistoryHydration({
55158
55098
  active,
55159
55099
  source,
@@ -55163,9 +55103,9 @@ function useChatHistoryHydration({
55163
55103
  hydrateMessages,
55164
55104
  bumpMetaTick
55165
55105
  }) {
55166
- const [isHydratingHistory, setIsHydratingHistory] = useState126(false);
55106
+ const [isHydratingHistory, setIsHydratingHistory] = useState125(false);
55167
55107
  const hydratedKeyRef = useRef77(null);
55168
- useEffect95(() => {
55108
+ useEffect94(() => {
55169
55109
  if (!active) return;
55170
55110
  const conversationId = conversationIdRef.current;
55171
55111
  if (!conversationId) return;
@@ -57350,7 +57290,7 @@ function createChatDialogStore(options = {}) {
57350
57290
  }
57351
57291
 
57352
57292
  // src/components/chat/stream/use-chat-stream-reducer.ts
57353
- import { useCallback as useCallback55, useEffect as useEffect96, useMemo as useMemo51, useRef as useRef78, useSyncExternalStore } from "react";
57293
+ import { useCallback as useCallback55, useEffect as useEffect95, useMemo as useMemo51, useRef as useRef78, useSyncExternalStore } from "react";
57354
57294
 
57355
57295
  // src/components/chat/stream/delta-batcher.ts
57356
57296
  var DELTA_FLUSH_FALLBACK_MS = 50;
@@ -57446,7 +57386,7 @@ function useChatStreamReducer({
57446
57386
  const getServerSnapshot = useCallback55(() => store.getServerSnapshot(), [store]);
57447
57387
  const subscribe = useCallback55((listener) => store.subscribe(listener), [store]);
57448
57388
  const state = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
57449
- useEffect96(() => store.retain(dialogId, side), [store, dialogId, side]);
57389
+ useEffect95(() => store.retain(dialogId, side), [store, dialogId, side]);
57450
57390
  const keyRef = useRef78({ dialogId, side });
57451
57391
  if (keyRef.current.dialogId !== dialogId || keyRef.current.side !== side) {
57452
57392
  keyRef.current = { dialogId, side };
@@ -57471,7 +57411,7 @@ function useChatStreamReducer({
57471
57411
  },
57472
57412
  [batcher, store, dialogId, side]
57473
57413
  );
57474
- useEffect96(() => () => batcher.dispose(), [batcher]);
57414
+ useEffect95(() => () => batcher.dispose(), [batcher]);
57475
57415
  const mutate = useCallback55(
57476
57416
  (fn) => store.mutate(dialogId, side, fn),
57477
57417
  [store, dialogId, side]
@@ -57852,7 +57792,7 @@ var noopBumpMetaTick = () => {
57852
57792
  };
57853
57793
 
57854
57794
  // src/components/chat/hooks/use-nats-chat-adapter.ts
57855
- import { useCallback as useCallback57, useEffect as useEffect97, useMemo as useMemo53, useRef as useRef80, useState as useState127 } from "react";
57795
+ import { useCallback as useCallback57, useEffect as useEffect96, useMemo as useMemo53, useRef as useRef80, useState as useState126 } from "react";
57856
57796
 
57857
57797
  // src/chat-protocol/nats-decoder.ts
57858
57798
  function normalizeToolCalls(raw) {
@@ -58874,7 +58814,7 @@ function useNatsChatAdapter(config, options = {}) {
58874
58814
  modelLabel = null
58875
58815
  } = config;
58876
58816
  const isManagedMode = fetchDialogs !== void 0;
58877
- const [internalDialogId, setInternalDialogId] = useState127(null);
58817
+ const [internalDialogId, setInternalDialogId] = useState126(null);
58878
58818
  const dialogId = isManagedMode ? internalDialogId : controlledDialogId !== void 0 ? controlledDialogId : null;
58879
58819
  const currentDialogIdRef = useRef80(dialogId);
58880
58820
  currentDialogIdRef.current = dialogId;
@@ -58949,14 +58889,14 @@ function useNatsChatAdapter(config, options = {}) {
58949
58889
  },
58950
58890
  [applyEvent]
58951
58891
  );
58952
- const [dialogs, setDialogs] = useState127([]);
58953
- const [dialogsNextCursor, setDialogsNextCursor] = useState127(null);
58954
- const [isDialogsLoading, setIsDialogsLoading] = useState127(false);
58955
- const [dialogsError, setDialogsError] = useState127(false);
58956
- const [isCreatingDialog, setIsCreatingDialog] = useState127(false);
58957
- const [messagesNextCursor, setMessagesNextCursor] = useState127(null);
58958
- const [isMessagesLoading, setIsMessagesLoading] = useState127(false);
58959
- const [connectionState, setConnectionState] = useState127("connecting");
58892
+ const [dialogs, setDialogs] = useState126([]);
58893
+ const [dialogsNextCursor, setDialogsNextCursor] = useState126(null);
58894
+ const [isDialogsLoading, setIsDialogsLoading] = useState126(false);
58895
+ const [dialogsError, setDialogsError] = useState126(false);
58896
+ const [isCreatingDialog, setIsCreatingDialog] = useState126(false);
58897
+ const [messagesNextCursor, setMessagesNextCursor] = useState126(null);
58898
+ const [isMessagesLoading, setIsMessagesLoading] = useState126(false);
58899
+ const [connectionState, setConnectionState] = useState126("connecting");
58960
58900
  const hasConnectedOnceRef = useRef80(false);
58961
58901
  const {
58962
58902
  processChunk: catchupProcessChunk,
@@ -59034,7 +58974,7 @@ function useNatsChatAdapter(config, options = {}) {
59034
58974
  ]
59035
58975
  );
59036
58976
  const prevDialogIdRef = useRef80(void 0);
59037
- useEffect97(() => {
58977
+ useEffect96(() => {
59038
58978
  if (prevDialogIdRef.current === dialogId) return;
59039
58979
  prevDialogIdRef.current = dialogId;
59040
58980
  historyLoadSeqRef.current += 1;
@@ -59047,7 +58987,7 @@ function useNatsChatAdapter(config, options = {}) {
59047
58987
  if (!active || !dialogId) return;
59048
58988
  void loadDialogHistory(dialogId);
59049
58989
  }, [active, dialogId, dialogKey, loadDialogHistory]);
59050
- useEffect97(() => {
58990
+ useEffect96(() => {
59051
58991
  if (!active || !dialogId) return;
59052
58992
  const store = storeRef.current;
59053
58993
  store.mutate(dialogId, DEFAULT_DIALOG_SIDE, (r) => r.adjustAgentBusySuppression(1));
@@ -59110,7 +59050,7 @@ function useNatsChatAdapter(config, options = {}) {
59110
59050
  })();
59111
59051
  }
59112
59052
  });
59113
- useEffect97(() => {
59053
+ useEffect96(() => {
59114
59054
  if (!active || !dialogId) {
59115
59055
  setConnectionState("connected");
59116
59056
  return;
@@ -59149,7 +59089,7 @@ function useNatsChatAdapter(config, options = {}) {
59149
59089
  const reloadDialogs = useCallback57(() => {
59150
59090
  void loadDialogsPage();
59151
59091
  }, [loadDialogsPage]);
59152
- useEffect97(() => {
59092
+ useEffect96(() => {
59153
59093
  if (!fetchDialogs) return;
59154
59094
  if (!active) return;
59155
59095
  if (initialDialogsLoadedRef.current) return;
@@ -59813,19 +59753,19 @@ function buildStreamFrames(messages) {
59813
59753
 
59814
59754
  // src/components/chat/embeddable-chat.tsx
59815
59755
  init_cn();
59816
- import { useCallback as useCallback60, useEffect as useEffect98, useMemo as useMemo56, useRef as useRef83, useState as useState129 } from "react";
59756
+ import { useCallback as useCallback60, useEffect as useEffect97, useMemo as useMemo56, useRef as useRef83, useState as useState128 } from "react";
59817
59757
  import * as DialogPrimitive5 from "@radix-ui/react-dialog";
59818
59758
  import { usePreventScroll as usePreventScroll5 } from "@react-aria/overlays";
59819
59759
  import { isIOS } from "@react-aria/utils";
59820
59760
 
59821
59761
  // node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
59822
- import * as React153 from "react";
59762
+ import * as React152 from "react";
59823
59763
 
59824
59764
  // node_modules/@radix-ui/react-primitive/dist/index.mjs
59825
- import * as React152 from "react";
59765
+ import * as React151 from "react";
59826
59766
  import * as ReactDOM2 from "react-dom";
59827
59767
  import { createSlot } from "@radix-ui/react-slot";
59828
- import { jsx as jsx392 } from "react/jsx-runtime";
59768
+ import { jsx as jsx391 } from "react/jsx-runtime";
59829
59769
  var __defProp3 = Object.defineProperty;
59830
59770
  var __name3 = (target, value) => __defProp3(target, "name", { value, configurable: true });
59831
59771
  var NODES = [
@@ -59849,13 +59789,13 @@ var NODES = [
59849
59789
  ];
59850
59790
  var Primitive = NODES.reduce((primitive, node) => {
59851
59791
  const Slot2 = createSlot(`Primitive.${node}`);
59852
- const Node2 = React152.forwardRef((props, forwardedRef) => {
59792
+ const Node2 = React151.forwardRef((props, forwardedRef) => {
59853
59793
  const { asChild, ...primitiveProps } = props;
59854
59794
  const Comp = asChild ? Slot2 : node;
59855
59795
  if (typeof window !== "undefined") {
59856
59796
  window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
59857
59797
  }
59858
- return /* @__PURE__ */ jsx392(Comp, { ...primitiveProps, ref: forwardedRef });
59798
+ return /* @__PURE__ */ jsx391(Comp, { ...primitiveProps, ref: forwardedRef });
59859
59799
  });
59860
59800
  Node2.displayName = `Primitive.${node}`;
59861
59801
  return { ...primitive, [node]: Node2 };
@@ -59866,7 +59806,7 @@ function dispatchDiscreteCustomEvent(target, event) {
59866
59806
  __name3(dispatchDiscreteCustomEvent, "dispatchDiscreteCustomEvent");
59867
59807
 
59868
59808
  // node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
59869
- import { jsx as jsx393 } from "react/jsx-runtime";
59809
+ import { jsx as jsx392 } from "react/jsx-runtime";
59870
59810
  var __defProp4 = Object.defineProperty;
59871
59811
  var __name4 = (target, value) => __defProp4(target, "name", { value, configurable: true });
59872
59812
  var VISUALLY_HIDDEN_STYLES = Object.freeze({
@@ -59882,9 +59822,9 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
59882
59822
  whiteSpace: "nowrap",
59883
59823
  wordWrap: "normal"
59884
59824
  });
59885
- var VisuallyHidden = /* @__PURE__ */ React153.forwardRef(
59825
+ var VisuallyHidden = /* @__PURE__ */ React152.forwardRef(
59886
59826
  /* @__PURE__ */ __name4(function VisuallyHidden2(props, forwardedRef) {
59887
- return /* @__PURE__ */ jsx393(
59827
+ return /* @__PURE__ */ jsx392(
59888
59828
  Primitive.span,
59889
59829
  {
59890
59830
  ...props,
@@ -59900,7 +59840,7 @@ init_button2();
59900
59840
  import { FileText as FileText8, MessageSquare as MessageSquare3 } from "lucide-react";
59901
59841
 
59902
59842
  // src/components/chat/hooks/use-chat-dialog-manager.ts
59903
- import { useCallback as useCallback59, useMemo as useMemo55, useRef as useRef82, useState as useState128 } from "react";
59843
+ import { useCallback as useCallback59, useMemo as useMemo55, useRef as useRef82, useState as useState127 } from "react";
59904
59844
  function useChatDialogManager({
59905
59845
  dialogs,
59906
59846
  activeDialogId,
@@ -59911,8 +59851,8 @@ function useChatDialogManager({
59911
59851
  fetchArchivedDialogs,
59912
59852
  unarchiveDialog
59913
59853
  }) {
59914
- const [renameTarget, setRenameTarget] = useState128(null);
59915
- const [archiveTarget, setArchiveTarget] = useState128(null);
59854
+ const [renameTarget, setRenameTarget] = useState127(null);
59855
+ const [archiveTarget, setArchiveTarget] = useState127(null);
59916
59856
  const handleConfirmRename = useCallback59(
59917
59857
  (name) => {
59918
59858
  if (renameTarget) void renameDialog(renameTarget.id, name);
@@ -59935,11 +59875,11 @@ function useChatDialogManager({
59935
59875
  }
59936
59876
  setArchiveTarget(null);
59937
59877
  }, [archiveTarget, archiveDialog, activeDialogId, clearMessages]);
59938
- const [archiveOpen, setArchiveOpen] = useState128(false);
59939
- const [archivedDialogs, setArchivedDialogs] = useState128([]);
59940
- const [archivedCursor, setArchivedCursor] = useState128(null);
59941
- const [archivedLoading, setArchivedLoading] = useState128(false);
59942
- const [archivedPending, setArchivedPending] = useState128(false);
59878
+ const [archiveOpen, setArchiveOpen] = useState127(false);
59879
+ const [archivedDialogs, setArchivedDialogs] = useState127([]);
59880
+ const [archivedCursor, setArchivedCursor] = useState127(null);
59881
+ const [archivedLoading, setArchivedLoading] = useState127(false);
59882
+ const [archivedPending, setArchivedPending] = useState127(false);
59943
59883
  const archivedRequestIdRef = useRef82(0);
59944
59884
  const loadArchivedPage = useCallback59(
59945
59885
  async (cursor) => {
@@ -59981,10 +59921,10 @@ function useChatDialogManager({
59981
59921
  void loadArchivedPage();
59982
59922
  }, [loadArchivedPage]);
59983
59923
  const closeArchive = useCallback59(() => setArchiveOpen(false), []);
59984
- const [viewingArchivedId, setViewingArchivedId] = useState128(
59924
+ const [viewingArchivedId, setViewingArchivedId] = useState127(
59985
59925
  null
59986
59926
  );
59987
- const [openingDialogId, setOpeningDialogId] = useState128(null);
59927
+ const [openingDialogId, setOpeningDialogId] = useState127(null);
59988
59928
  const handleSelectDialog = useCallback59(
59989
59929
  (id) => {
59990
59930
  setViewingArchivedId(null);
@@ -60003,7 +59943,7 @@ function useChatDialogManager({
60003
59943
  },
60004
59944
  [selectDialog]
60005
59945
  );
60006
- const [restoreTarget, setRestoreTarget] = useState128(null);
59946
+ const [restoreTarget, setRestoreTarget] = useState127(null);
60007
59947
  const handleConfirmRestore = useCallback59(async () => {
60008
59948
  if (restoreTarget) {
60009
59949
  try {
@@ -60074,7 +60014,7 @@ function useChatDialogManager({
60074
60014
 
60075
60015
  // src/components/chat/embeddable-chat.tsx
60076
60016
  init_next_navigation();
60077
- import { Fragment as Fragment89, jsx as jsx394, jsxs as jsxs311 } from "react/jsx-runtime";
60017
+ import { Fragment as Fragment89, jsx as jsx393, jsxs as jsxs310 } from "react/jsx-runtime";
60078
60018
  var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
60079
60019
  var DRAWER_WIDTH_KEY = "mingo-chat-width-v3";
60080
60020
  var DRAWER_DEFAULT_WIDTH_PX = 750;
@@ -60096,9 +60036,9 @@ var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH + CHAT_BLOCK_MIN_WIDTH;
60096
60036
  var RAIL_COLLAPSED_STORAGE_KEY = "mingo-chat-history-collapsed";
60097
60037
  var RAIL_ANIM_MS = 320;
60098
60038
  function useRailPresence(open) {
60099
- const [mounted, setMounted] = useState129(open);
60100
- const [active, setActive] = useState129(false);
60101
- useEffect98(() => {
60039
+ const [mounted, setMounted] = useState128(open);
60040
+ const [active, setActive] = useState128(false);
60041
+ useEffect97(() => {
60102
60042
  if (open) {
60103
60043
  setMounted(true);
60104
60044
  let raf2 = 0;
@@ -60122,7 +60062,7 @@ function RailSlot({
60122
60062
  innerClassName,
60123
60063
  children
60124
60064
  }) {
60125
- return /* @__PURE__ */ jsx394(
60065
+ return /* @__PURE__ */ jsx393(
60126
60066
  "div",
60127
60067
  {
60128
60068
  className: cn(
@@ -60131,7 +60071,7 @@ function RailSlot({
60131
60071
  "shrink-0 overflow-hidden border-r border-ods-border transition-[width,opacity] ease-out",
60132
60072
  active ? "w-80 opacity-100 duration-[240ms]" : "w-0 opacity-0 duration-[300ms]"
60133
60073
  ),
60134
- children: /* @__PURE__ */ jsx394("div", { className: cn("h-full w-80", innerClassName), children })
60074
+ children: /* @__PURE__ */ jsx393("div", { className: cn("h-full w-80", innerClassName), children })
60135
60075
  }
60136
60076
  );
60137
60077
  }
@@ -60188,7 +60128,7 @@ function SourceChip({
60188
60128
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
60189
60129
  );
60190
60130
  const Icon2 = cta.icon;
60191
- const icon = /* @__PURE__ */ jsx394(Icon2, { className: "h-3.5 w-3.5" });
60131
+ const icon = /* @__PURE__ */ jsx393(Icon2, { className: "h-3.5 w-3.5" });
60192
60132
  const chipClass = chatChipClass({ tone: "secondary" });
60193
60133
  const decideTab = (href, targetPlatform) => computeIsNewTab(runtime, href, targetPlatform);
60194
60134
  if (src.items && src.items.length > 0) {
@@ -60208,22 +60148,22 @@ function SourceChip({
60208
60148
  const ItemIcon = itemCta.icon;
60209
60149
  return {
60210
60150
  label: item.name,
60211
- icon: /* @__PURE__ */ jsx394(ItemIcon, { className: "h-3.5 w-3.5" }),
60151
+ icon: /* @__PURE__ */ jsx393(ItemIcon, { className: "h-3.5 w-3.5" }),
60212
60152
  href: itemCta.href ?? void 0,
60213
60153
  targetPlatform: itemCta.targetPlatform,
60214
60154
  path: item.path ?? null,
60215
60155
  secondaryAction: onDiscuss && itemCta.askable && itemCta.chatRef ? {
60216
- icon: /* @__PURE__ */ jsx394(MessageSquare3, {}),
60156
+ icon: /* @__PURE__ */ jsx393(MessageSquare3, {}),
60217
60157
  label: `Ask about ${item.name}`,
60218
60158
  onClick: () => onDiscuss(itemCta.chatRef)
60219
60159
  } : void 0
60220
60160
  };
60221
60161
  });
60222
- return /* @__PURE__ */ jsx394(
60162
+ return /* @__PURE__ */ jsx393(
60223
60163
  HoverDropdown,
60224
60164
  {
60225
60165
  items: dropdownItems,
60226
- renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ jsx394(
60166
+ renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ jsx393(
60227
60167
  NavLinkAnchorViaRuntime,
60228
60168
  {
60229
60169
  href,
@@ -60233,9 +60173,9 @@ function SourceChip({
60233
60173
  children
60234
60174
  }
60235
60175
  ),
60236
- children: /* @__PURE__ */ jsxs311("span", { className: `${chipClass} cursor-pointer`, children: [
60176
+ children: /* @__PURE__ */ jsxs310("span", { className: `${chipClass} cursor-pointer`, children: [
60237
60177
  icon,
60238
- /* @__PURE__ */ jsxs311("span", { className: "truncate max-w-[160px]", children: [
60178
+ /* @__PURE__ */ jsxs310("span", { className: "truncate max-w-[160px]", children: [
60239
60179
  "[",
60240
60180
  src.index,
60241
60181
  "] ",
@@ -60246,18 +60186,18 @@ function SourceChip({
60246
60186
  );
60247
60187
  }
60248
60188
  const displayName = src.name || formatRelativePath(src.path);
60249
- const chipBody = (label) => /* @__PURE__ */ jsxs311(Fragment89, { children: [
60189
+ const chipBody = (label) => /* @__PURE__ */ jsxs310(Fragment89, { children: [
60250
60190
  icon,
60251
- /* @__PURE__ */ jsxs311("span", { className: "truncate max-w-[160px]", children: [
60191
+ /* @__PURE__ */ jsxs310("span", { className: "truncate max-w-[160px]", children: [
60252
60192
  "[",
60253
60193
  src.index,
60254
60194
  "] ",
60255
60195
  label
60256
60196
  ] })
60257
60197
  ] });
60258
- const wrapChip = (clickable) => /* @__PURE__ */ jsxs311("span", { className: "inline-flex items-center", children: [
60198
+ const wrapChip = (clickable) => /* @__PURE__ */ jsxs310("span", { className: "inline-flex items-center", children: [
60259
60199
  clickable,
60260
- /* @__PURE__ */ jsx394(
60200
+ /* @__PURE__ */ jsx393(
60261
60201
  SourceActionButton,
60262
60202
  {
60263
60203
  chatRef: cta.chatRef,
@@ -60275,7 +60215,7 @@ function SourceChip({
60275
60215
  const resolvedHref = resolveHrefForRuntime(cta.href, runtime);
60276
60216
  const isNewTab = decideTab(resolvedHref, cta.targetPlatform ?? null);
60277
60217
  return wrapChip(
60278
- /* @__PURE__ */ jsx394(
60218
+ /* @__PURE__ */ jsx393(
60279
60219
  "a",
60280
60220
  {
60281
60221
  href: resolvedHref,
@@ -60291,7 +60231,7 @@ function SourceChip({
60291
60231
  const resolvedHref = resolveHrefForRuntime(cta.href, runtime);
60292
60232
  const isNewTab = decideTab(resolvedHref, cta.targetPlatform ?? null);
60293
60233
  return wrapChip(
60294
- /* @__PURE__ */ jsx394(
60234
+ /* @__PURE__ */ jsx393(
60295
60235
  "a",
60296
60236
  {
60297
60237
  href: resolvedHref,
@@ -60305,7 +60245,7 @@ function SourceChip({
60305
60245
  );
60306
60246
  }
60307
60247
  return wrapChip(
60308
- /* @__PURE__ */ jsx394("span", { className: `${chipClass} cursor-default`, title: displayName, children: chipBody(displayName) })
60248
+ /* @__PURE__ */ jsx393("span", { className: `${chipClass} cursor-default`, title: displayName, children: chipBody(displayName) })
60309
60249
  );
60310
60250
  }
60311
60251
  function SourceChips({
@@ -60316,13 +60256,13 @@ function SourceChips({
60316
60256
  onClose,
60317
60257
  onDiscuss
60318
60258
  }) {
60319
- const [expanded, setExpanded] = useState129(false);
60259
+ const [expanded, setExpanded] = useState128(false);
60320
60260
  if (cited.length === 0) {
60321
60261
  const fallback = uncited.slice(0, FALLBACK_TOP_RETRIEVED);
60322
60262
  if (fallback.length === 0) return null;
60323
- return /* @__PURE__ */ jsxs311("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
60324
- /* @__PURE__ */ jsx394("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Top retrieved sources" }),
60325
- /* @__PURE__ */ jsx394("div", { className: "flex flex-wrap gap-1.5", children: fallback.map((src) => /* @__PURE__ */ jsx394(
60263
+ return /* @__PURE__ */ jsxs310("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
60264
+ /* @__PURE__ */ jsx393("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Top retrieved sources" }),
60265
+ /* @__PURE__ */ jsx393("div", { className: "flex flex-wrap gap-1.5", children: fallback.map((src) => /* @__PURE__ */ jsx393(
60326
60266
  SourceChip,
60327
60267
  {
60328
60268
  src,
@@ -60337,14 +60277,14 @@ function SourceChips({
60337
60277
  }
60338
60278
  const hiddenCount = uncited.length;
60339
60279
  const hasOverflow = hiddenCount > 0;
60340
- return /* @__PURE__ */ jsxs311("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
60341
- /* @__PURE__ */ jsx394("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Sources" }),
60342
- /* @__PURE__ */ jsxs311(
60280
+ return /* @__PURE__ */ jsxs310("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
60281
+ /* @__PURE__ */ jsx393("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Sources" }),
60282
+ /* @__PURE__ */ jsxs310(
60343
60283
  "div",
60344
60284
  {
60345
60285
  className: `flex flex-wrap gap-1.5 ${expanded ? "max-h-[200px] overflow-y-auto overscroll-contain" : ""}`,
60346
60286
  children: [
60347
- cited.map((src) => /* @__PURE__ */ jsx394(
60287
+ cited.map((src) => /* @__PURE__ */ jsx393(
60348
60288
  SourceChip,
60349
60289
  {
60350
60290
  src,
@@ -60355,7 +60295,7 @@ function SourceChips({
60355
60295
  },
60356
60296
  src.index
60357
60297
  )),
60358
- expanded && uncited.map((src) => /* @__PURE__ */ jsx394(
60298
+ expanded && uncited.map((src) => /* @__PURE__ */ jsx393(
60359
60299
  SourceChip,
60360
60300
  {
60361
60301
  src,
@@ -60366,7 +60306,7 @@ function SourceChips({
60366
60306
  },
60367
60307
  src.index
60368
60308
  )),
60369
- hasOverflow && /* @__PURE__ */ jsx394(
60309
+ hasOverflow && /* @__PURE__ */ jsx393(
60370
60310
  "button",
60371
60311
  {
60372
60312
  onClick: () => setExpanded(!expanded),
@@ -60382,7 +60322,7 @@ function SourceChips({
60382
60322
  ] });
60383
60323
  }
60384
60324
  function EmbeddableChat(props) {
60385
- return /* @__PURE__ */ jsx394(EmbeddableChatInner, { ...props });
60325
+ return /* @__PURE__ */ jsx393(EmbeddableChatInner, { ...props });
60386
60326
  }
60387
60327
  function EmbeddableChatInner({
60388
60328
  baseRoute,
@@ -60425,7 +60365,7 @@ function EmbeddableChatInner({
60425
60365
  const commandsUrl = runtime.endpoints.commandsUrl;
60426
60366
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
60427
60367
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
60428
- useEffect98(() => {
60368
+ useEffect97(() => {
60429
60369
  if (process.env.NODE_ENV !== "production") {
60430
60370
  const hasOpen = open !== void 0;
60431
60371
  const hasHandler = onOpenChange !== void 0;
@@ -60441,13 +60381,13 @@ function EmbeddableChatInner({
60441
60381
  defaultProp: defaultOpen ?? false,
60442
60382
  onChange: onOpenChange
60443
60383
  });
60444
- const [autoFocusInput] = useState129(() => {
60384
+ const [autoFocusInput] = useState128(() => {
60445
60385
  if (typeof window === "undefined") return false;
60446
60386
  return !window.matchMedia("(pointer: coarse)").matches;
60447
60387
  });
60448
60388
  usePreventScroll5({ isDisabled: !isOpen || shellLess });
60449
60389
  const navigatingAwayRef = useRef83(false);
60450
- useEffect98(() => {
60390
+ useEffect97(() => {
60451
60391
  if (!isOpen) return;
60452
60392
  if (shellLess) return;
60453
60393
  if (typeof window === "undefined") return;
@@ -60474,7 +60414,7 @@ function EmbeddableChatInner({
60474
60414
  };
60475
60415
  }, [isOpen, shellLess]);
60476
60416
  const chatInputRef = useRef83(null);
60477
- const [quickActionPreview, setQuickActionPreview] = useState129(null);
60417
+ const [quickActionPreview, setQuickActionPreview] = useState128(null);
60478
60418
  const slashCommandsProp = useMemo56(
60479
60419
  () => ({
60480
60420
  fetchCommands: (prefix, signal) => fetchSlashCommands(prefix, signal, commandsUrl),
@@ -60517,7 +60457,7 @@ function EmbeddableChatInner({
60517
60457
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
60518
60458
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
60519
60459
  const initialActiveMode = controlledActiveMode ?? defaultActiveMode ?? (effectiveModes.guide ? "guide" : "mingo");
60520
- const [uncontrolledActiveMode, setUncontrolledActiveMode] = useState129(initialActiveMode);
60460
+ const [uncontrolledActiveMode, setUncontrolledActiveMode] = useState128(initialActiveMode);
60521
60461
  const activeMode = controlledActiveMode ?? uncontrolledActiveMode;
60522
60462
  const handleActiveModeChange = useCallback60(
60523
60463
  (next) => {
@@ -60580,7 +60520,7 @@ function EmbeddableChatInner({
60580
60520
  loadMoreMessages
60581
60521
  } = useUnifiedChat({ modes: effectiveModes, activeMode, mingoStateOverride: mingoState });
60582
60522
  const guidePromptSentRef = useRef83(false);
60583
- useEffect98(() => {
60523
+ useEffect97(() => {
60584
60524
  if (!guidePendingPrompt) {
60585
60525
  guidePromptSentRef.current = false;
60586
60526
  return;
@@ -60601,15 +60541,15 @@ function EmbeddableChatInner({
60601
60541
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
60602
60542
  const contextMaxItems = contextPicker?.maxItems ?? 10;
60603
60543
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
60604
- const [contextItems, setContextItems] = useState129([]);
60605
- const [contextPickerOpen, setContextPickerOpen] = useState129(false);
60606
- const [mentionQuery, setMentionQuery] = useState129(null);
60544
+ const [contextItems, setContextItems] = useState128([]);
60545
+ const [contextPickerOpen, setContextPickerOpen] = useState128(false);
60546
+ const [mentionQuery, setMentionQuery] = useState128(null);
60607
60547
  const mentionActiveRef = useRef83(false);
60608
- useEffect98(() => {
60548
+ useEffect97(() => {
60609
60549
  mentionActiveRef.current = mentionQuery !== null;
60610
60550
  }, [mentionQuery]);
60611
60551
  const mentionKeysRef = useRef83(/* @__PURE__ */ new Set());
60612
- useEffect98(() => {
60552
+ useEffect97(() => {
60613
60553
  setContextItems([]);
60614
60554
  setMentionQuery(null);
60615
60555
  mentionKeysRef.current.clear();
@@ -60702,7 +60642,7 @@ function EmbeddableChatInner({
60702
60642
  [discussRef, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
60703
60643
  );
60704
60644
  const mingoAssistantIcon = useMemo56(
60705
- () => effectiveAssistantIcon ? /* @__PURE__ */ jsx394(EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ jsx394(MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
60645
+ () => effectiveAssistantIcon ? /* @__PURE__ */ jsx393(EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ jsx393(MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
60706
60646
  [effectiveAssistantIcon]
60707
60647
  );
60708
60648
  const timestampCacheRef = useRef83(/* @__PURE__ */ new Map());
@@ -60843,7 +60783,7 @@ function EmbeddableChatInner({
60843
60783
  });
60844
60784
  const handleOpen = useCallback60(() => setIsOpen(true), [setIsOpen]);
60845
60785
  useCloseOnNavigation(handleNavigationClose, null);
60846
- useEffect98(() => {
60786
+ useEffect97(() => {
60847
60787
  const handler = (e) => {
60848
60788
  const detail = e.detail;
60849
60789
  if (!detail || detail.source !== source) return;
@@ -60853,7 +60793,7 @@ function EmbeddableChatInner({
60853
60793
  window.addEventListener("ask-ai:open-with-ref", handler);
60854
60794
  return () => window.removeEventListener("ask-ai:open-with-ref", handler);
60855
60795
  }, [source, discussRef, setIsOpen]);
60856
- useEffect98(() => {
60796
+ useEffect97(() => {
60857
60797
  const handler = (e) => {
60858
60798
  const detail = e.detail;
60859
60799
  if (!detail || detail.source !== source) return;
@@ -60870,7 +60810,7 @@ function EmbeddableChatInner({
60870
60810
  const contentViewKey = hasConversation ? "conversation" : activeMode;
60871
60811
  const isGuideEmpty = !hasConversation && activeMode === "guide";
60872
60812
  const isQuickActionEmpty = !hasConversation && (activeMode === "guide" || activeMode === "mingo");
60873
- useEffect98(() => {
60813
+ useEffect97(() => {
60874
60814
  if (!isQuickActionEmpty) setQuickActionPreview(null);
60875
60815
  }, [isQuickActionEmpty]);
60876
60816
  const guideCanReturnToMingo = isGuideEmpty && hasMingoMode;
@@ -60912,11 +60852,11 @@ function EmbeddableChatInner({
60912
60852
  const uncited = sources.filter((s) => !seenOrder.has(s.index));
60913
60853
  return { cited, uncited };
60914
60854
  }, [lastAssistantMsg, chatLoading]);
60915
- const [portalHost, setPortalHost] = useState129(null);
60916
- const [panelBoundary, setPanelBoundary] = useState129(null);
60917
- const [panelWidth, setPanelWidth] = useState129(0);
60855
+ const [portalHost, setPortalHost] = useState128(null);
60856
+ const [panelBoundary, setPanelBoundary] = useState128(null);
60857
+ const [panelWidth, setPanelWidth] = useState128(0);
60918
60858
  const panelMeasureRef = useRef83(null);
60919
- useEffect98(() => {
60859
+ useEffect97(() => {
60920
60860
  const el = panelMeasureRef.current;
60921
60861
  if (!el || typeof ResizeObserver === "undefined") return;
60922
60862
  const ro = new ResizeObserver((entries) => {
@@ -60931,8 +60871,8 @@ function EmbeddableChatInner({
60931
60871
  panelMeasureRef.current = node;
60932
60872
  setPanelBoundary(node);
60933
60873
  }, []);
60934
- const [railCollapsed, setRailCollapsed] = useState129(false);
60935
- useEffect98(() => {
60874
+ const [railCollapsed, setRailCollapsed] = useState128(false);
60875
+ useEffect97(() => {
60936
60876
  try {
60937
60877
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1")
60938
60878
  setRailCollapsed(true);
@@ -60949,15 +60889,15 @@ function EmbeddableChatInner({
60949
60889
  return next;
60950
60890
  });
60951
60891
  }, []);
60952
- const [railSearchOpen, setRailSearchOpen] = useState129(false);
60892
+ const [railSearchOpen, setRailSearchOpen] = useState128(false);
60953
60893
  const splitEligible = activeMode === "mingo";
60954
60894
  const canSplit = panelWidth >= SPLIT_MIN_WIDTH;
60955
60895
  const wideMingo = splitEligible && canSplit && !previewMode;
60956
60896
  const splitActive = wideMingo && !railCollapsed;
60957
60897
  const railPresence = useRailPresence(splitActive);
60958
60898
  const showWideHeader = wideMingo || railPresence.mounted;
60959
- const [composeOpen, setComposeOpen] = useState129(false);
60960
- useEffect98(() => {
60899
+ const [composeOpen, setComposeOpen] = useState128(false);
60900
+ useEffect97(() => {
60961
60901
  if (hasConversation) setComposeOpen(false);
60962
60902
  }, [hasConversation]);
60963
60903
  const isMingoMode = activeMode === "mingo";
@@ -61013,17 +60953,17 @@ function EmbeddableChatInner({
61013
60953
  onArchive: headerOnArchive,
61014
60954
  onOpenArchive: headerOnOpenArchive
61015
60955
  };
61016
- const body = /* @__PURE__ */ jsx394(PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ jsxs311(CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
61017
- /* @__PURE__ */ jsx394(
60956
+ const body = /* @__PURE__ */ jsx393(PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ jsxs310(CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
60957
+ /* @__PURE__ */ jsx393(
61018
60958
  "div",
61019
60959
  {
61020
60960
  ref: setPanelNode,
61021
60961
  className: `flex h-full flex-col overflow-hidden transition-colors duration-200 ${archiveOpen && !splitActive || stackedListView ? "bg-ods-card" : "bg-ods-bg"} ${previewMode ? "pointer-events-none select-none" : ""}`,
61022
- children: archiveOpen && !splitActive ? /* @__PURE__ */ jsx394(
60962
+ children: archiveOpen && !splitActive ? /* @__PURE__ */ jsx393(
61023
60963
  "div",
61024
60964
  {
61025
60965
  className: "flex flex-1 min-h-0 flex-col animate-in fade-in-0 duration-200",
61026
- children: /* @__PURE__ */ jsx394(
60966
+ children: /* @__PURE__ */ jsx393(
61027
60967
  ChatArchivePage,
61028
60968
  {
61029
60969
  dialogs: archivedDialogs,
@@ -61040,7 +60980,7 @@ function EmbeddableChatInner({
61040
60980
  )
61041
60981
  },
61042
60982
  "archive-view"
61043
- ) : /* @__PURE__ */ jsxs311(
60983
+ ) : /* @__PURE__ */ jsxs310(
61044
60984
  "div",
61045
60985
  {
61046
60986
  className: "flex flex-1 min-h-0 flex-col animate-in fade-in-0 duration-200",
@@ -61058,8 +60998,8 @@ function EmbeddableChatInner({
61058
60998
  // the viewport `md` breakpoint — otherwise a 720–799px panel on a
61059
60999
  // sub-`md` viewport would split the body yet drop to the mobile
61060
61000
  // single-bar header (no rail search / collapse controls).
61061
- /* @__PURE__ */ jsxs311("div", { className: "flex h-14 w-full flex-shrink-0 overflow-hidden border-b border-ods-border bg-ods-card", children: [
61062
- railPresence.mounted && /* @__PURE__ */ jsx394(
61001
+ /* @__PURE__ */ jsxs310("div", { className: "flex h-14 w-full flex-shrink-0 overflow-hidden border-b border-ods-border bg-ods-card", children: [
61002
+ railPresence.mounted && /* @__PURE__ */ jsx393(
61063
61003
  RailSlot,
61064
61004
  {
61065
61005
  active: railPresence.active,
@@ -61070,50 +61010,50 @@ function EmbeddableChatInner({
61070
61010
  // renders in the rail below); the chat block is untouched.
61071
61011
  // Back is a full-height leading cell, matching the other
61072
61012
  // header cells (not a small inline chevron).
61073
- /* @__PURE__ */ jsxs311(Fragment89, { children: [
61074
- /* @__PURE__ */ jsx394(
61013
+ /* @__PURE__ */ jsxs310(Fragment89, { children: [
61014
+ /* @__PURE__ */ jsx393(
61075
61015
  ChatHeaderIconButton,
61076
61016
  {
61077
61017
  divider: "right",
61078
61018
  onClick: closeArchive,
61079
61019
  "aria-label": "Back to chats",
61080
- children: /* @__PURE__ */ jsx394(Chevron02LeftIcon, { size: 24 })
61020
+ children: /* @__PURE__ */ jsx393(Chevron02LeftIcon, { size: 24 })
61081
61021
  }
61082
61022
  ),
61083
- /* @__PURE__ */ jsx394("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx394("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Chat Archive" }) })
61023
+ /* @__PURE__ */ jsx393("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx393("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Chat Archive" }) })
61084
61024
  ] })
61085
61025
  ) : (
61086
61026
  // "Current Chats" rail header — title fills, then the
61087
61027
  // search + archive controls. When search is open the
61088
61028
  // inline field takes over the title area in place
61089
61029
  // (Figma 116:51217) and the magnifier toggle is hidden.
61090
- /* @__PURE__ */ jsxs311(Fragment89, { children: [
61091
- railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx394(
61030
+ /* @__PURE__ */ jsxs310(Fragment89, { children: [
61031
+ railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx393(
61092
61032
  ChatHeaderSearchField,
61093
61033
  {
61094
61034
  initialValue: mingoCaps.searchQuery,
61095
61035
  onSearchChange: mingoCaps.onSearchChange,
61096
61036
  onCollapse: () => setRailSearchOpen(false)
61097
61037
  }
61098
- ) : /* @__PURE__ */ jsxs311(Fragment89, { children: [
61099
- /* @__PURE__ */ jsx394("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx394("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Current Chats" }) }),
61100
- mingoCaps.onSearchChange && /* @__PURE__ */ jsx394(
61038
+ ) : /* @__PURE__ */ jsxs310(Fragment89, { children: [
61039
+ /* @__PURE__ */ jsx393("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx393("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Current Chats" }) }),
61040
+ mingoCaps.onSearchChange && /* @__PURE__ */ jsx393(
61101
61041
  ChatHeaderIconButton,
61102
61042
  {
61103
61043
  onClick: () => setRailSearchOpen((o) => !o),
61104
61044
  "aria-label": "Search chats",
61105
61045
  "aria-pressed": railSearchOpen,
61106
- children: /* @__PURE__ */ jsx394(SearchIcon, { size: 24 })
61046
+ children: /* @__PURE__ */ jsx393(SearchIcon, { size: 24 })
61107
61047
  }
61108
61048
  )
61109
61049
  ] }),
61110
- headerOnOpenArchive && /* @__PURE__ */ jsx394(ChatHeaderIconButton, { onClick: headerOnOpenArchive, "aria-label": "Chat archive", children: /* @__PURE__ */ jsx394(ClockHistoryIcon, { size: 24 }) })
61050
+ headerOnOpenArchive && /* @__PURE__ */ jsx393(ChatHeaderIconButton, { onClick: headerOnOpenArchive, "aria-label": "Chat archive", children: /* @__PURE__ */ jsx393(ClockHistoryIcon, { size: 24 }) })
61111
61051
  ] })
61112
61052
  )
61113
61053
  }
61114
61054
  ),
61115
- /* @__PURE__ */ jsxs311("div", { className: "flex flex-1 min-w-0", children: [
61116
- /* @__PURE__ */ jsx394(
61055
+ /* @__PURE__ */ jsxs310("div", { className: "flex flex-1 min-w-0", children: [
61056
+ /* @__PURE__ */ jsx393(
61117
61057
  "button",
61118
61058
  {
61119
61059
  type: "button",
@@ -61121,17 +61061,17 @@ function EmbeddableChatInner({
61121
61061
  "aria-label": splitActive ? "Collapse chat list" : "Show chat list",
61122
61062
  "aria-pressed": !splitActive,
61123
61063
  className: "flex size-14 shrink-0 items-center justify-center border-r border-ods-border text-ods-text-secondary transition-colors hover:bg-ods-bg-hover hover:text-ods-text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
61124
- children: splitActive ? /* @__PURE__ */ jsx394(Arrow02RightIcon, { size: 24 }) : /* @__PURE__ */ jsx394(Arrow02LeftIcon, { size: 24 })
61064
+ children: splitActive ? /* @__PURE__ */ jsx393(Arrow02RightIcon, { size: 24 }) : /* @__PURE__ */ jsx393(Arrow02LeftIcon, { size: 24 })
61125
61065
  }
61126
61066
  ),
61127
- /* @__PURE__ */ jsxs311("div", { className: "flex flex-1 min-w-0 items-center gap-[var(--spacing-system-m)] px-[var(--spacing-system-mf)] py-[var(--spacing-system-sf)]", children: [
61128
- /* @__PURE__ */ jsxs311("div", { className: "flex min-w-0 flex-col", children: [
61129
- /* @__PURE__ */ jsx394("p", { className: "truncate text-h3 leading-tight text-ods-text-primary", children: headerShowBack ? headerTitle : "New Chat" }),
61130
- headerPersonName && /* @__PURE__ */ jsx394("p", { className: "truncate text-h6 leading-tight text-ods-text-secondary", children: headerPersonName })
61067
+ /* @__PURE__ */ jsxs310("div", { className: "flex flex-1 min-w-0 items-center gap-[var(--spacing-system-m)] px-[var(--spacing-system-mf)] py-[var(--spacing-system-sf)]", children: [
61068
+ /* @__PURE__ */ jsxs310("div", { className: "flex min-w-0 flex-col", children: [
61069
+ /* @__PURE__ */ jsx393("p", { className: "truncate text-h3 leading-tight text-ods-text-primary", children: headerShowBack ? headerTitle : "New Chat" }),
61070
+ headerPersonName && /* @__PURE__ */ jsx393("p", { className: "truncate text-h6 leading-tight text-ods-text-secondary", children: headerPersonName })
61131
61071
  ] }),
61132
61072
  headerAvatar ? (
61133
61073
  // Owner avatar at the title cell's right edge (Figma 113:63273).
61134
- /* @__PURE__ */ jsx394(
61074
+ /* @__PURE__ */ jsx393(
61135
61075
  SquareAvatar,
61136
61076
  {
61137
61077
  variant: "round",
@@ -61146,17 +61086,17 @@ function EmbeddableChatInner({
61146
61086
  )
61147
61087
  ) : null
61148
61088
  ] }),
61149
- isViewingArchived && headerOnRestore && /* @__PURE__ */ jsx394(ChatHeaderIconButton, { onClick: headerOnRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ jsx394(Refresh01LeftIcon, { size: 24 }) }),
61150
- headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ jsx394(
61089
+ isViewingArchived && headerOnRestore && /* @__PURE__ */ jsx393(ChatHeaderIconButton, { onClick: headerOnRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ jsx393(Refresh01LeftIcon, { size: 24 }) }),
61090
+ headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ jsx393(
61151
61091
  ActionsMenuDropdown,
61152
61092
  {
61153
61093
  triggerAriaLabel: "Chat actions",
61154
61094
  onCloseAutoFocus: (e) => e.preventDefault(),
61155
61095
  groups: [{ items: splitHeaderMenuItems }],
61156
- customTrigger: /* @__PURE__ */ jsx394(ChatHeaderIconButton, { "aria-label": "Chat actions", children: /* @__PURE__ */ jsx394(Ellipsis01Icon, { size: 24 }) })
61096
+ customTrigger: /* @__PURE__ */ jsx393(ChatHeaderIconButton, { "aria-label": "Chat actions", children: /* @__PURE__ */ jsx393(Ellipsis01Icon, { size: 24 }) })
61157
61097
  }
61158
61098
  ),
61159
- /* @__PURE__ */ jsx394(ChatHeaderIconButton, { onClick: handleClose, "aria-label": "Close", children: /* @__PURE__ */ jsx394(XmarkIcon, { size: 24 }) })
61099
+ /* @__PURE__ */ jsx393(ChatHeaderIconButton, { onClick: handleClose, "aria-label": "Close", children: /* @__PURE__ */ jsx393(XmarkIcon, { size: 24 }) })
61160
61100
  ] })
61161
61101
  ] })
61162
61102
  ) : (
@@ -61164,11 +61104,11 @@ function EmbeddableChatInner({
61164
61104
  // guide, resolved into `narrowHeaderProps` above. (Wide layouts,
61165
61105
  // including rail-collapsed, use the wide header above.) Embedded
61166
61106
  // previews (hero demo tabs) force the compact bar via `compact`.
61167
- /* @__PURE__ */ jsx394(ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
61107
+ /* @__PURE__ */ jsx393(ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
61168
61108
  ),
61169
- activeMode === "guide" && hasMingoMode && /* @__PURE__ */ jsx394(GuideModeBanner, { className: "animate-in fade-in-0 duration-200" }),
61170
- /* @__PURE__ */ jsxs311("div", { className: "flex flex-1 min-h-0 overflow-hidden", children: [
61171
- railPresence.mounted && /* @__PURE__ */ jsx394(
61109
+ activeMode === "guide" && hasMingoMode && /* @__PURE__ */ jsx393(GuideModeBanner, { className: "animate-in fade-in-0 duration-200" }),
61110
+ /* @__PURE__ */ jsxs310("div", { className: "flex flex-1 min-h-0 overflow-hidden", children: [
61111
+ railPresence.mounted && /* @__PURE__ */ jsx393(
61172
61112
  RailSlot,
61173
61113
  {
61174
61114
  active: railPresence.active,
@@ -61176,7 +61116,7 @@ function EmbeddableChatInner({
61176
61116
  children: archiveOpen ? (
61177
61117
  // Archive list inside the rail (header lives in the split
61178
61118
  // header's left cell above). Right chat block stays put.
61179
- /* @__PURE__ */ jsx394(
61119
+ /* @__PURE__ */ jsx393(
61180
61120
  ChatArchivePage,
61181
61121
  {
61182
61122
  embedded: true,
@@ -61190,7 +61130,7 @@ function EmbeddableChatInner({
61190
61130
  }
61191
61131
  }
61192
61132
  )
61193
- ) : /* @__PURE__ */ jsx394(
61133
+ ) : /* @__PURE__ */ jsx393(
61194
61134
  MingoHistoryRail,
61195
61135
  {
61196
61136
  dialogs,
@@ -61214,11 +61154,11 @@ function EmbeddableChatInner({
61214
61154
  )
61215
61155
  }
61216
61156
  ),
61217
- /* @__PURE__ */ jsx394("div", { className: "flex flex-1 flex-col min-h-0 min-w-0", children: stackedListView ? (
61157
+ /* @__PURE__ */ jsx393("div", { className: "flex flex-1 flex-col min-h-0 min-w-0", children: stackedListView ? (
61218
61158
  // Narrow "Current Chats" list (Figma 341:36190) — the default
61219
61159
  // single-column view. No composer here; "Start New Chat" opens
61220
61160
  // the compose view.
61221
- /* @__PURE__ */ jsx394(
61161
+ /* @__PURE__ */ jsx393(
61222
61162
  MingoHistoryRail,
61223
61163
  {
61224
61164
  className: "animate-in fade-in-0 duration-200",
@@ -61241,17 +61181,17 @@ function EmbeddableChatInner({
61241
61181
  onRetry: reloadDialogs
61242
61182
  }
61243
61183
  )
61244
- ) : /* @__PURE__ */ jsxs311(Fragment89, { children: [
61245
- /* @__PURE__ */ jsx394(
61184
+ ) : /* @__PURE__ */ jsxs310(Fragment89, { children: [
61185
+ /* @__PURE__ */ jsx393(
61246
61186
  "div",
61247
61187
  {
61248
61188
  ref: galleryPanelRef,
61249
61189
  className: "flex-1 flex flex-col min-h-0 p-[var(--spacing-system-m)]",
61250
- children: /* @__PURE__ */ jsx394(
61190
+ children: /* @__PURE__ */ jsx393(
61251
61191
  "div",
61252
61192
  {
61253
61193
  className: "flex-1 flex flex-col min-h-0 animate-in fade-in-0 duration-200",
61254
- children: hasConversation ? /* @__PURE__ */ jsxs311("div", { className: "flex-1 flex flex-col min-h-0", children: [
61194
+ children: hasConversation ? /* @__PURE__ */ jsxs310("div", { className: "flex-1 flex flex-col min-h-0", children: [
61255
61195
  messagesInitialLoading ? (
61256
61196
  // Match the real list's `fullWidth` layout so swapping
61257
61197
  // skeleton → bubbles doesn't shift the column. The panel
@@ -61263,7 +61203,7 @@ function EmbeddableChatInner({
61263
61203
  // skeleton overflows a short panel and grows its OWN
61264
61204
  // scrollbar — ugly. `fill` top-anchors + clips overflow so
61265
61205
  // it reads as "the whole panel is loading" and never scrolls.
61266
- /* @__PURE__ */ jsx394(
61206
+ /* @__PURE__ */ jsx393(
61267
61207
  ChatMessageListSkeleton,
61268
61208
  {
61269
61209
  fullWidth: true,
@@ -61271,7 +61211,7 @@ function EmbeddableChatInner({
61271
61211
  className: "flex-1"
61272
61212
  }
61273
61213
  )
61274
- ) : /* @__PURE__ */ jsx394(
61214
+ ) : /* @__PURE__ */ jsx393(
61275
61215
  ChatMessageList,
61276
61216
  {
61277
61217
  messages,
@@ -61296,7 +61236,7 @@ function EmbeddableChatInner({
61296
61236
  onLoadMore: loadMoreMessages
61297
61237
  }
61298
61238
  ),
61299
- lastSources && (lastSources.cited.length > 0 || lastSources.uncited.length > 0) && !chatLoading && /* @__PURE__ */ jsx394("div", { className: "flex-shrink-0 pb-2", children: /* @__PURE__ */ jsx394(
61239
+ lastSources && (lastSources.cited.length > 0 || lastSources.uncited.length > 0) && !chatLoading && /* @__PURE__ */ jsx393("div", { className: "flex-shrink-0 pb-2", children: /* @__PURE__ */ jsx393(
61300
61240
  SourceChips,
61301
61241
  {
61302
61242
  cited: lastSources.cited,
@@ -61312,7 +61252,7 @@ function EmbeddableChatInner({
61312
61252
  centred greeting + capability grid + Guide-chat promo +
61313
61253
  quick-action chips. Guide mode keeps the slash-command
61314
61254
  onboarding list below. */
61315
- /* @__PURE__ */ jsx394(
61255
+ /* @__PURE__ */ jsx393(
61316
61256
  MingoWelcome,
61317
61257
  {
61318
61258
  onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
@@ -61327,7 +61267,7 @@ function EmbeddableChatInner({
61327
61267
  /* Figma node 7532:328214 — Guide-mode empty state: greeting
61328
61268
  + slash-command onboarding list share one scroll region,
61329
61269
  with a pinned quick-action chip row above the composer. */
61330
- /* @__PURE__ */ jsx394(
61270
+ /* @__PURE__ */ jsx393(
61331
61271
  GuideWelcome,
61332
61272
  {
61333
61273
  subtitle: effectiveGreeting ?? void 0,
@@ -61343,8 +61283,8 @@ function EmbeddableChatInner({
61343
61283
  onQuickActionHover: (action) => setQuickActionPreview(action.prompt ?? action.label),
61344
61284
  onQuickActionHoverEnd: () => setQuickActionPreview(null),
61345
61285
  agentSlug: activeAgentSlug,
61346
- children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ jsxs311("div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
61347
- !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ jsx394(
61286
+ children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ jsxs310("div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
61287
+ !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ jsx393(
61348
61288
  MingoOnboardingCardSkeleton,
61349
61289
  {
61350
61290
  titleWidth: variant.titleWidth,
@@ -61366,10 +61306,10 @@ function EmbeddableChatInner({
61366
61306
  chatInputRef
61367
61307
  )
61368
61308
  }));
61369
- return /* @__PURE__ */ jsx394(
61309
+ return /* @__PURE__ */ jsx393(
61370
61310
  MingoOnboardingCard,
61371
61311
  {
61372
- icon: /* @__PURE__ */ jsx394(Icon2, { size: 16 }),
61312
+ icon: /* @__PURE__ */ jsx393(Icon2, { size: 16 }),
61373
61313
  title: label,
61374
61314
  slashCommand: `/${cmdId}`,
61375
61315
  description: cmd.description,
@@ -61387,7 +61327,7 @@ function EmbeddableChatInner({
61387
61327
  )
61388
61328
  }
61389
61329
  ),
61390
- /* @__PURE__ */ jsx394(
61330
+ /* @__PURE__ */ jsx393(
61391
61331
  ChatAttachmentChipStrip,
61392
61332
  {
61393
61333
  attachments: stagedAttachments,
@@ -61395,7 +61335,7 @@ function EmbeddableChatInner({
61395
61335
  disabled: chatLoading
61396
61336
  }
61397
61337
  ),
61398
- /* @__PURE__ */ jsx394(
61338
+ /* @__PURE__ */ jsx393(
61399
61339
  ChatComposer,
61400
61340
  {
61401
61341
  archived: isViewingArchived,
@@ -61444,7 +61384,7 @@ function EmbeddableChatInner({
61444
61384
  }
61445
61385
  ),
61446
61386
  galleryModal,
61447
- /* @__PURE__ */ jsx394(
61387
+ /* @__PURE__ */ jsx393(
61448
61388
  ChatDialogModals,
61449
61389
  {
61450
61390
  renameTarget,
@@ -61458,15 +61398,15 @@ function EmbeddableChatInner({
61458
61398
  onConfirmRestore: handleConfirmRestore
61459
61399
  }
61460
61400
  ),
61461
- /* @__PURE__ */ jsx394("div", { ref: setPortalHost, style: { display: "contents" } })
61401
+ /* @__PURE__ */ jsx393("div", { ref: setPortalHost, style: { display: "contents" } })
61462
61402
  ] }) });
61463
- const panel = shellLess ? /* @__PURE__ */ jsxs311(ChatPanelContext.Provider, { value: chatPanelHandle, children: [
61464
- /* @__PURE__ */ jsx394(VisuallyHidden, { children: /* @__PURE__ */ jsxs311(DialogPrimitive5.Title, { children: [
61403
+ const panel = shellLess ? /* @__PURE__ */ jsxs310(ChatPanelContext.Provider, { value: chatPanelHandle, children: [
61404
+ /* @__PURE__ */ jsx393(VisuallyHidden, { children: /* @__PURE__ */ jsxs310(DialogPrimitive5.Title, { children: [
61465
61405
  sourceLabel,
61466
61406
  " AI Assistant"
61467
61407
  ] }) }),
61468
61408
  body
61469
- ] }) : /* @__PURE__ */ jsx394(Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ jsx394(ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ jsxs311(
61409
+ ] }) : /* @__PURE__ */ jsx393(Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ jsx393(ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ jsxs310(
61470
61410
  DrawerContent,
61471
61411
  {
61472
61412
  side: "right",
@@ -61481,7 +61421,7 @@ function EmbeddableChatInner({
61481
61421
  "aria-describedby": void 0,
61482
61422
  className: "\n mingo-chat-content !bg-ods-bg shadow-2xl\n focus:outline-none focus-visible:outline-none\n w-screen md:w-auto\n ",
61483
61423
  children: [
61484
- /* @__PURE__ */ jsx394(VisuallyHidden, { children: /* @__PURE__ */ jsxs311(DialogPrimitive5.Title, { children: [
61424
+ /* @__PURE__ */ jsx393(VisuallyHidden, { children: /* @__PURE__ */ jsxs310(DialogPrimitive5.Title, { children: [
61485
61425
  sourceLabel,
61486
61426
  " AI Assistant"
61487
61427
  ] }) }),
@@ -61489,17 +61429,17 @@ function EmbeddableChatInner({
61489
61429
  ]
61490
61430
  }
61491
61431
  ) }) });
61492
- return /* @__PURE__ */ jsxs311(Fragment89, { children: [
61493
- showInternalTrigger && !shellLess && /* @__PURE__ */ jsx394(
61432
+ return /* @__PURE__ */ jsxs310(Fragment89, { children: [
61433
+ showInternalTrigger && !shellLess && /* @__PURE__ */ jsx393(
61494
61434
  "div",
61495
61435
  {
61496
61436
  "aria-hidden": isOpen,
61497
61437
  className: `sticky bottom-0 h-0 z-[9990] pointer-events-none ${isOpen ? "opacity-0" : "opacity-100"}`,
61498
- children: /* @__PURE__ */ jsx394("div", { className: "absolute bottom-4 md:bottom-6 right-4 md:right-6", children: /* @__PURE__ */ jsx394(
61438
+ children: /* @__PURE__ */ jsx393("div", { className: "absolute bottom-4 md:bottom-6 right-4 md:right-6", children: /* @__PURE__ */ jsx393(
61499
61439
  Button,
61500
61440
  {
61501
61441
  onClick: handleOpen,
61502
- leftIcon: /* @__PURE__ */ jsx394(MingoIcon, { className: "h-5 w-5", color: "currentColor" }),
61442
+ leftIcon: /* @__PURE__ */ jsx393(MingoIcon, { className: "h-5 w-5", color: "currentColor" }),
61503
61443
  tabIndex: isOpen ? -1 : 0,
61504
61444
  className: `shadow-lg !w-auto pointer-events-auto ${isOpen ? "!pointer-events-none" : ""}`,
61505
61445
  children: "Ask AI"
@@ -62568,7 +62508,6 @@ export {
62568
62508
  renderTicketAssigneeOption,
62569
62509
  TakeOverTicketModal,
62570
62510
  ReopenTicketModal,
62571
- ReopenTicketRequestModal,
62572
62511
  FilterPillRow,
62573
62512
  MingoAiButton,
62574
62513
  MOBILE_NAV_PANEL_ID,
@@ -62613,4 +62552,4 @@ export {
62613
62552
  LogsList,
62614
62553
  assets
62615
62554
  };
62616
- //# sourceMappingURL=chunk-BYKPDIVC.js.map
62555
+ //# sourceMappingURL=chunk-NQSGY5HW.js.map