@flamingo-stack/openframe-frontend-core 0.0.536 → 0.0.537-1788.4718.1

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 (103) hide show
  1. package/dist/{chunk-FFJL6FEB.js → chunk-3GXMS4OP.js} +2 -2
  2. package/dist/{chunk-LUZPF7NX.js → chunk-5JPSQOZQ.js} +2 -2
  3. package/dist/{chunk-6SV4XZMD.js → chunk-7EHGP4QK.js} +843 -720
  4. package/dist/chunk-7EHGP4QK.js.map +1 -0
  5. package/dist/{chunk-IOXNHTGX.js → chunk-7FXZHI5D.js} +2 -2
  6. package/dist/{chunk-ZZDRBFEV.cjs → chunk-7WNJ7RFO.cjs} +14 -14
  7. package/dist/{chunk-ZZDRBFEV.cjs.map → chunk-7WNJ7RFO.cjs.map} +1 -1
  8. package/dist/{chunk-AECHSFLC.js → chunk-C4LEH3VE.js} +2 -2
  9. package/dist/{chunk-NCUZ64LM.cjs → chunk-CATY4DVR.cjs} +87 -87
  10. package/dist/{chunk-NCUZ64LM.cjs.map → chunk-CATY4DVR.cjs.map} +1 -1
  11. package/dist/{chunk-BHB7F4EN.js → chunk-CQQXB25K.js} +2 -2
  12. package/dist/{chunk-QAMRW5TG.js → chunk-CZHCXCWL.js} +2 -2
  13. package/dist/{chunk-L73PC7MW.cjs → chunk-DHSVBGOX.cjs} +9 -9
  14. package/dist/{chunk-L73PC7MW.cjs.map → chunk-DHSVBGOX.cjs.map} +1 -1
  15. package/dist/{chunk-MM5C6NID.js → chunk-HRC56BQW.js} +5 -5
  16. package/dist/{chunk-PA5NMP6K.cjs → chunk-KKZ2QMQD.cjs} +26 -26
  17. package/dist/{chunk-PA5NMP6K.cjs.map → chunk-KKZ2QMQD.cjs.map} +1 -1
  18. package/dist/{chunk-X6UHNN3E.js → chunk-LFMIAPBP.js} +2 -2
  19. package/dist/{chunk-3XSSW3IZ.cjs → chunk-MDP3YKFI.cjs} +5 -5
  20. package/dist/{chunk-3XSSW3IZ.cjs.map → chunk-MDP3YKFI.cjs.map} +1 -1
  21. package/dist/{chunk-ONWQ52QG.js → chunk-MOIHWYSA.js} +2 -2
  22. package/dist/{chunk-C257223X.cjs → chunk-OYTM3YXO.cjs} +7 -7
  23. package/dist/{chunk-C257223X.cjs.map → chunk-OYTM3YXO.cjs.map} +1 -1
  24. package/dist/{chunk-MTLFROMV.cjs → chunk-QPPG3KHW.cjs} +3 -3
  25. package/dist/{chunk-MTLFROMV.cjs.map → chunk-QPPG3KHW.cjs.map} +1 -1
  26. package/dist/{chunk-2PJ442HY.js → chunk-SGNWSUL3.js} +6 -6
  27. package/dist/{chunk-32SKUKQO.cjs → chunk-SKIM263K.cjs} +37 -37
  28. package/dist/{chunk-32SKUKQO.cjs.map → chunk-SKIM263K.cjs.map} +1 -1
  29. package/dist/{chunk-BEZFZ2CS.js → chunk-TCSSYTDN.js} +4 -4
  30. package/dist/{chunk-EEOLXN4D.cjs → chunk-V4D5MPB7.cjs} +4 -4
  31. package/dist/{chunk-EEOLXN4D.cjs.map → chunk-V4D5MPB7.cjs.map} +1 -1
  32. package/dist/{chunk-3ROYMRZE.cjs → chunk-VSIHO7DJ.cjs} +61 -61
  33. package/dist/{chunk-3ROYMRZE.cjs.map → chunk-VSIHO7DJ.cjs.map} +1 -1
  34. package/dist/{chunk-NEV7TKMB.js → chunk-WHUEUACV.js} +2 -2
  35. package/dist/{chunk-SL2GDMZR.cjs → chunk-WJIBB3KT.cjs} +31 -31
  36. package/dist/{chunk-SL2GDMZR.cjs.map → chunk-WJIBB3KT.cjs.map} +1 -1
  37. package/dist/{chunk-FIPHDAD2.cjs → chunk-YEKXTTAC.cjs} +26 -26
  38. package/dist/{chunk-FIPHDAD2.cjs.map → chunk-YEKXTTAC.cjs.map} +1 -1
  39. package/dist/{chunk-GM72KRPS.js → chunk-YIDGB5KP.js} +4 -4
  40. package/dist/{chunk-TRLZV7WM.cjs → chunk-YMPRMZDD.cjs} +413 -290
  41. package/dist/{chunk-TRLZV7WM.cjs.map → chunk-YMPRMZDD.cjs.map} +1 -1
  42. package/dist/{chunk-4TO3WDKH.cjs → chunk-YPI3JIR6.cjs} +11 -11
  43. package/dist/{chunk-4TO3WDKH.cjs.map → chunk-YPI3JIR6.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 +134 -132
  61. package/dist/components/index.cjs.map +1 -1
  62. package/dist/components/index.js +13 -11
  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/assignee-dropdown.d.ts +6 -0
  75. package/dist/components/ui/assignee-dropdown.d.ts.map +1 -1
  76. package/dist/components/ui/index.cjs +4 -2
  77. package/dist/components/ui/index.cjs.map +1 -1
  78. package/dist/components/ui/index.d.ts +1 -0
  79. package/dist/components/ui/index.d.ts.map +1 -1
  80. package/dist/components/ui/index.js +3 -1
  81. package/dist/components/ui/take-over-ticket-modal.d.ts +44 -0
  82. package/dist/components/ui/take-over-ticket-modal.d.ts.map +1 -0
  83. package/dist/index.cjs +4 -2
  84. package/dist/index.cjs.map +1 -1
  85. package/dist/index.js +3 -1
  86. package/package.json +1 -1
  87. package/src/components/ui/assignee-dropdown.tsx +21 -0
  88. package/src/components/ui/index.ts +1 -0
  89. package/src/components/ui/take-over-ticket-modal.tsx +183 -0
  90. package/dist/chunk-6SV4XZMD.js.map +0 -1
  91. /package/dist/{chunk-FFJL6FEB.js.map → chunk-3GXMS4OP.js.map} +0 -0
  92. /package/dist/{chunk-LUZPF7NX.js.map → chunk-5JPSQOZQ.js.map} +0 -0
  93. /package/dist/{chunk-IOXNHTGX.js.map → chunk-7FXZHI5D.js.map} +0 -0
  94. /package/dist/{chunk-AECHSFLC.js.map → chunk-C4LEH3VE.js.map} +0 -0
  95. /package/dist/{chunk-BHB7F4EN.js.map → chunk-CQQXB25K.js.map} +0 -0
  96. /package/dist/{chunk-QAMRW5TG.js.map → chunk-CZHCXCWL.js.map} +0 -0
  97. /package/dist/{chunk-MM5C6NID.js.map → chunk-HRC56BQW.js.map} +0 -0
  98. /package/dist/{chunk-X6UHNN3E.js.map → chunk-LFMIAPBP.js.map} +0 -0
  99. /package/dist/{chunk-ONWQ52QG.js.map → chunk-MOIHWYSA.js.map} +0 -0
  100. /package/dist/{chunk-2PJ442HY.js.map → chunk-SGNWSUL3.js.map} +0 -0
  101. /package/dist/{chunk-BEZFZ2CS.js.map → chunk-TCSSYTDN.js.map} +0 -0
  102. /package/dist/{chunk-NEV7TKMB.js.map → chunk-WHUEUACV.js.map} +0 -0
  103. /package/dist/{chunk-GM72KRPS.js.map → chunk-YIDGB5KP.js.map} +0 -0
@@ -16920,7 +16920,7 @@ function OnboardingGuideCard({
16920
16920
  }
16921
16921
 
16922
16922
  // src/components/chat/entity-cards/roadmap-card.tsx
16923
- import { useState as useState113 } from "react";
16923
+ import { useState as useState114 } from "react";
16924
16924
  import { ThumbsUp, ThumbsDown } from "lucide-react";
16925
16925
 
16926
16926
  // src/components/chat/entity-cards/roadmap-vote-button.tsx
@@ -17022,7 +17022,7 @@ function AvatarStack({
17022
17022
  init_button();
17023
17023
 
17024
17024
  // src/components/ui/image-gallery-modal.tsx
17025
- import { useState as useState112, useEffect as useEffect84 } from "react";
17025
+ import { useState as useState113, useEffect as useEffect85 } from "react";
17026
17026
 
17027
17027
  // src/components/ui/allowed-domains-input.tsx
17028
17028
  init_cn();
@@ -19739,7 +19739,8 @@ function CompactAssigneeDropdown({
19739
19739
  options,
19740
19740
  isLoading,
19741
19741
  onAssign,
19742
- className
19742
+ className,
19743
+ onTriggerClick
19743
19744
  }) {
19744
19745
  const hasAssignee = !!currentAssignee;
19745
19746
  const orderedOptions = React55.useMemo(() => {
@@ -19766,10 +19767,16 @@ function CompactAssigneeDropdown({
19766
19767
  const handleSelect = (userId) => {
19767
19768
  onAssign(currentAssignee?.id === userId ? null : userId);
19768
19769
  };
19770
+ const handleTriggerClick = onTriggerClick ? (event) => {
19771
+ event.preventDefault();
19772
+ event.stopPropagation();
19773
+ onTriggerClick();
19774
+ } : void 0;
19769
19775
  const trigger = hasAssignee ? /* @__PURE__ */ jsx125(
19770
19776
  "button",
19771
19777
  {
19772
19778
  type: "button",
19779
+ onClick: handleTriggerClick,
19773
19780
  "aria-label": "Change assignee",
19774
19781
  className: cn(
19775
19782
  "shrink-0 rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
@@ -19790,6 +19797,7 @@ function CompactAssigneeDropdown({
19790
19797
  "button",
19791
19798
  {
19792
19799
  type: "button",
19800
+ onClick: handleTriggerClick,
19793
19801
  "aria-label": "Assign user",
19794
19802
  className: cn(
19795
19803
  "size-8 rounded-full border border-ods-border flex items-center justify-center shrink-0",
@@ -19800,6 +19808,7 @@ function CompactAssigneeDropdown({
19800
19808
  children: /* @__PURE__ */ jsx125(UserPlusIcon, { className: "size-4" })
19801
19809
  }
19802
19810
  );
19811
+ if (onTriggerClick) return trigger;
19803
19812
  return /* @__PURE__ */ jsx125(
19804
19813
  SearchableSelect,
19805
19814
  {
@@ -48481,10 +48490,123 @@ function TicketInfoSection({
48481
48490
  );
48482
48491
  }
48483
48492
 
48493
+ // src/components/ui/take-over-ticket-modal.tsx
48494
+ import * as React143 from "react";
48495
+ init_button2();
48496
+ import { jsx as jsx372, jsxs as jsxs295 } from "react/jsx-runtime";
48497
+ function renderStatusOption(option, isSelected) {
48498
+ const { label, color } = option;
48499
+ return /* @__PURE__ */ jsxs295("div", { className: "flex items-center justify-between w-full min-w-0 gap-[var(--spacing-system-xs)]", children: [
48500
+ /* @__PURE__ */ jsxs295("div", { className: "flex items-center gap-[var(--spacing-system-xs)] min-w-0", children: [
48501
+ /* @__PURE__ */ jsx372(ColorSwatch, { color }),
48502
+ /* @__PURE__ */ jsx372("div", { className: "min-w-0", children: /* @__PURE__ */ jsx372(TruncateText, { className: "text-inherit", children: label }) })
48503
+ ] }),
48504
+ isSelected && /* @__PURE__ */ jsx372(CheckIcon, { className: "text-ods-accent", size: 20 })
48505
+ ] });
48506
+ }
48507
+ function renderAssigneeOption(option, isSelected) {
48508
+ const { label, imageUrl } = option;
48509
+ return /* @__PURE__ */ jsxs295("div", { className: "flex items-center justify-between w-full min-w-0 gap-[var(--spacing-system-xs)]", children: [
48510
+ /* @__PURE__ */ jsxs295("div", { className: "flex items-center gap-[var(--spacing-system-xs)] min-w-0", children: [
48511
+ /* @__PURE__ */ jsx372(SquareAvatar, { src: imageUrl, alt: label, fallback: label, size: "sm", variant: "round" }),
48512
+ /* @__PURE__ */ jsx372("div", { className: "min-w-0", children: /* @__PURE__ */ jsx372(TruncateText, { className: "text-inherit", children: label }) })
48513
+ ] }),
48514
+ isSelected && /* @__PURE__ */ jsx372(CheckIcon, { className: "text-ods-accent", size: 20 })
48515
+ ] });
48516
+ }
48517
+ function TakeOverTicketModal({
48518
+ isOpen,
48519
+ onClose,
48520
+ ticketRef,
48521
+ statusOptions,
48522
+ assigneeOptions,
48523
+ assigneesLoading,
48524
+ initialStatusId,
48525
+ initialAssigneeId,
48526
+ isPending = false,
48527
+ onConfirm
48528
+ }) {
48529
+ const [statusId, setStatusId] = React143.useState(null);
48530
+ const [assigneeId, setAssigneeId] = React143.useState(null);
48531
+ React143.useEffect(() => {
48532
+ if (!isOpen) return;
48533
+ setStatusId(initialStatusId ?? null);
48534
+ setAssigneeId(initialAssigneeId ?? null);
48535
+ }, [isOpen, initialStatusId, initialAssigneeId]);
48536
+ const selectedStatusId = statusId ?? statusOptions[0]?.value ?? null;
48537
+ const selectedStatus = statusOptions.find((o) => o.value === selectedStatusId);
48538
+ const selectedAssignee = assigneeOptions.find((o) => o.value === assigneeId);
48539
+ const handleConfirm = () => {
48540
+ if (!selectedStatusId || !assigneeId || isPending) return;
48541
+ onConfirm({ statusId: selectedStatusId, assigneeId });
48542
+ };
48543
+ return /* @__PURE__ */ jsxs295(Modal, { isOpen, onClose: isPending ? () => {
48544
+ } : onClose, className: "text-left md:max-w-[600px]", children: [
48545
+ /* @__PURE__ */ jsx372(ModalHeader, { children: /* @__PURE__ */ jsx372(ModalTitle, { children: "Take Over Ticket" }) }),
48546
+ /* @__PURE__ */ jsxs295("p", { className: "text-h4 text-ods-text-primary", children: [
48547
+ "The ticket ",
48548
+ /* @__PURE__ */ jsx372("span", { className: "text-ods-accent", children: ticketRef }),
48549
+ " will move to the selected status and be assigned to the technician. A direct chat with the user will start, and the AI assistant will stop working on this ticket."
48550
+ ] }),
48551
+ /* @__PURE__ */ jsxs295("div", { className: "flex flex-col md:flex-row gap-[var(--spacing-system-l)] w-full", children: [
48552
+ /* @__PURE__ */ jsx372("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx372(
48553
+ Autocomplete,
48554
+ {
48555
+ label: "Status",
48556
+ options: statusOptions,
48557
+ value: selectedStatusId,
48558
+ onChange: setStatusId,
48559
+ placeholder: "Select Status",
48560
+ startAdornment: selectedStatus ? /* @__PURE__ */ jsx372(ColorSwatch, { color: selectedStatus.color }) : void 0,
48561
+ renderOption: renderStatusOption
48562
+ }
48563
+ ) }),
48564
+ /* @__PURE__ */ jsx372("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx372(
48565
+ Autocomplete,
48566
+ {
48567
+ label: "Assigned",
48568
+ options: assigneeOptions,
48569
+ value: assigneeId,
48570
+ onChange: setAssigneeId,
48571
+ placeholder: "Select Technician",
48572
+ loading: assigneesLoading,
48573
+ startAdornment: selectedAssignee ? /* @__PURE__ */ jsx372(
48574
+ SquareAvatar,
48575
+ {
48576
+ src: selectedAssignee.imageUrl,
48577
+ alt: selectedAssignee.label,
48578
+ fallback: selectedAssignee.label,
48579
+ size: "sm",
48580
+ variant: "round"
48581
+ }
48582
+ ) : void 0,
48583
+ renderOption: renderAssigneeOption
48584
+ }
48585
+ ) })
48586
+ ] }),
48587
+ /* @__PURE__ */ jsxs295(ModalFooter, { children: [
48588
+ /* @__PURE__ */ jsx372(Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
48589
+ /* @__PURE__ */ jsx372("div", { className: "hidden md:block flex-1" }),
48590
+ /* @__PURE__ */ jsx372(
48591
+ Button,
48592
+ {
48593
+ type: "button",
48594
+ variant: "accent",
48595
+ onClick: handleConfirm,
48596
+ loading: isPending,
48597
+ disabled: !selectedStatusId || !assigneeId,
48598
+ className: "flex-1",
48599
+ children: "Take Over"
48600
+ }
48601
+ )
48602
+ ] })
48603
+ ] });
48604
+ }
48605
+
48484
48606
  // src/components/ui/filter-pill-row.tsx
48485
48607
  init_button2();
48486
48608
  import { Filter as Filter2 } from "lucide-react";
48487
- import { jsx as jsx372, jsxs as jsxs295 } from "react/jsx-runtime";
48609
+ import { jsx as jsx373, jsxs as jsxs296 } from "react/jsx-runtime";
48488
48610
  function FilterPillRow({
48489
48611
  label,
48490
48612
  selectedValue,
@@ -48493,12 +48615,12 @@ function FilterPillRow({
48493
48615
  countLabel,
48494
48616
  children
48495
48617
  }) {
48496
- return /* @__PURE__ */ jsxs295("div", { className: "flex flex-wrap items-center gap-3 p-4 bg-ods-card border border-ods-border rounded-lg", children: [
48497
- /* @__PURE__ */ jsxs295("div", { className: "flex items-center gap-2", children: [
48498
- /* @__PURE__ */ jsx372(Filter2, { className: "h-4 w-4 text-ods-accent" }),
48499
- /* @__PURE__ */ jsx372("span", { className: "text-h5 text-ods-text-secondary", children: label })
48618
+ return /* @__PURE__ */ jsxs296("div", { className: "flex flex-wrap items-center gap-3 p-4 bg-ods-card border border-ods-border rounded-lg", children: [
48619
+ /* @__PURE__ */ jsxs296("div", { className: "flex items-center gap-2", children: [
48620
+ /* @__PURE__ */ jsx373(Filter2, { className: "h-4 w-4 text-ods-accent" }),
48621
+ /* @__PURE__ */ jsx373("span", { className: "text-h5 text-ods-text-secondary", children: label })
48500
48622
  ] }),
48501
- children || options.map((opt) => /* @__PURE__ */ jsx372(
48623
+ children || options.map((opt) => /* @__PURE__ */ jsx373(
48502
48624
  Button,
48503
48625
  {
48504
48626
  type: "button",
@@ -48510,21 +48632,21 @@ function FilterPillRow({
48510
48632
  },
48511
48633
  opt.value
48512
48634
  )),
48513
- countLabel && /* @__PURE__ */ jsx372("div", { className: "ml-auto text-h6 text-ods-text-secondary shrink-0", children: countLabel })
48635
+ countLabel && /* @__PURE__ */ jsx373("div", { className: "ml-auto text-h6 text-ods-text-secondary shrink-0", children: countLabel })
48514
48636
  ] });
48515
48637
  }
48516
48638
 
48517
48639
  // src/components/ui/image-gallery-modal.tsx
48518
48640
  import { ChevronLeft as ChevronLeft4, ChevronRight as ChevronRight8 } from "lucide-react";
48519
- import { Fragment as Fragment78, jsx as jsx373, jsxs as jsxs296 } from "react/jsx-runtime";
48641
+ import { Fragment as Fragment78, jsx as jsx374, jsxs as jsxs297 } from "react/jsx-runtime";
48520
48642
  function ImageGalleryModal({
48521
48643
  images,
48522
48644
  isOpen,
48523
48645
  onClose,
48524
48646
  initialIndex = 0
48525
48647
  }) {
48526
- const [selectedImageIndex, setSelectedImageIndex] = useState112(initialIndex);
48527
- useEffect84(() => {
48648
+ const [selectedImageIndex, setSelectedImageIndex] = useState113(initialIndex);
48649
+ useEffect85(() => {
48528
48650
  if (isOpen) {
48529
48651
  setSelectedImageIndex(initialIndex);
48530
48652
  }
@@ -48539,7 +48661,7 @@ function ImageGalleryModal({
48539
48661
  setSelectedImageIndex(selectedImageIndex + 1);
48540
48662
  }
48541
48663
  };
48542
- useEffect84(() => {
48664
+ useEffect85(() => {
48543
48665
  const handleKeyPress = (event) => {
48544
48666
  if (!isOpen) return;
48545
48667
  switch (event.key) {
@@ -48565,36 +48687,36 @@ function ImageGalleryModal({
48565
48687
  }
48566
48688
  }, [isOpen, selectedImageIndex, images.length]);
48567
48689
  if (!isOpen || images.length === 0) return null;
48568
- return /* @__PURE__ */ jsx373(
48690
+ return /* @__PURE__ */ jsx374(
48569
48691
  Modal2,
48570
48692
  {
48571
48693
  isOpen,
48572
48694
  onClose,
48573
48695
  className: "max-w-[95vw]",
48574
- children: /* @__PURE__ */ jsxs296("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
48575
- images.length > 1 && /* @__PURE__ */ jsxs296(Fragment78, { children: [
48576
- selectedImageIndex > 0 && /* @__PURE__ */ jsx373("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx373(
48696
+ children: /* @__PURE__ */ jsxs297("div", { className: "relative flex items-center justify-center bg-black rounded-lg", children: [
48697
+ images.length > 1 && /* @__PURE__ */ jsxs297(Fragment78, { children: [
48698
+ selectedImageIndex > 0 && /* @__PURE__ */ jsx374("div", { className: "absolute left-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx374(
48577
48699
  Button,
48578
48700
  {
48579
48701
  variant: "transparent",
48580
48702
  size: "small-legacy",
48581
48703
  onClick: goToPreviousImage,
48582
48704
  className: "rounded-full bg-black/50 text-white hover:bg-black/70 p-2",
48583
- leftIcon: /* @__PURE__ */ jsx373(ChevronLeft4, { className: "w-6 h-6" })
48705
+ leftIcon: /* @__PURE__ */ jsx374(ChevronLeft4, { className: "w-6 h-6" })
48584
48706
  }
48585
48707
  ) }),
48586
- selectedImageIndex < images.length - 1 && /* @__PURE__ */ jsx373("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx373(
48708
+ selectedImageIndex < images.length - 1 && /* @__PURE__ */ jsx374("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 z-[10000]", children: /* @__PURE__ */ jsx374(
48587
48709
  Button,
48588
48710
  {
48589
48711
  variant: "transparent",
48590
48712
  size: "small-legacy",
48591
48713
  onClick: goToNextImage,
48592
48714
  className: "rounded-full bg-black/50 text-white hover:bg-black/70 p-2",
48593
- leftIcon: /* @__PURE__ */ jsx373(ChevronRight8, { className: "w-6 h-6" })
48715
+ leftIcon: /* @__PURE__ */ jsx374(ChevronRight8, { className: "w-6 h-6" })
48594
48716
  }
48595
48717
  ) })
48596
48718
  ] }),
48597
- images[selectedImageIndex] && /* @__PURE__ */ jsx373("div", { className: "relative w-[90vw] h-[90vh] max-w-none flex items-center justify-center", children: /* @__PURE__ */ jsx373(
48719
+ images[selectedImageIndex] && /* @__PURE__ */ jsx374("div", { className: "relative w-[90vw] h-[90vh] max-w-none flex items-center justify-center", children: /* @__PURE__ */ jsx374(
48598
48720
  next_image_default,
48599
48721
  {
48600
48722
  src: images[selectedImageIndex],
@@ -48624,7 +48746,7 @@ function ImageGalleryModal({
48624
48746
  }
48625
48747
  }
48626
48748
  ) }),
48627
- images.length > 1 && /* @__PURE__ */ jsxs296("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: [
48749
+ images.length > 1 && /* @__PURE__ */ jsxs297("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: [
48628
48750
  selectedImageIndex + 1,
48629
48751
  " / ",
48630
48752
  images.length
@@ -48650,7 +48772,7 @@ import {
48650
48772
  Repeat,
48651
48773
  Compass
48652
48774
  } from "lucide-react";
48653
- import { jsx as jsx374 } from "react/jsx-runtime";
48775
+ import { jsx as jsx375 } from "react/jsx-runtime";
48654
48776
  function iconFor(customItemId) {
48655
48777
  switch (customItemId) {
48656
48778
  case CUSTOM_ITEM_ID.BUG:
@@ -48686,49 +48808,49 @@ function iconFor(customItemId) {
48686
48808
  }
48687
48809
  function TaskTypeIcon({ customItemId, className = "h-5 w-5" }) {
48688
48810
  const Icon2 = iconFor(customItemId);
48689
- return /* @__PURE__ */ jsx374(Icon2, { className, "aria-hidden": "true" });
48811
+ return /* @__PURE__ */ jsx375(Icon2, { className, "aria-hidden": "true" });
48690
48812
  }
48691
48813
 
48692
48814
  // src/components/chat/entity-cards/roadmap-card.tsx
48693
- import { Fragment as Fragment79, jsx as jsx375, jsxs as jsxs297 } from "react/jsx-runtime";
48815
+ import { Fragment as Fragment79, jsx as jsx376, jsxs as jsxs298 } from "react/jsx-runtime";
48694
48816
  function RoadmapCardSkeleton({ size: size2 = "default" }) {
48695
48817
  if (size2 === "sm") {
48696
- return /* @__PURE__ */ jsxs297("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
48697
- /* @__PURE__ */ jsx375("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" }),
48698
- /* @__PURE__ */ jsxs297("span", { className: COMPACT_CARD_TEXT_COL, children: [
48699
- /* @__PURE__ */ jsxs297("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`, children: [
48700
- /* @__PURE__ */ jsx375("span", { className: "h-3.5 w-1/2 rounded bg-ods-bg" }),
48701
- /* @__PURE__ */ jsx375("span", { className: "h-4 w-12 rounded bg-ods-bg/70 shrink-0" })
48818
+ return /* @__PURE__ */ jsxs298("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
48819
+ /* @__PURE__ */ jsx376("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" }),
48820
+ /* @__PURE__ */ jsxs298("span", { className: COMPACT_CARD_TEXT_COL, children: [
48821
+ /* @__PURE__ */ jsxs298("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`, children: [
48822
+ /* @__PURE__ */ jsx376("span", { className: "h-3.5 w-1/2 rounded bg-ods-bg" }),
48823
+ /* @__PURE__ */ jsx376("span", { className: "h-4 w-12 rounded bg-ods-bg/70 shrink-0" })
48702
48824
  ] }),
48703
- /* @__PURE__ */ jsxs297("span", { className: `${COMPACT_CARD_META_ROW_BOX} flex-nowrap gap-2`, children: [
48704
- /* @__PURE__ */ jsx375("span", { className: "h-3 w-2/5 rounded bg-ods-bg/60 flex-1" }),
48705
- /* @__PURE__ */ jsx375("span", { className: "h-3 w-10 rounded bg-ods-bg/40 shrink-0" }),
48706
- /* @__PURE__ */ jsx375("span", { className: "h-6 w-14 rounded-full bg-ods-bg/40 shrink-0" })
48825
+ /* @__PURE__ */ jsxs298("span", { className: `${COMPACT_CARD_META_ROW_BOX} flex-nowrap gap-2`, children: [
48826
+ /* @__PURE__ */ jsx376("span", { className: "h-3 w-2/5 rounded bg-ods-bg/60 flex-1" }),
48827
+ /* @__PURE__ */ jsx376("span", { className: "h-3 w-10 rounded bg-ods-bg/40 shrink-0" }),
48828
+ /* @__PURE__ */ jsx376("span", { className: "h-6 w-14 rounded-full bg-ods-bg/40 shrink-0" })
48707
48829
  ] }),
48708
- /* @__PURE__ */ jsx375("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx375("span", { className: "h-3 w-5/6 rounded bg-ods-bg/40" }) })
48830
+ /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx376("span", { className: "h-3 w-5/6 rounded bg-ods-bg/40" }) })
48709
48831
  ] })
48710
48832
  ] });
48711
48833
  }
48712
- return /* @__PURE__ */ jsxs297("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-4 h-full animate-pulse", children: [
48713
- /* @__PURE__ */ jsxs297("div", { className: "flex gap-4 items-center", children: [
48714
- /* @__PURE__ */ jsx375("div", { className: "w-16 h-16 rounded-lg bg-ods-bg flex-shrink-0" }),
48715
- /* @__PURE__ */ jsxs297("div", { className: "flex-1 space-y-2", children: [
48716
- /* @__PURE__ */ jsx375("div", { className: "h-5 w-3/4 bg-ods-bg rounded" }),
48717
- /* @__PURE__ */ jsx375("div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
48834
+ return /* @__PURE__ */ jsxs298("div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-[24px] flex flex-col gap-4 h-full animate-pulse", children: [
48835
+ /* @__PURE__ */ jsxs298("div", { className: "flex gap-4 items-center", children: [
48836
+ /* @__PURE__ */ jsx376("div", { className: "w-16 h-16 rounded-lg bg-ods-bg flex-shrink-0" }),
48837
+ /* @__PURE__ */ jsxs298("div", { className: "flex-1 space-y-2", children: [
48838
+ /* @__PURE__ */ jsx376("div", { className: "h-5 w-3/4 bg-ods-bg rounded" }),
48839
+ /* @__PURE__ */ jsx376("div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
48718
48840
  ] }),
48719
- /* @__PURE__ */ jsx375("div", { className: "h-6 w-16 bg-ods-bg rounded" })
48841
+ /* @__PURE__ */ jsx376("div", { className: "h-6 w-16 bg-ods-bg rounded" })
48720
48842
  ] }),
48721
- /* @__PURE__ */ jsxs297("div", { className: "space-y-2", children: [
48722
- /* @__PURE__ */ jsx375("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
48723
- /* @__PURE__ */ jsx375("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
48724
- /* @__PURE__ */ jsx375("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
48843
+ /* @__PURE__ */ jsxs298("div", { className: "space-y-2", children: [
48844
+ /* @__PURE__ */ jsx376("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
48845
+ /* @__PURE__ */ jsx376("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
48846
+ /* @__PURE__ */ jsx376("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
48725
48847
  ] }),
48726
- /* @__PURE__ */ jsx375("div", { className: "flex-1" }),
48727
- /* @__PURE__ */ jsxs297("div", { className: "flex items-center justify-between", children: [
48728
- /* @__PURE__ */ jsx375("div", { className: "h-12 w-32 bg-ods-bg rounded" }),
48729
- /* @__PURE__ */ jsxs297("div", { className: "flex items-center gap-2", children: [
48730
- /* @__PURE__ */ jsx375("div", { className: "h-6 w-14 rounded-full bg-ods-bg/60" }),
48731
- /* @__PURE__ */ jsx375("div", { className: "h-8 w-20 bg-ods-bg rounded" })
48848
+ /* @__PURE__ */ jsx376("div", { className: "flex-1" }),
48849
+ /* @__PURE__ */ jsxs298("div", { className: "flex items-center justify-between", children: [
48850
+ /* @__PURE__ */ jsx376("div", { className: "h-12 w-32 bg-ods-bg rounded" }),
48851
+ /* @__PURE__ */ jsxs298("div", { className: "flex items-center gap-2", children: [
48852
+ /* @__PURE__ */ jsx376("div", { className: "h-6 w-14 rounded-full bg-ods-bg/60" }),
48853
+ /* @__PURE__ */ jsx376("div", { className: "h-8 w-20 bg-ods-bg rounded" })
48732
48854
  ] })
48733
48855
  ] })
48734
48856
  ] });
@@ -48753,7 +48875,7 @@ function RoadmapCard({
48753
48875
  onVote,
48754
48876
  isVoting = false
48755
48877
  }) {
48756
- const [showScreenshots, setShowScreenshots] = useState113(false);
48878
+ const [showScreenshots, setShowScreenshots] = useState114(false);
48757
48879
  const logoUrl = item.icon && item.icon.startsWith("http") ? item.icon : null;
48758
48880
  const iconSrc = logoUrl ? getProxiedImageUrl(logoUrl, { directHttps: true }) || logoUrl : null;
48759
48881
  if (size2 === "sm") {
@@ -48763,13 +48885,13 @@ function RoadmapCard({
48763
48885
  const hasScreenshots = (item.screenshots?.length ?? 0) > 0;
48764
48886
  const typeLabel = getTaskTypeLabel(item.customItemId);
48765
48887
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
48766
- const body = /* @__PURE__ */ jsxs297(Fragment79, { children: [
48767
- /* @__PURE__ */ jsx375(
48888
+ const body = /* @__PURE__ */ jsxs298(Fragment79, { children: [
48889
+ /* @__PURE__ */ jsx376(
48768
48890
  "span",
48769
48891
  {
48770
48892
  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",
48771
48893
  title: typeLabel ?? void 0,
48772
- children: useTypeIcon ? /* @__PURE__ */ jsx375(TaskTypeIcon, { customItemId: item.customItemId, className: "h-6 w-6" }) : iconSrc ? /* @__PURE__ */ jsx375(
48894
+ children: useTypeIcon ? /* @__PURE__ */ jsx376(TaskTypeIcon, { customItemId: item.customItemId, className: "h-6 w-6" }) : iconSrc ? /* @__PURE__ */ jsx376(
48773
48895
  next_image_default,
48774
48896
  {
48775
48897
  src: iconSrc,
@@ -48779,13 +48901,13 @@ function RoadmapCard({
48779
48901
  unoptimized: true,
48780
48902
  className: "h-8 w-8 object-contain"
48781
48903
  }
48782
- ) : /* @__PURE__ */ jsx375("span", { className: "text-h6 uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" })
48904
+ ) : /* @__PURE__ */ jsx376("span", { className: "text-h6 uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" })
48783
48905
  }
48784
48906
  ),
48785
- /* @__PURE__ */ jsxs297("span", { className: COMPACT_CARD_TEXT_COL, children: [
48786
- /* @__PURE__ */ jsxs297("span", { className: `${COMPACT_CARD_TITLE_ROW} gap-2`, children: [
48787
- /* @__PURE__ */ jsx375("span", { className: `${COMPACT_CARD_TITLE} min-w-0`, children: item.title }),
48788
- item.status && item.status.trim().length > 0 ? /* @__PURE__ */ jsx375(
48907
+ /* @__PURE__ */ jsxs298("span", { className: COMPACT_CARD_TEXT_COL, children: [
48908
+ /* @__PURE__ */ jsxs298("span", { className: `${COMPACT_CARD_TITLE_ROW} gap-2`, children: [
48909
+ /* @__PURE__ */ jsx376("span", { className: `${COMPACT_CARD_TITLE} min-w-0`, children: item.title }),
48910
+ item.status && item.status.trim().length > 0 ? /* @__PURE__ */ jsx376(
48789
48911
  StatusBadge,
48790
48912
  {
48791
48913
  text: item.status.toUpperCase(),
@@ -48796,8 +48918,8 @@ function RoadmapCard({
48796
48918
  }
48797
48919
  ) : null
48798
48920
  ] }),
48799
- /* @__PURE__ */ jsxs297("span", { className: `${COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`, children: [
48800
- /* @__PURE__ */ jsx375("span", { className: "truncate text-h6 min-w-0 flex-1", children: (() => {
48921
+ /* @__PURE__ */ jsxs298("span", { className: `${COMPACT_CARD_META_ROW_BOX} gap-2 text-ods-text-secondary`, children: [
48922
+ /* @__PURE__ */ jsx376("span", { className: "truncate text-h6 min-w-0 flex-1", children: (() => {
48801
48923
  const parts = [
48802
48924
  item.quarter,
48803
48925
  item.targetVersion ? `${item.targetVersion} version` : null
@@ -48811,41 +48933,41 @@ function RoadmapCard({
48811
48933
  }
48812
48934
  return "Roadmap item";
48813
48935
  })() }),
48814
- hasVotes ? /* @__PURE__ */ jsxs297("span", { className: "hidden sm:flex items-center gap-2 shrink-0 text-h6 text-ods-text-secondary", children: [
48815
- /* @__PURE__ */ jsxs297("span", { className: "flex items-center gap-0.5", children: [
48816
- /* @__PURE__ */ jsx375(ThumbsUp, { className: "h-3 w-3" }),
48817
- /* @__PURE__ */ jsx375("span", { children: item.upvotes ?? 0 })
48936
+ hasVotes ? /* @__PURE__ */ jsxs298("span", { className: "hidden sm:flex items-center gap-2 shrink-0 text-h6 text-ods-text-secondary", children: [
48937
+ /* @__PURE__ */ jsxs298("span", { className: "flex items-center gap-0.5", children: [
48938
+ /* @__PURE__ */ jsx376(ThumbsUp, { className: "h-3 w-3" }),
48939
+ /* @__PURE__ */ jsx376("span", { children: item.upvotes ?? 0 })
48818
48940
  ] }),
48819
- /* @__PURE__ */ jsxs297("span", { className: "flex items-center gap-0.5", children: [
48820
- /* @__PURE__ */ jsx375(ThumbsDown, { className: "h-3 w-3" }),
48821
- /* @__PURE__ */ jsx375("span", { children: item.downvotes ?? 0 })
48941
+ /* @__PURE__ */ jsxs298("span", { className: "flex items-center gap-0.5", children: [
48942
+ /* @__PURE__ */ jsx376(ThumbsDown, { className: "h-3 w-3" }),
48943
+ /* @__PURE__ */ jsx376("span", { children: item.downvotes ?? 0 })
48822
48944
  ] })
48823
48945
  ] }) : null,
48824
- hasFigma ? /* @__PURE__ */ jsx375("span", { className: "hidden sm:flex shrink-0 items-center", title: "Has Figma prototype", children: /* @__PURE__ */ jsx375(FigmaIcon, { className: "h-3 w-3" }) }) : null,
48825
- hasScreenshots ? /* @__PURE__ */ jsxs297(
48946
+ hasFigma ? /* @__PURE__ */ jsx376("span", { className: "hidden sm:flex shrink-0 items-center", title: "Has Figma prototype", children: /* @__PURE__ */ jsx376(FigmaIcon, { className: "h-3 w-3" }) }) : null,
48947
+ hasScreenshots ? /* @__PURE__ */ jsxs298(
48826
48948
  "span",
48827
48949
  {
48828
48950
  className: "hidden sm:flex shrink-0 items-center gap-0.5 text-h6",
48829
48951
  title: `${item.screenshots.length} screenshot${item.screenshots.length === 1 ? "" : "s"}`,
48830
48952
  children: [
48831
- /* @__PURE__ */ jsx375(ImageIcon, { className: "h-3 w-3" }),
48832
- /* @__PURE__ */ jsx375("span", { children: item.screenshots.length })
48953
+ /* @__PURE__ */ jsx376(ImageIcon, { className: "h-3 w-3" }),
48954
+ /* @__PURE__ */ jsx376("span", { children: item.screenshots.length })
48833
48955
  ]
48834
48956
  }
48835
48957
  ) : null,
48836
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx375(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
48958
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx376(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null
48837
48959
  ] }),
48838
- /* @__PURE__ */ jsx375("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx375("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
48960
+ /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
48839
48961
  ] })
48840
48962
  ] });
48841
48963
  if (!compactHref) {
48842
- return /* @__PURE__ */ jsx375("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
48964
+ return /* @__PURE__ */ jsx376("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
48843
48965
  }
48844
- return /* @__PURE__ */ jsx375("a", { href: compactHref, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
48966
+ return /* @__PURE__ */ jsx376("a", { href: compactHref, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
48845
48967
  }
48846
- return /* @__PURE__ */ jsxs297("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: [
48847
- /* @__PURE__ */ jsxs297("div", { className: "flex gap-[16px] items-center w-full", children: [
48848
- /* @__PURE__ */ jsx375("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__ */ jsx375(
48968
+ return /* @__PURE__ */ jsxs298("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: [
48969
+ /* @__PURE__ */ jsxs298("div", { className: "flex gap-[16px] items-center w-full", children: [
48970
+ /* @__PURE__ */ jsx376("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__ */ jsx376(
48849
48971
  next_image_default,
48850
48972
  {
48851
48973
  src: iconSrc,
@@ -48855,16 +48977,16 @@ function RoadmapCard({
48855
48977
  unoptimized: true,
48856
48978
  className: "object-contain p-1"
48857
48979
  }
48858
- ) : /* @__PURE__ */ jsx375("span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" }) }),
48859
- /* @__PURE__ */ jsxs297("div", { className: "flex-1 min-w-0 flex flex-col", children: [
48860
- /* @__PURE__ */ jsx375("div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ jsx375("h3", { className: "text-h3 text-ods-text-primary flex-1 line-clamp-2", children: item.title }) }),
48861
- /* @__PURE__ */ jsx375("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsxs297("p", { className: "text-h5 text-ods-text-secondary truncate", children: [
48980
+ ) : /* @__PURE__ */ jsx376("span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: item.title?.substring(0, 2) || "??" }) }),
48981
+ /* @__PURE__ */ jsxs298("div", { className: "flex-1 min-w-0 flex flex-col", children: [
48982
+ /* @__PURE__ */ jsx376("div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ jsx376("h3", { className: "text-h3 text-ods-text-primary flex-1 line-clamp-2", children: item.title }) }),
48983
+ /* @__PURE__ */ jsx376("div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ jsxs298("p", { className: "text-h5 text-ods-text-secondary truncate", children: [
48862
48984
  item.quarter,
48863
48985
  ", ",
48864
48986
  item.id
48865
48987
  ] }) })
48866
48988
  ] }),
48867
- /* @__PURE__ */ jsx375("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx375(
48989
+ /* @__PURE__ */ jsx376("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx376(
48868
48990
  StatusBadge,
48869
48991
  {
48870
48992
  text: item.status.toUpperCase(),
@@ -48873,7 +48995,7 @@ function RoadmapCard({
48873
48995
  }
48874
48996
  ) })
48875
48997
  ] }),
48876
- /* @__PURE__ */ jsx375("div", { className: "md:hidden", children: /* @__PURE__ */ jsx375(
48998
+ /* @__PURE__ */ jsx376("div", { className: "md:hidden", children: /* @__PURE__ */ jsx376(
48877
48999
  StatusBadge,
48878
49000
  {
48879
49001
  text: item.status.toUpperCase(),
@@ -48881,11 +49003,11 @@ function RoadmapCard({
48881
49003
  className: "border border-ods-border"
48882
49004
  }
48883
49005
  ) }),
48884
- /* @__PURE__ */ jsx375("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsx375("p", { className: "text-h4 text-ods-text-secondary line-clamp-3", children: item.description || "" }) }),
48885
- /* @__PURE__ */ jsx375("div", { className: "flex-1" }),
48886
- /* @__PURE__ */ jsxs297("div", { className: "flex items-center justify-between w-full", children: [
48887
- onVote && /* @__PURE__ */ jsxs297("div", { className: "bg-ods-card border border-ods-border h-[48px] rounded-[6px] flex overflow-hidden", children: [
48888
- /* @__PURE__ */ jsx375(
49006
+ /* @__PURE__ */ jsx376("div", { className: "min-h-[72px] flex items-center", children: /* @__PURE__ */ jsx376("p", { className: "text-h4 text-ods-text-secondary line-clamp-3", children: item.description || "" }) }),
49007
+ /* @__PURE__ */ jsx376("div", { className: "flex-1" }),
49008
+ /* @__PURE__ */ jsxs298("div", { className: "flex items-center justify-between w-full", children: [
49009
+ onVote && /* @__PURE__ */ jsxs298("div", { className: "bg-ods-card border border-ods-border h-[48px] rounded-[6px] flex overflow-hidden", children: [
49010
+ /* @__PURE__ */ jsx376(
48889
49011
  RoadmapVoteButton,
48890
49012
  {
48891
49013
  voteType: "up",
@@ -48897,7 +49019,7 @@ function RoadmapCard({
48897
49019
  disabled: isVoting
48898
49020
  }
48899
49021
  ),
48900
- /* @__PURE__ */ jsx375(
49022
+ /* @__PURE__ */ jsx376(
48901
49023
  RoadmapVoteButton,
48902
49024
  {
48903
49025
  voteType: "down",
@@ -48910,31 +49032,31 @@ function RoadmapCard({
48910
49032
  }
48911
49033
  )
48912
49034
  ] }),
48913
- /* @__PURE__ */ jsxs297("div", { className: "flex items-center gap-2 min-w-0", children: [
48914
- item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx375(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
48915
- item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx375(
49035
+ /* @__PURE__ */ jsxs298("div", { className: "flex items-center gap-2 min-w-0", children: [
49036
+ item.assignees && item.assignees.length > 0 ? /* @__PURE__ */ jsx376(AvatarStack, { size: "xs", people: assigneePeople(item.assignees), className: "shrink-0" }) : null,
49037
+ item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx376(
48916
49038
  Button,
48917
49039
  {
48918
49040
  variant: "outline",
48919
49041
  size: "small-legacy",
48920
49042
  onClick: () => setShowScreenshots(true),
48921
- leftIcon: /* @__PURE__ */ jsx375(ImageIcon, { className: "w-5 h-5" })
49043
+ leftIcon: /* @__PURE__ */ jsx376(ImageIcon, { className: "w-5 h-5" })
48922
49044
  }
48923
49045
  ),
48924
49046
  (() => {
48925
49047
  const figmaSafe = safeHref(item.figmaUrl);
48926
- return figmaSafe ? /* @__PURE__ */ jsx375(
49048
+ return figmaSafe ? /* @__PURE__ */ jsx376(
48927
49049
  Button,
48928
49050
  {
48929
49051
  variant: "outline",
48930
49052
  size: "small-legacy",
48931
49053
  openInNewTab: true,
48932
49054
  href: figmaSafe,
48933
- leftIcon: /* @__PURE__ */ jsx375(FigmaIcon, { className: "w-5 h-5" })
49055
+ leftIcon: /* @__PURE__ */ jsx376(FigmaIcon, { className: "w-5 h-5" })
48934
49056
  }
48935
49057
  ) : null;
48936
49058
  })(),
48937
- item.targetVersion && /* @__PURE__ */ jsx375(
49059
+ item.targetVersion && /* @__PURE__ */ jsx376(
48938
49060
  StatusBadge,
48939
49061
  {
48940
49062
  gen: generationTierFromLabel(item.targetVersion),
@@ -48943,7 +49065,7 @@ function RoadmapCard({
48943
49065
  )
48944
49066
  ] })
48945
49067
  ] }),
48946
- item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx375(
49068
+ item.screenshots && item.screenshots.length > 0 && /* @__PURE__ */ jsx376(
48947
49069
  ImageGalleryModal,
48948
49070
  {
48949
49071
  images: item.screenshots,
@@ -48955,9 +49077,9 @@ function RoadmapCard({
48955
49077
  }
48956
49078
 
48957
49079
  // src/components/chat/entity-cards/github-activity-card.tsx
48958
- import React144 from "react";
49080
+ import React145 from "react";
48959
49081
  import { GitPullRequest, Eye as Eye4, ExternalLink as ExternalLink8 } from "lucide-react";
48960
- import { Fragment as Fragment80, jsx as jsx376, jsxs as jsxs298 } from "react/jsx-runtime";
49082
+ import { Fragment as Fragment80, jsx as jsx377, jsxs as jsxs299 } from "react/jsx-runtime";
48961
49083
  function parseRepoFromUrl(url) {
48962
49084
  if (!url) return null;
48963
49085
  try {
@@ -48972,12 +49094,12 @@ function parseRepoFromUrl(url) {
48972
49094
  function kindIcon(kind, className = "h-4 w-4") {
48973
49095
  switch (kind) {
48974
49096
  case "pull_request":
48975
- return /* @__PURE__ */ jsx376(GitPullRequest, { className: `${className} shrink-0` });
49097
+ return /* @__PURE__ */ jsx377(GitPullRequest, { className: `${className} shrink-0` });
48976
49098
  case "pr_review":
48977
- return /* @__PURE__ */ jsx376(Eye4, { className: `${className} shrink-0` });
49099
+ return /* @__PURE__ */ jsx377(Eye4, { className: `${className} shrink-0` });
48978
49100
  case "commit":
48979
49101
  default:
48980
- return /* @__PURE__ */ jsx376(GitHubIcon, { className: `${className} shrink-0` });
49102
+ return /* @__PURE__ */ jsx377(GitHubIcon, { className: `${className} shrink-0` });
48981
49103
  }
48982
49104
  }
48983
49105
  function kindLabel(kind) {
@@ -49052,7 +49174,7 @@ function reviewStateLabel(state) {
49052
49174
  }
49053
49175
  function ReviewStateBadge({ state, className = "" }) {
49054
49176
  const { label, className: paint } = REVIEW_STATE_STYLE[state] ?? REVIEW_STATE_STYLE.COMMENTED;
49055
- return /* @__PURE__ */ jsx376(
49177
+ return /* @__PURE__ */ jsx377(
49056
49178
  "span",
49057
49179
  {
49058
49180
  className: `inline-flex items-center rounded px-1.5 py-0.5 text-h5 shrink-0 ${paint} ${className}`,
@@ -49068,46 +49190,46 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
49068
49190
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
49069
49191
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
49070
49192
  if (variant === "row") {
49071
- return /* @__PURE__ */ jsxs298("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49072
- /* @__PURE__ */ jsxs298("span", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49193
+ return /* @__PURE__ */ jsxs299("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49194
+ /* @__PURE__ */ jsxs299("span", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49073
49195
  kindIcon(kind, "h-3.5 w-3.5"),
49074
- /* @__PURE__ */ jsx376("code", { className: "text-ods-text-secondary text-code truncate", children: idLabel })
49196
+ /* @__PURE__ */ jsx377("code", { className: "text-ods-text-secondary text-code truncate", children: idLabel })
49075
49197
  ] }),
49076
- /* @__PURE__ */ jsxs298("span", { className: "flex items-center gap-2 text-ods-text-primary text-h6 flex-1 min-w-0", children: [
49077
- reviewState ? /* @__PURE__ */ jsx376(ReviewStateBadge, { state: reviewState }) : null,
49078
- /* @__PURE__ */ jsx376("span", { className: "truncate", children: primaryText })
49198
+ /* @__PURE__ */ jsxs299("span", { className: "flex items-center gap-2 text-ods-text-primary text-h6 flex-1 min-w-0", children: [
49199
+ reviewState ? /* @__PURE__ */ jsx377(ReviewStateBadge, { state: reviewState }) : null,
49200
+ /* @__PURE__ */ jsx377("span", { className: "truncate", children: primaryText })
49079
49201
  ] }),
49080
- repo ? /* @__PURE__ */ jsx376("span", { className: "text-code text-ods-text-secondary truncate max-w-[240px] shrink-0", children: repo }) : null,
49081
- dateText ? /* @__PURE__ */ jsx376("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49202
+ repo ? /* @__PURE__ */ jsx377("span", { className: "text-code text-ods-text-secondary truncate max-w-[240px] shrink-0", children: repo }) : null,
49203
+ dateText ? /* @__PURE__ */ jsx377("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49082
49204
  ] });
49083
49205
  }
49084
49206
  const metaParts = [];
49085
49207
  metaParts.push(
49086
- /* @__PURE__ */ jsx376("span", { className: "text-h6 uppercase", children: kindLabel(kind) }, "kind")
49208
+ /* @__PURE__ */ jsx377("span", { className: "text-h6 uppercase", children: kindLabel(kind) }, "kind")
49087
49209
  );
49088
- if (idLabel) metaParts.push(/* @__PURE__ */ jsx376("code", { className: "font-mono", children: idLabel }, "id"));
49089
- if (repo) metaParts.push(/* @__PURE__ */ jsx376("span", { className: "font-mono truncate", children: repo }, "repo"));
49090
- if (dateText) metaParts.push(/* @__PURE__ */ jsx376("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49210
+ if (idLabel) metaParts.push(/* @__PURE__ */ jsx377("code", { className: "font-mono", children: idLabel }, "id"));
49211
+ if (repo) metaParts.push(/* @__PURE__ */ jsx377("span", { className: "font-mono truncate", children: repo }, "repo"));
49212
+ if (dateText) metaParts.push(/* @__PURE__ */ jsx377("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49091
49213
  const href = safeHref(item.url);
49092
- const body = /* @__PURE__ */ jsxs298(Fragment80, { children: [
49093
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
49094
- /* @__PURE__ */ jsxs298("span", { className: COMPACT_CARD_TEXT_COL, children: [
49095
- /* @__PURE__ */ jsxs298("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
49096
- reviewState ? /* @__PURE__ */ jsx376(ReviewStateBadge, { state: reviewState }) : null,
49097
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_TITLE, children: primaryText })
49214
+ const body = /* @__PURE__ */ jsxs299(Fragment80, { children: [
49215
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
49216
+ /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_TEXT_COL, children: [
49217
+ /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
49218
+ reviewState ? /* @__PURE__ */ jsx377(ReviewStateBadge, { state: reviewState }) : null,
49219
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_TITLE, children: primaryText })
49098
49220
  ] }),
49099
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs298(React144.Fragment, { children: [
49100
- i > 0 ? /* @__PURE__ */ jsx376("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49101
- /* @__PURE__ */ jsx376("span", { className: "min-w-0 truncate", children: part })
49221
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs299(React145.Fragment, { children: [
49222
+ i > 0 ? /* @__PURE__ */ jsx377("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49223
+ /* @__PURE__ */ jsx377("span", { className: "min-w-0 truncate", children: part })
49102
49224
  ] }, i)) }) }),
49103
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49225
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49104
49226
  ] }),
49105
- href ? /* @__PURE__ */ jsx376("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx376(ExternalLink8, { className: "w-3.5 h-3.5" }) }) : null
49227
+ href ? /* @__PURE__ */ jsx377("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx377(ExternalLink8, { className: "w-3.5 h-3.5" }) }) : null
49106
49228
  ] });
49107
49229
  if (anchorProps) {
49108
- return /* @__PURE__ */ jsx376("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49230
+ return /* @__PURE__ */ jsx377("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49109
49231
  }
49110
- return href ? /* @__PURE__ */ jsx376(
49232
+ return href ? /* @__PURE__ */ jsx377(
49111
49233
  "a",
49112
49234
  {
49113
49235
  href,
@@ -49116,35 +49238,35 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
49116
49238
  className: `${COMPACT_CARD_OUTER} ${className ?? ""}`,
49117
49239
  children: body
49118
49240
  }
49119
- ) : /* @__PURE__ */ jsx376("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49241
+ ) : /* @__PURE__ */ jsx377("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49120
49242
  }
49121
49243
  function GitHubActivityCardSkeleton({ variant = "compact", className }) {
49122
49244
  if (variant === "row") {
49123
- return /* @__PURE__ */ jsxs298("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49124
- /* @__PURE__ */ jsxs298("div", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49125
- /* @__PURE__ */ jsx376("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }),
49126
- /* @__PURE__ */ jsx376("div", { className: "h-3 w-16 bg-ods-bg rounded" })
49245
+ return /* @__PURE__ */ jsxs299("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49246
+ /* @__PURE__ */ jsxs299("div", { className: "flex items-center gap-2 w-28 shrink-0", children: [
49247
+ /* @__PURE__ */ jsx377("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }),
49248
+ /* @__PURE__ */ jsx377("div", { className: "h-3 w-16 bg-ods-bg rounded" })
49127
49249
  ] }),
49128
- /* @__PURE__ */ jsx376("div", { className: "h-3 w-2/3 bg-ods-bg rounded flex-1" }),
49129
- /* @__PURE__ */ jsx376("div", { className: "h-3 w-40 bg-ods-bg/60 rounded shrink-0" }),
49130
- /* @__PURE__ */ jsx376("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49250
+ /* @__PURE__ */ jsx377("div", { className: "h-3 w-2/3 bg-ods-bg rounded flex-1" }),
49251
+ /* @__PURE__ */ jsx377("div", { className: "h-3 w-40 bg-ods-bg/60 rounded shrink-0" }),
49252
+ /* @__PURE__ */ jsx377("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49131
49253
  ] });
49132
49254
  }
49133
- return /* @__PURE__ */ jsxs298("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49134
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49135
- /* @__PURE__ */ jsxs298("span", { className: COMPACT_CARD_TEXT_COL, children: [
49136
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx376("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49137
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx376("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
49138
- /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx376("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49255
+ return /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49256
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49257
+ /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_TEXT_COL, children: [
49258
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx377("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49259
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
49260
+ /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) })
49139
49261
  ] }),
49140
- /* @__PURE__ */ jsx376("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx376("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49262
+ /* @__PURE__ */ jsx377("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx377("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49141
49263
  ] });
49142
49264
  }
49143
49265
 
49144
49266
  // src/components/chat/entity-cards/slack-message-card.tsx
49145
- import React145 from "react";
49267
+ import React146 from "react";
49146
49268
  import { ExternalLink as ExternalLink9, Hash } from "lucide-react";
49147
- import { Fragment as Fragment81, jsx as jsx377, jsxs as jsxs299 } from "react/jsx-runtime";
49269
+ import { Fragment as Fragment81, jsx as jsx378, jsxs as jsxs300 } from "react/jsx-runtime";
49148
49270
  function parseChannelFromUrl(url) {
49149
49271
  if (!url) return null;
49150
49272
  try {
@@ -49161,44 +49283,44 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
49161
49283
  const channel = item.channel ?? parseChannelFromUrl(item.url) ?? null;
49162
49284
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
49163
49285
  if (variant === "row") {
49164
- return /* @__PURE__ */ jsxs299("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49165
- /* @__PURE__ */ jsx377(SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
49166
- /* @__PURE__ */ jsx377("span", { className: "text-ods-text-primary text-h6 truncate max-w-[180px] shrink-0", children: item.title }),
49167
- item.preview ? /* @__PURE__ */ jsx377("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49168
- channel ? /* @__PURE__ */ jsxs299("span", { className: "text-code text-ods-text-secondary truncate max-w-[140px] shrink-0", children: [
49169
- /* @__PURE__ */ jsx377(Hash, { className: "inline h-3 w-3" }),
49286
+ return /* @__PURE__ */ jsxs300("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49287
+ /* @__PURE__ */ jsx378(SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
49288
+ /* @__PURE__ */ jsx378("span", { className: "text-ods-text-primary text-h6 truncate max-w-[180px] shrink-0", children: item.title }),
49289
+ item.preview ? /* @__PURE__ */ jsx378("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49290
+ channel ? /* @__PURE__ */ jsxs300("span", { className: "text-code text-ods-text-secondary truncate max-w-[140px] shrink-0", children: [
49291
+ /* @__PURE__ */ jsx378(Hash, { className: "inline h-3 w-3" }),
49170
49292
  channel
49171
49293
  ] }) : null,
49172
- dateText ? /* @__PURE__ */ jsx377("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49294
+ dateText ? /* @__PURE__ */ jsx378("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49173
49295
  ] });
49174
49296
  }
49175
49297
  const metaParts = [];
49176
49298
  if (channel) {
49177
49299
  metaParts.push(
49178
- /* @__PURE__ */ jsxs299("span", { className: "flex items-center gap-0.5 min-w-0", children: [
49179
- /* @__PURE__ */ jsx377(Hash, { className: "h-3 w-3 shrink-0" }),
49180
- /* @__PURE__ */ jsx377("span", { className: "truncate font-mono", children: channel })
49300
+ /* @__PURE__ */ jsxs300("span", { className: "flex items-center gap-0.5 min-w-0", children: [
49301
+ /* @__PURE__ */ jsx378(Hash, { className: "h-3 w-3 shrink-0" }),
49302
+ /* @__PURE__ */ jsx378("span", { className: "truncate font-mono", children: channel })
49181
49303
  ] }, "channel")
49182
49304
  );
49183
49305
  }
49184
- if (dateText) metaParts.push(/* @__PURE__ */ jsx377("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49306
+ if (dateText) metaParts.push(/* @__PURE__ */ jsx378("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49185
49307
  const href = safeHref(item.url);
49186
- const body = /* @__PURE__ */ jsxs299(Fragment81, { children: [
49187
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx377(SlackIcon, { className: "h-5 w-5" }) }),
49188
- /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_TEXT_COL, children: [
49189
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
49190
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_SUMMARY, children: item.preview || COMPACT_CARD_ROW_FILLER }) }),
49191
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ jsxs299(React145.Fragment, { children: [
49192
- i > 0 ? /* @__PURE__ */ jsx377("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49193
- /* @__PURE__ */ jsx377("span", { className: "min-w-0 truncate", children: part })
49194
- ] }, i)) : /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) }) })
49308
+ const body = /* @__PURE__ */ jsxs300(Fragment81, { children: [
49309
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx378(SlackIcon, { className: "h-5 w-5" }) }),
49310
+ /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49311
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_TITLE, children: item.title }) }),
49312
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_SUMMARY, children: item.preview || COMPACT_CARD_ROW_FILLER }) }),
49313
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ jsxs300(React146.Fragment, { children: [
49314
+ i > 0 ? /* @__PURE__ */ jsx378("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49315
+ /* @__PURE__ */ jsx378("span", { className: "min-w-0 truncate", children: part })
49316
+ ] }, i)) : /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_SUMMARY, children: COMPACT_CARD_ROW_FILLER }) }) })
49195
49317
  ] }),
49196
- href ? /* @__PURE__ */ jsx377("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx377(ExternalLink9, { className: "w-3.5 h-3.5" }) }) : null
49318
+ href ? /* @__PURE__ */ jsx378("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx378(ExternalLink9, { className: "w-3.5 h-3.5" }) }) : null
49197
49319
  ] });
49198
49320
  if (anchorProps) {
49199
- return /* @__PURE__ */ jsx377("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49321
+ return /* @__PURE__ */ jsx378("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49200
49322
  }
49201
- return href ? /* @__PURE__ */ jsx377(
49323
+ return href ? /* @__PURE__ */ jsx378(
49202
49324
  "a",
49203
49325
  {
49204
49326
  href,
@@ -49207,33 +49329,33 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
49207
49329
  className: `${COMPACT_CARD_OUTER} ${className ?? ""}`,
49208
49330
  children: body
49209
49331
  }
49210
- ) : /* @__PURE__ */ jsx377("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49332
+ ) : /* @__PURE__ */ jsx378("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49211
49333
  }
49212
49334
  function SlackMessageCardSkeleton({ variant = "compact", className }) {
49213
49335
  if (variant === "row") {
49214
- return /* @__PURE__ */ jsxs299("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49215
- /* @__PURE__ */ jsx377("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg shrink-0" }),
49216
- /* @__PURE__ */ jsx377("div", { className: "h-3 w-32 bg-ods-bg rounded shrink-0" }),
49217
- /* @__PURE__ */ jsx377("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49218
- /* @__PURE__ */ jsx377("div", { className: "h-3 w-24 bg-ods-bg/60 rounded shrink-0" }),
49219
- /* @__PURE__ */ jsx377("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49336
+ return /* @__PURE__ */ jsxs300("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49337
+ /* @__PURE__ */ jsx378("div", { className: "h-3.5 w-3.5 rounded bg-ods-bg shrink-0" }),
49338
+ /* @__PURE__ */ jsx378("div", { className: "h-3 w-32 bg-ods-bg rounded shrink-0" }),
49339
+ /* @__PURE__ */ jsx378("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49340
+ /* @__PURE__ */ jsx378("div", { className: "h-3 w-24 bg-ods-bg/60 rounded shrink-0" }),
49341
+ /* @__PURE__ */ jsx378("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49220
49342
  ] });
49221
49343
  }
49222
- return /* @__PURE__ */ jsxs299("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49223
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49224
- /* @__PURE__ */ jsxs299("span", { className: COMPACT_CARD_TEXT_COL, children: [
49225
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx377("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49226
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
49227
- /* @__PURE__ */ jsx377("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx377("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49344
+ return /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49345
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
49346
+ /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49347
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx378("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }) }),
49348
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx378("span", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }) }),
49349
+ /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx378("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49228
49350
  ] }),
49229
- /* @__PURE__ */ jsx377("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx377("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49351
+ /* @__PURE__ */ jsx378("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx378("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49230
49352
  ] });
49231
49353
  }
49232
49354
 
49233
49355
  // src/components/chat/entity-cards/hubspot-ticket-card.tsx
49234
- import React146 from "react";
49356
+ import React147 from "react";
49235
49357
  import { ExternalLink as ExternalLink10 } from "lucide-react";
49236
- import { Fragment as Fragment82, jsx as jsx378, jsxs as jsxs300 } from "react/jsx-runtime";
49358
+ import { Fragment as Fragment82, jsx as jsx379, jsxs as jsxs301 } from "react/jsx-runtime";
49237
49359
  function formatToken(token) {
49238
49360
  if (!token) return null;
49239
49361
  const lower = token.toLowerCase().replace(/_/g, " ");
@@ -49257,26 +49379,26 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49257
49379
  const priorityText = formatToken(item.priority);
49258
49380
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
49259
49381
  if (variant === "row") {
49260
- return /* @__PURE__ */ jsxs300("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49261
- /* @__PURE__ */ jsx378("span", { className: "text-ods-text-primary text-h6 truncate max-w-[260px] shrink-0", children: item.title }),
49262
- item.preview ? /* @__PURE__ */ jsx378("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49263
- statusText ? /* @__PURE__ */ jsx378(StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
49264
- dateText ? /* @__PURE__ */ jsx378("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49382
+ return /* @__PURE__ */ jsxs301("div", { className: `flex items-center gap-3 min-w-0 ${className ?? ""}`, children: [
49383
+ /* @__PURE__ */ jsx379("span", { className: "text-ods-text-primary text-h6 truncate max-w-[260px] shrink-0", children: item.title }),
49384
+ item.preview ? /* @__PURE__ */ jsx379("span", { className: "text-ods-text-secondary text-h6 flex-1 min-w-0 truncate", children: item.preview }) : null,
49385
+ statusText ? /* @__PURE__ */ jsx379(StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
49386
+ dateText ? /* @__PURE__ */ jsx379("span", { className: "text-ods-text-secondary text-h6 w-24 shrink-0 text-right", children: dateText }) : null
49265
49387
  ] });
49266
49388
  }
49267
49389
  const metaParts = [];
49268
49390
  if (item.customerCompany) {
49269
49391
  metaParts.push(
49270
- /* @__PURE__ */ jsx378("span", { className: "min-w-0 truncate", children: item.customerCompany }, "company")
49392
+ /* @__PURE__ */ jsx379("span", { className: "min-w-0 truncate", children: item.customerCompany }, "company")
49271
49393
  );
49272
49394
  }
49273
- if (dateText) metaParts.push(/* @__PURE__ */ jsx378("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49395
+ if (dateText) metaParts.push(/* @__PURE__ */ jsx379("span", { className: "whitespace-nowrap", children: dateText }, "date"));
49274
49396
  const href = safeHref(item.url);
49275
- const body = /* @__PURE__ */ jsxs300(Fragment82, { children: [
49276
- /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49277
- /* @__PURE__ */ jsxs300("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49278
- /* @__PURE__ */ jsx378("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49279
- priorityText ? /* @__PURE__ */ jsx378(
49397
+ const body = /* @__PURE__ */ jsxs301(Fragment82, { children: [
49398
+ /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49399
+ /* @__PURE__ */ jsxs301("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49400
+ /* @__PURE__ */ jsx379("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49401
+ priorityText ? /* @__PURE__ */ jsx379(
49280
49402
  StatusBadge,
49281
49403
  {
49282
49404
  text: priorityText,
@@ -49285,7 +49407,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49285
49407
  className: "shrink-0"
49286
49408
  }
49287
49409
  ) : null,
49288
- statusText ? /* @__PURE__ */ jsx378(
49410
+ statusText ? /* @__PURE__ */ jsx379(
49289
49411
  StatusBadge,
49290
49412
  {
49291
49413
  text: statusText,
@@ -49295,22 +49417,22 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49295
49417
  }
49296
49418
  ) : null
49297
49419
  ] }),
49298
- item.customerEmail ? /* @__PURE__ */ jsxs300("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49299
- /* @__PURE__ */ jsx378("span", { className: "shrink-0 text-ods-text-secondary/70", children: "From:" }),
49300
- /* @__PURE__ */ jsx378("span", { className: "min-w-0 truncate", children: item.customerEmail })
49420
+ item.customerEmail ? /* @__PURE__ */ jsxs301("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49421
+ /* @__PURE__ */ jsx379("span", { className: "shrink-0 text-ods-text-secondary/70", children: "From:" }),
49422
+ /* @__PURE__ */ jsx379("span", { className: "min-w-0 truncate", children: item.customerEmail })
49301
49423
  ] }) : null,
49302
- /* @__PURE__ */ jsx378("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx378("span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview || /* @__PURE__ */ jsx378("span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
49303
- metaParts.length > 0 ? /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs300(React146.Fragment, { children: [
49304
- i > 0 ? /* @__PURE__ */ jsx378("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49305
- /* @__PURE__ */ jsx378("span", { className: "min-w-0 truncate", children: part })
49424
+ /* @__PURE__ */ jsx379("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx379("span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview || /* @__PURE__ */ jsx379("span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
49425
+ metaParts.length > 0 ? /* @__PURE__ */ jsx379("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx379("span", { className: COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ jsxs301(React147.Fragment, { children: [
49426
+ i > 0 ? /* @__PURE__ */ jsx379("span", { className: "text-ods-text-secondary/40 shrink-0", children: "\xB7" }) : null,
49427
+ /* @__PURE__ */ jsx379("span", { className: "min-w-0 truncate", children: part })
49306
49428
  ] }, i)) }) }) : null
49307
49429
  ] }),
49308
- href ? /* @__PURE__ */ jsx378("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx378(ExternalLink10, { className: "w-3.5 h-3.5" }) }) : null
49430
+ href ? /* @__PURE__ */ jsx379("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx379(ExternalLink10, { className: "w-3.5 h-3.5" }) }) : null
49309
49431
  ] });
49310
49432
  if (anchorProps) {
49311
- return /* @__PURE__ */ jsx378("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49433
+ return /* @__PURE__ */ jsx379("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49312
49434
  }
49313
- return href ? /* @__PURE__ */ jsx378(
49435
+ return href ? /* @__PURE__ */ jsx379(
49314
49436
  "a",
49315
49437
  {
49316
49438
  href,
@@ -49319,79 +49441,79 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
49319
49441
  className: `${COMPACT_CARD_OUTER} ${className ?? ""}`,
49320
49442
  children: body
49321
49443
  }
49322
- ) : /* @__PURE__ */ jsx378("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49444
+ ) : /* @__PURE__ */ jsx379("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49323
49445
  }
49324
49446
  function HubspotTicketCardSkeleton({ variant = "compact", className }) {
49325
49447
  if (variant === "row") {
49326
- return /* @__PURE__ */ jsxs300("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49327
- /* @__PURE__ */ jsx378("div", { className: "h-3 w-40 bg-ods-bg rounded shrink-0" }),
49328
- /* @__PURE__ */ jsx378("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49329
- /* @__PURE__ */ jsx378("div", { className: "h-3 w-16 bg-ods-bg/60 rounded shrink-0" }),
49330
- /* @__PURE__ */ jsx378("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49448
+ return /* @__PURE__ */ jsxs301("div", { className: `flex items-center gap-3 min-w-0 animate-pulse ${className ?? ""}`, children: [
49449
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-40 bg-ods-bg rounded shrink-0" }),
49450
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-2/3 bg-ods-bg/60 rounded flex-1" }),
49451
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-16 bg-ods-bg/60 rounded shrink-0" }),
49452
+ /* @__PURE__ */ jsx379("div", { className: "h-3 w-20 bg-ods-bg/60 rounded shrink-0" })
49331
49453
  ] });
49332
49454
  }
49333
- return /* @__PURE__ */ jsxs300("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49334
- /* @__PURE__ */ jsxs300("span", { className: COMPACT_CARD_TEXT_COL, children: [
49335
- /* @__PURE__ */ jsxs300("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49336
- /* @__PURE__ */ jsx378("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49337
- /* @__PURE__ */ jsx378("span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
49338
- /* @__PURE__ */ jsx378("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49455
+ return /* @__PURE__ */ jsxs301("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49456
+ /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49457
+ /* @__PURE__ */ jsxs301("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49458
+ /* @__PURE__ */ jsx379("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49459
+ /* @__PURE__ */ jsx379("span", { className: "h-4 w-12 rounded-full bg-ods-bg/60" }),
49460
+ /* @__PURE__ */ jsx379("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49339
49461
  ] }),
49340
- /* @__PURE__ */ jsx378("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49341
- /* @__PURE__ */ jsxs300("span", { className: "flex flex-col gap-0 min-w-0", children: [
49342
- /* @__PURE__ */ jsx378("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49343
- /* @__PURE__ */ jsx378("span", { className: "h-5 w-4/6 rounded bg-ods-bg/60" }),
49344
- /* @__PURE__ */ jsx378("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
49345
- /* @__PURE__ */ jsx378("span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
49462
+ /* @__PURE__ */ jsx379("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49463
+ /* @__PURE__ */ jsxs301("span", { className: "flex flex-col gap-0 min-w-0", children: [
49464
+ /* @__PURE__ */ jsx379("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49465
+ /* @__PURE__ */ jsx379("span", { className: "h-5 w-4/6 rounded bg-ods-bg/60" }),
49466
+ /* @__PURE__ */ jsx379("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" }),
49467
+ /* @__PURE__ */ jsx379("span", { className: "h-5 w-2/5 rounded bg-ods-bg/60" })
49346
49468
  ] }),
49347
- /* @__PURE__ */ jsx378("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx378("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49469
+ /* @__PURE__ */ jsx379("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx379("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) })
49348
49470
  ] }),
49349
- /* @__PURE__ */ jsx378("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx378("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49471
+ /* @__PURE__ */ jsx379("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx379("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49350
49472
  ] });
49351
49473
  }
49352
49474
 
49353
49475
  // src/components/chat/entity-cards/data-room-doc-card.tsx
49354
49476
  import { ExternalLink as ExternalLink11 } from "lucide-react";
49355
- import { Fragment as Fragment83, jsx as jsx379, jsxs as jsxs301 } from "react/jsx-runtime";
49477
+ import { Fragment as Fragment83, jsx as jsx380, jsxs as jsxs302 } from "react/jsx-runtime";
49356
49478
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
49357
- const body = /* @__PURE__ */ jsxs301(Fragment83, { children: [
49358
- /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49359
- /* @__PURE__ */ jsxs301("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49360
- /* @__PURE__ */ jsx379("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49361
- /* @__PURE__ */ jsx379(StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
49479
+ const body = /* @__PURE__ */ jsxs302(Fragment83, { children: [
49480
+ /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
49481
+ /* @__PURE__ */ jsxs302("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
49482
+ /* @__PURE__ */ jsx380("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
49483
+ /* @__PURE__ */ jsx380(StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
49362
49484
  ] }),
49363
- item.path ? /* @__PURE__ */ jsxs301("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49364
- /* @__PURE__ */ jsx379("span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
49365
- /* @__PURE__ */ jsx379("span", { className: "min-w-0 truncate font-mono", children: item.path })
49485
+ item.path ? /* @__PURE__ */ jsxs302("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: [
49486
+ /* @__PURE__ */ jsx380("span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
49487
+ /* @__PURE__ */ jsx380("span", { className: "min-w-0 truncate font-mono", children: item.path })
49366
49488
  ] }) : null,
49367
- item.preview ? /* @__PURE__ */ jsx379("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx379("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null
49489
+ item.preview ? /* @__PURE__ */ jsx380("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx380("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null
49368
49490
  ] }),
49369
- anchorProps?.href ? /* @__PURE__ */ jsx379("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx379(ExternalLink11, { className: "w-3.5 h-3.5" }) }) : null
49491
+ anchorProps?.href ? /* @__PURE__ */ jsx380("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx380(ExternalLink11, { className: "w-3.5 h-3.5" }) }) : null
49370
49492
  ] });
49371
49493
  if (!anchorProps) {
49372
- return /* @__PURE__ */ jsx379("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49494
+ return /* @__PURE__ */ jsx380("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
49373
49495
  }
49374
- return /* @__PURE__ */ jsx379("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49496
+ return /* @__PURE__ */ jsx380("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
49375
49497
  }
49376
49498
  function DataRoomDocCardSkeleton({ className }) {
49377
- return /* @__PURE__ */ jsxs301("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49378
- /* @__PURE__ */ jsxs301("span", { className: COMPACT_CARD_TEXT_COL, children: [
49379
- /* @__PURE__ */ jsxs301("span", { className: "flex items-center gap-1.5 min-w-0", children: [
49380
- /* @__PURE__ */ jsx379("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49381
- /* @__PURE__ */ jsx379("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49499
+ return /* @__PURE__ */ jsxs302("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
49500
+ /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
49501
+ /* @__PURE__ */ jsxs302("span", { className: "flex items-center gap-1.5 min-w-0", children: [
49502
+ /* @__PURE__ */ jsx380("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
49503
+ /* @__PURE__ */ jsx380("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
49382
49504
  ] }),
49383
- /* @__PURE__ */ jsx379("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49384
- /* @__PURE__ */ jsxs301("span", { className: "flex flex-col gap-0 min-w-0", children: [
49385
- /* @__PURE__ */ jsx379("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49386
- /* @__PURE__ */ jsx379("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
49505
+ /* @__PURE__ */ jsx380("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
49506
+ /* @__PURE__ */ jsxs302("span", { className: "flex flex-col gap-0 min-w-0", children: [
49507
+ /* @__PURE__ */ jsx380("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
49508
+ /* @__PURE__ */ jsx380("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
49387
49509
  ] })
49388
49510
  ] }),
49389
- /* @__PURE__ */ jsx379("span", { className: "flex shrink-0 items-center self-start h-5", children: /* @__PURE__ */ jsx379("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
49511
+ /* @__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" }) })
49390
49512
  ] });
49391
49513
  }
49392
49514
 
49393
49515
  // src/components/chat/entity-cards/program-card.tsx
49394
- import { useState as useState114 } from "react";
49516
+ import { useState as useState115 } from "react";
49395
49517
 
49396
49518
  // node_modules/date-fns/toDate.mjs
49397
49519
  function toDate2(argument) {
@@ -50964,42 +51086,42 @@ function cleanEscapedString(input) {
50964
51086
  init_button();
50965
51087
  import { ExternalLink as ExternalLink12, Clock as Clock2, Play as Play4, Video as Video5 } from "lucide-react";
50966
51088
  init_cn();
50967
- import { Fragment as Fragment84, jsx as jsx380, jsxs as jsxs302 } from "react/jsx-runtime";
51089
+ import { Fragment as Fragment84, jsx as jsx381, jsxs as jsxs303 } from "react/jsx-runtime";
50968
51090
  function formatUtc(date, fmt) {
50969
51091
  return format2(new Date(date.getTime() + date.getTimezoneOffset() * 6e4), fmt);
50970
51092
  }
50971
51093
  function ProgramCardSkeleton({ size: size2 = "default" }) {
50972
51094
  if (size2 === "sm") {
50973
- return /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
50974
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
50975
- /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
50976
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx380("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
50977
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
50978
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51095
+ return /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
51096
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51097
+ /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
51098
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51099
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
51100
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
50979
51101
  ] }),
50980
- /* @__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" }) })
51102
+ /* @__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" }) })
50981
51103
  ] });
50982
51104
  }
50983
- return /* @__PURE__ */ jsxs302(
51105
+ return /* @__PURE__ */ jsxs303(
50984
51106
  "div",
50985
51107
  {
50986
51108
  className: "border border-ods-border rounded-lg overflow-hidden flex flex-col animate-pulse",
50987
51109
  style: { backgroundColor: "var(--ods-system-greys-black)" },
50988
51110
  children: [
50989
- /* @__PURE__ */ jsx380("div", { className: "p-6 flex-1", children: /* @__PURE__ */ jsxs302("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
50990
- /* @__PURE__ */ jsx380("div", { className: "w-full md:w-[180px] h-[180px] bg-ods-bg rounded-lg flex-shrink-0" }),
50991
- /* @__PURE__ */ jsxs302("div", { className: "flex-1 min-w-0 flex flex-col gap-3", children: [
50992
- /* @__PURE__ */ jsx380("div", { className: "h-7 w-3/4 bg-ods-bg rounded" }),
50993
- /* @__PURE__ */ jsx380("div", { className: "h-7 w-1/2 bg-ods-bg rounded" }),
50994
- /* @__PURE__ */ jsx380("div", { className: "h-4 w-1/3 bg-ods-bg/60 rounded" }),
50995
- /* @__PURE__ */ jsxs302("div", { className: "space-y-2", children: [
50996
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
50997
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
50998
- /* @__PURE__ */ jsx380("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
51111
+ /* @__PURE__ */ jsx381("div", { className: "p-6 flex-1", children: /* @__PURE__ */ jsxs303("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51112
+ /* @__PURE__ */ jsx381("div", { className: "w-full md:w-[180px] h-[180px] bg-ods-bg rounded-lg flex-shrink-0" }),
51113
+ /* @__PURE__ */ jsxs303("div", { className: "flex-1 min-w-0 flex flex-col gap-3", children: [
51114
+ /* @__PURE__ */ jsx381("div", { className: "h-7 w-3/4 bg-ods-bg rounded" }),
51115
+ /* @__PURE__ */ jsx381("div", { className: "h-7 w-1/2 bg-ods-bg rounded" }),
51116
+ /* @__PURE__ */ jsx381("div", { className: "h-4 w-1/3 bg-ods-bg/60 rounded" }),
51117
+ /* @__PURE__ */ jsxs303("div", { className: "space-y-2", children: [
51118
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-full bg-ods-bg/60 rounded" }),
51119
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" }),
51120
+ /* @__PURE__ */ jsx381("div", { className: "h-3 w-4/5 bg-ods-bg/60 rounded" })
50999
51121
  ] })
51000
51122
  ] })
51001
51123
  ] }) }),
51002
- /* @__PURE__ */ jsx380("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx380("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsx380("div", { className: "h-9 w-40 bg-ods-bg rounded" }) }) })
51124
+ /* @__PURE__ */ jsx381("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx381("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsx381("div", { className: "h-9 w-40 bg-ods-bg rounded" }) }) })
51003
51125
  ]
51004
51126
  }
51005
51127
  );
@@ -51028,8 +51150,8 @@ function getHosts(hosts) {
51028
51150
  return [];
51029
51151
  }
51030
51152
  function MediaGallery({ images, title }) {
51031
- const [selectedImageIndex, setSelectedImageIndex] = useState114(null);
51032
- const [isModalOpen, setIsModalOpen] = useState114(false);
51153
+ const [selectedImageIndex, setSelectedImageIndex] = useState115(null);
51154
+ const [isModalOpen, setIsModalOpen] = useState115(false);
51033
51155
  const openImageModal = (index, event) => {
51034
51156
  if (event) event.stopPropagation();
51035
51157
  setSelectedImageIndex(index);
@@ -51039,14 +51161,14 @@ function MediaGallery({ images, title }) {
51039
51161
  setIsModalOpen(false);
51040
51162
  setSelectedImageIndex(null);
51041
51163
  };
51042
- return /* @__PURE__ */ jsxs302(Fragment84, { children: [
51043
- /* @__PURE__ */ jsx380("div", { className: "p-6 pt-4", children: /* @__PURE__ */ jsx380("div", { className: "overflow-x-auto mb-4", children: /* @__PURE__ */ jsx380("div", { className: "flex gap-3 pb-2", style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ jsxs302(
51164
+ return /* @__PURE__ */ jsxs303(Fragment84, { children: [
51165
+ /* @__PURE__ */ jsx381("div", { className: "p-6 pt-4", children: /* @__PURE__ */ jsx381("div", { className: "overflow-x-auto mb-4", children: /* @__PURE__ */ jsx381("div", { className: "flex gap-3 pb-2", style: { width: "max-content" }, children: images.map((mediaItem, index) => /* @__PURE__ */ jsxs303(
51044
51166
  "div",
51045
51167
  {
51046
51168
  className: "flex-shrink-0 w-24 h-24 relative rounded-md overflow-hidden cursor-pointer group/thumb",
51047
51169
  onClick: (e) => openImageModal(index, e),
51048
51170
  children: [
51049
- /* @__PURE__ */ jsx380(
51171
+ /* @__PURE__ */ jsx381(
51050
51172
  next_image_default,
51051
51173
  {
51052
51174
  src: mediaItem.media_url,
@@ -51058,12 +51180,12 @@ function MediaGallery({ images, title }) {
51058
51180
  unoptimized: true
51059
51181
  }
51060
51182
  ),
51061
- /* @__PURE__ */ jsx380("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__ */ jsx380("div", { className: "w-6 h-6 rounded-full bg-white/90 flex items-center justify-center", children: /* @__PURE__ */ jsx380("span", { className: "text-black text-sm", children: "+" }) }) })
51183
+ /* @__PURE__ */ jsx381("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__ */ jsx381("div", { className: "w-6 h-6 rounded-full bg-white/90 flex items-center justify-center", children: /* @__PURE__ */ jsx381("span", { className: "text-black text-sm", children: "+" }) }) })
51062
51184
  ]
51063
51185
  },
51064
51186
  mediaItem.id
51065
51187
  )) }) }) }),
51066
- /* @__PURE__ */ jsx380(
51188
+ /* @__PURE__ */ jsx381(
51067
51189
  ImageGalleryModal,
51068
51190
  {
51069
51191
  images: images.map((img) => img.media_url),
@@ -51130,7 +51252,7 @@ function ProgramCard({
51130
51252
  if (size2 === "portrait") {
51131
51253
  const profile = programItemToStripProfile(item);
51132
51254
  const dateMeta = [compactDate, compactTypeMeta()].filter(Boolean).join(" \xB7 ");
51133
- return /* @__PURE__ */ jsx380(
51255
+ return /* @__PURE__ */ jsx381(
51134
51256
  EntityPortraitCard,
51135
51257
  {
51136
51258
  href,
@@ -51154,9 +51276,9 @@ function ProgramCard({
51154
51276
  const subtitleParts = [itemDate2, typeMeta, config.labels?.singular].filter(
51155
51277
  (s) => typeof s === "string" && s.length > 0
51156
51278
  );
51157
- return /* @__PURE__ */ jsxs302("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
51158
- /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
51159
- compactCover ? /* @__PURE__ */ jsx380(
51279
+ return /* @__PURE__ */ jsxs303("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
51280
+ /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
51281
+ compactCover ? /* @__PURE__ */ jsx381(
51160
51282
  next_image_default,
51161
51283
  {
51162
51284
  src: compactCover,
@@ -51166,39 +51288,39 @@ function ProgramCard({
51166
51288
  className: "object-contain",
51167
51289
  unoptimized: true
51168
51290
  }
51169
- ) : /* @__PURE__ */ jsx380("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ jsx380(Play4, { className: "w-4 h-4" }) : config.type === "webinar" ? /* @__PURE__ */ jsx380(Video5, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx380(Clock2, { className: "w-4 h-4" }) }),
51170
- config.type === "podcast" && !isScheduled && compactCover && /* @__PURE__ */ jsx380("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx380(Play4, { className: "w-4 h-4 text-ods-text-on-dark", fill: "white" }) })
51291
+ ) : /* @__PURE__ */ jsx381("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: config.type === "podcast" ? /* @__PURE__ */ jsx381(Play4, { className: "w-4 h-4" }) : config.type === "webinar" ? /* @__PURE__ */ jsx381(Video5, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx381(Clock2, { className: "w-4 h-4" }) }),
51292
+ config.type === "podcast" && !isScheduled && compactCover && /* @__PURE__ */ jsx381("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx381(Play4, { className: "w-4 h-4 text-ods-text-on-dark", fill: "white" }) })
51171
51293
  ] }),
51172
- /* @__PURE__ */ jsxs302("span", { className: COMPACT_CARD_TEXT_COL, children: [
51173
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx380("span", { className: cn(COMPACT_CARD_TITLE, "font-heading"), children: item.title }) }),
51174
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: "truncate text-h6 text-ods-accent", children: subtitleParts.join(" \xB7 ") }) }),
51175
- /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx380("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
51294
+ /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
51295
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: cn(COMPACT_CARD_TITLE, "font-heading"), children: item.title }) }),
51296
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "truncate text-h6 text-ods-accent", children: subtitleParts.join(" \xB7 ") }) }),
51297
+ /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUMMARY, children: item.description || COMPACT_CARD_ROW_FILLER }) })
51176
51298
  ] }),
51177
- /* @__PURE__ */ jsx380("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx380(ExternalLink12, { className: "w-3.5 h-3.5" }) })
51299
+ /* @__PURE__ */ jsx381("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx381(ExternalLink12, { className: "w-3.5 h-3.5" }) })
51178
51300
  ] });
51179
51301
  }
51180
51302
  const itemDate = new Date(item.date);
51181
51303
  const dateFormat = formatUtc(itemDate, "EEEE d MMMM");
51182
51304
  const defaultRenderMeta = () => {
51183
51305
  if (config.type === "podcast" && "duration_seconds" in item && !isScheduled) {
51184
- return /* @__PURE__ */ jsxs302(Fragment84, { children: [
51185
- /* @__PURE__ */ jsx380(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
51186
- /* @__PURE__ */ jsx380("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
51306
+ return /* @__PURE__ */ jsxs303(Fragment84, { children: [
51307
+ /* @__PURE__ */ jsx381(Clock2, { className: "w-4 h-4 text-ods-text-secondary" }),
51308
+ /* @__PURE__ */ jsx381("span", { className: "font-body text-ods-text-secondary", children: formatDurationCompact(item.duration_seconds) })
51187
51309
  ] });
51188
51310
  }
51189
51311
  if (config.type === "event" && "location_name" in item) {
51190
- return /* @__PURE__ */ jsx380("span", { className: "font-body text-ods-text-secondary", children: item.location_name || "Location TBD" });
51312
+ return /* @__PURE__ */ jsx381("span", { className: "font-body text-ods-text-secondary", children: item.location_name || "Location TBD" });
51191
51313
  }
51192
51314
  if (config.type === "webinar" && "start_at" in item) {
51193
51315
  const webinarItem = item;
51194
51316
  const duration = formatDurationFromRange(webinarItem.start_at, webinarItem.end_at);
51195
- return /* @__PURE__ */ jsxs302(Fragment84, { children: [
51196
- /* @__PURE__ */ jsx380(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
51197
- /* @__PURE__ */ jsxs302("span", { className: "font-body text-ods-text-secondary", children: [
51317
+ return /* @__PURE__ */ jsxs303(Fragment84, { children: [
51318
+ /* @__PURE__ */ jsx381(Video5, { className: "w-4 h-4 text-ods-text-secondary" }),
51319
+ /* @__PURE__ */ jsxs303("span", { className: "font-body text-ods-text-secondary", children: [
51198
51320
  formatTimeWithTimezone(webinarItem.start_at, webinarItem.timezone ?? null),
51199
51321
  duration && ` \xB7 ${duration}`
51200
51322
  ] }),
51201
- webinarItem.timezone && /* @__PURE__ */ jsxs302("span", { className: "text-h6 text-ods-text-secondary", children: [
51323
+ webinarItem.timezone && /* @__PURE__ */ jsxs303("span", { className: "text-h6 text-ods-text-secondary", children: [
51202
51324
  "(",
51203
51325
  webinarItem.timezone,
51204
51326
  ")"
@@ -51207,9 +51329,9 @@ function ProgramCard({
51207
51329
  }
51208
51330
  return null;
51209
51331
  };
51210
- const cardHeader = /* @__PURE__ */ jsx380("div", { className: "p-6 border-ods-border flex-1", children: /* @__PURE__ */ jsxs302("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51211
- coverImage && /* @__PURE__ */ jsx380("div", { className: "w-full md:w-[180px] flex-shrink-0 flex items-center", children: /* @__PURE__ */ jsxs302("div", { className: "relative rounded-lg overflow-hidden", children: [
51212
- /* @__PURE__ */ jsx380(
51332
+ const cardHeader = /* @__PURE__ */ jsx381("div", { className: "p-6 border-ods-border flex-1", children: /* @__PURE__ */ jsxs303("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
51333
+ coverImage && /* @__PURE__ */ jsx381("div", { className: "w-full md:w-[180px] flex-shrink-0 flex items-center", children: /* @__PURE__ */ jsxs303("div", { className: "relative rounded-lg overflow-hidden", children: [
51334
+ /* @__PURE__ */ jsx381(
51213
51335
  next_image_default,
51214
51336
  {
51215
51337
  src: coverImage,
@@ -51220,23 +51342,23 @@ function ProgramCard({
51220
51342
  unoptimized: true
51221
51343
  }
51222
51344
  ),
51223
- config.type === "podcast" && !isScheduled && /* @__PURE__ */ jsx380("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__ */ jsx380(Play4, { className: "w-10 h-10 text-ods-text-on-dark", fill: "white" }) })
51345
+ config.type === "podcast" && !isScheduled && /* @__PURE__ */ jsx381("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__ */ jsx381(Play4, { className: "w-10 h-10 text-ods-text-on-dark", fill: "white" }) })
51224
51346
  ] }) }),
51225
- /* @__PURE__ */ jsxs302("div", { className: "flex-1 min-w-0 flex flex-col", children: [
51226
- /* @__PURE__ */ jsx380("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 }),
51227
- /* @__PURE__ */ jsxs302("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
51228
- /* @__PURE__ */ jsx380("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
51229
- renderMeta ? /* @__PURE__ */ jsxs302(Fragment84, { children: [
51230
- /* @__PURE__ */ jsx380("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51347
+ /* @__PURE__ */ jsxs303("div", { className: "flex-1 min-w-0 flex flex-col", children: [
51348
+ /* @__PURE__ */ jsx381("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 }),
51349
+ /* @__PURE__ */ jsxs303("div", { className: "flex flex-col md:flex-row md:items-center gap-2 md:gap-4 mb-4", children: [
51350
+ /* @__PURE__ */ jsx381("span", { className: "text-h6", style: { color: accentColor }, children: dateFormat }),
51351
+ renderMeta ? /* @__PURE__ */ jsxs303(Fragment84, { children: [
51352
+ /* @__PURE__ */ jsx381("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51231
51353
  renderMeta(item)
51232
- ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs302(Fragment84, { children: [
51233
- /* @__PURE__ */ jsx380("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51234
- /* @__PURE__ */ jsx380("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
51354
+ ] }) : defaultRenderMeta() && /* @__PURE__ */ jsxs303(Fragment84, { children: [
51355
+ /* @__PURE__ */ jsx381("span", { className: "hidden md:inline text-ods-text-secondary", children: "\u2022" }),
51356
+ /* @__PURE__ */ jsx381("div", { className: "flex items-center gap-2", children: defaultRenderMeta() })
51235
51357
  ] })
51236
51358
  ] }),
51237
- /* @__PURE__ */ jsx380("div", { className: "flex-1", children: /* @__PURE__ */ jsx380("p", { className: "text-h6 text-ods-text-secondary line-clamp-3 min-h-[4.5rem]", children: item.description }) })
51359
+ /* @__PURE__ */ jsx381("div", { className: "flex-1", children: /* @__PURE__ */ jsx381("p", { className: "text-h6 text-ods-text-secondary line-clamp-3 min-h-[4.5rem]", children: item.description }) })
51238
51360
  ] }),
51239
- hosts.length > 0 && /* @__PURE__ */ jsx380("div", { className: "md:text-right", children: /* @__PURE__ */ jsx380("div", { className: "flex flex-wrap md:justify-end gap-2", children: hosts.map((host, index) => /* @__PURE__ */ jsx380(
51361
+ hosts.length > 0 && /* @__PURE__ */ jsx381("div", { className: "md:text-right", children: /* @__PURE__ */ jsx381("div", { className: "flex flex-wrap md:justify-end gap-2", children: hosts.map((host, index) => /* @__PURE__ */ jsx381(
51240
51362
  SquareAvatar,
51241
51363
  {
51242
51364
  variant: "round",
@@ -51254,7 +51376,7 @@ function ProgramCard({
51254
51376
  );
51255
51377
  const cardFrameStyle = { backgroundColor: "var(--ods-system-greys-black)" };
51256
51378
  if (wholeCardClickable) {
51257
- return /* @__PURE__ */ jsxs302(
51379
+ return /* @__PURE__ */ jsxs303(
51258
51380
  "a",
51259
51381
  {
51260
51382
  href,
@@ -51265,8 +51387,8 @@ function ProgramCard({
51265
51387
  "aria-label": `Open ${item.title}`,
51266
51388
  children: [
51267
51389
  cardHeader,
51268
- images.length > 0 && /* @__PURE__ */ jsx380(MediaGallery, { images, title: item.title }),
51269
- /* @__PURE__ */ jsx380("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx380("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs302(
51390
+ images.length > 0 && /* @__PURE__ */ jsx381(MediaGallery, { images, title: item.title }),
51391
+ /* @__PURE__ */ jsx381("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx381("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs303(
51270
51392
  "span",
51271
51393
  {
51272
51394
  className: "inline-flex items-center gap-2 px-4 py-2 rounded-md border border-ods-accent text-ods-accent text-h6",
@@ -51275,7 +51397,7 @@ function ProgramCard({
51275
51397
  "View ",
51276
51398
  config.labels.singular,
51277
51399
  " Details",
51278
- /* @__PURE__ */ jsx380(ExternalLink12, { className: "w-5 h-5" })
51400
+ /* @__PURE__ */ jsx381(ExternalLink12, { className: "w-5 h-5" })
51279
51401
  ]
51280
51402
  }
51281
51403
  ) }) })
@@ -51283,17 +51405,17 @@ function ProgramCard({
51283
51405
  }
51284
51406
  );
51285
51407
  }
51286
- return /* @__PURE__ */ jsxs302("div", { className: cardFrameClass, style: cardFrameStyle, children: [
51287
- /* @__PURE__ */ jsx380("a", { href, target, rel, className: "block", "aria-label": `Open ${item.title}`, children: cardHeader }),
51288
- images.length > 0 && /* @__PURE__ */ jsx380(MediaGallery, { images, title: item.title }),
51289
- /* @__PURE__ */ jsx380("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx380("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs302(
51408
+ return /* @__PURE__ */ jsxs303("div", { className: cardFrameClass, style: cardFrameStyle, children: [
51409
+ /* @__PURE__ */ jsx381("a", { href, target, rel, className: "block", "aria-label": `Open ${item.title}`, children: cardHeader }),
51410
+ images.length > 0 && /* @__PURE__ */ jsx381(MediaGallery, { images, title: item.title }),
51411
+ /* @__PURE__ */ jsx381("div", { className: "p-6 pt-0 mt-auto", children: /* @__PURE__ */ jsx381("div", { className: "pt-4 border-t border-ods-border", children: /* @__PURE__ */ jsxs303(
51290
51412
  Button,
51291
51413
  {
51292
51414
  variant: "outline",
51293
51415
  size: "small-legacy",
51294
51416
  href,
51295
51417
  openInNewTab: target === "_blank",
51296
- rightIcon: /* @__PURE__ */ jsx380(ExternalLink12, { className: "w-5 h-5" }),
51418
+ rightIcon: /* @__PURE__ */ jsx381(ExternalLink12, { className: "w-5 h-5" }),
51297
51419
  children: [
51298
51420
  "View ",
51299
51421
  config.labels.singular,
@@ -51306,48 +51428,48 @@ function ProgramCard({
51306
51428
 
51307
51429
  // src/components/chat/entity-cards/campaign-card-admin.tsx
51308
51430
  import { Megaphone as Megaphone3 } from "lucide-react";
51309
- import { Fragment as Fragment85, jsx as jsx381, jsxs as jsxs303 } from "react/jsx-runtime";
51431
+ import { Fragment as Fragment85, jsx as jsx382, jsxs as jsxs304 } from "react/jsx-runtime";
51310
51432
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
51311
51433
  const goalsCount = campaign.goals?.length || 0;
51312
- const innerChildren = /* @__PURE__ */ jsxs303(Fragment85, { children: [
51313
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx381(Megaphone3, { className: "h-5 w-5" }) }),
51314
- /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
51315
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
51316
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUBTITLE, children: [
51434
+ const innerChildren = /* @__PURE__ */ jsxs304(Fragment85, { children: [
51435
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx382(Megaphone3, { className: "h-5 w-5" }) }),
51436
+ /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
51437
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_TITLE, children: campaign.name }) }),
51438
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_SUBTITLE, children: [
51317
51439
  campaign.start_date ? formatDateShort(campaign.start_date) : null,
51318
51440
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
51319
51441
  "Marketing campaign"
51320
51442
  ].filter(Boolean).join(" \xB7 ") }) }),
51321
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SUMMARY, children: campaign.description || COMPACT_CARD_ROW_FILLER }) })
51443
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_SUMMARY, children: campaign.description || COMPACT_CARD_ROW_FILLER }) })
51322
51444
  ] })
51323
51445
  ] });
51324
51446
  if (anchorProps) {
51325
- return /* @__PURE__ */ jsx381("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: innerChildren });
51447
+ return /* @__PURE__ */ jsx382("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: innerChildren });
51326
51448
  }
51327
- return /* @__PURE__ */ jsx381("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: innerChildren });
51449
+ return /* @__PURE__ */ jsx382("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: innerChildren });
51328
51450
  }
51329
51451
  function CampaignCardAdminSkeleton({ className }) {
51330
- return /* @__PURE__ */ jsxs303("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51331
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51332
- /* @__PURE__ */ jsxs303("span", { className: COMPACT_CARD_TEXT_COL, children: [
51333
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx381("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51334
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
51335
- /* @__PURE__ */ jsx381("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx381("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51452
+ return /* @__PURE__ */ jsxs304("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51453
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
51454
+ /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
51455
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx382("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
51456
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
51457
+ /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
51336
51458
  ] })
51337
51459
  ] });
51338
51460
  }
51339
51461
 
51340
51462
  // src/components/chat/entity-cards/generic-entity-card.tsx
51341
51463
  import { ExternalLink as ExternalLink13 } from "lucide-react";
51342
- import { Fragment as Fragment86, jsx as jsx382, jsxs as jsxs304 } from "react/jsx-runtime";
51464
+ import { Fragment as Fragment86, jsx as jsx383, jsxs as jsxs305 } from "react/jsx-runtime";
51343
51465
  function GenericEntityCard({ item, className, anchorProps }) {
51344
51466
  const href = safeHref(item.url);
51345
51467
  const dateText = formatDateUTC(item.dateUpdated, { fallback: "", timezone: "local" });
51346
- const body = /* @__PURE__ */ jsxs304(Fragment86, { children: [
51347
- /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
51348
- /* @__PURE__ */ jsxs304("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
51349
- /* @__PURE__ */ jsx382("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
51350
- item.badge ? /* @__PURE__ */ jsx382(
51468
+ const body = /* @__PURE__ */ jsxs305(Fragment86, { children: [
51469
+ /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_TEXT_COL, children: [
51470
+ /* @__PURE__ */ jsxs305("span", { className: "flex flex-wrap items-center gap-1.5 min-w-0", children: [
51471
+ /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_TITLE} shrink min-w-0`, children: item.title }),
51472
+ item.badge ? /* @__PURE__ */ jsx383(
51351
51473
  StatusBadge,
51352
51474
  {
51353
51475
  text: item.badge.text,
@@ -51357,44 +51479,44 @@ function GenericEntityCard({ item, className, anchorProps }) {
51357
51479
  }
51358
51480
  ) : null
51359
51481
  ] }),
51360
- item.subtitle ? /* @__PURE__ */ jsx382("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: /* @__PURE__ */ jsx382("span", { className: "min-w-0 truncate font-mono", children: item.subtitle }) }) : null,
51361
- item.preview ? /* @__PURE__ */ jsx382("span", { className: "flex min-w-0", children: /* @__PURE__ */ jsx382("span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-h6 text-ods-text-secondary", children: item.preview }) }) : null,
51362
- item.facts && item.facts.length > 0 ? /* @__PURE__ */ jsx382("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__ */ jsxs304("span", { className: "inline-flex items-center gap-1 min-w-0 truncate", children: [
51363
- /* @__PURE__ */ jsxs304("span", { className: "text-ods-text-secondary/70 shrink-0", children: [
51482
+ item.subtitle ? /* @__PURE__ */ jsx383("span", { className: "flex min-w-0 items-center gap-1 text-h6 text-ods-text-secondary", children: /* @__PURE__ */ jsx383("span", { className: "min-w-0 truncate font-mono", children: item.subtitle }) }) : null,
51483
+ 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,
51484
+ item.facts && item.facts.length > 0 ? /* @__PURE__ */ jsx383("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__ */ jsxs305("span", { className: "inline-flex items-center gap-1 min-w-0 truncate", children: [
51485
+ /* @__PURE__ */ jsxs305("span", { className: "text-ods-text-secondary/70 shrink-0", children: [
51364
51486
  f.label,
51365
51487
  ":"
51366
51488
  ] }),
51367
- /* @__PURE__ */ jsx382("span", { className: "text-ods-text-primary font-medium truncate", children: f.value })
51489
+ /* @__PURE__ */ jsx383("span", { className: "text-ods-text-primary font-medium truncate", children: f.value })
51368
51490
  ] }, i)) }) : null,
51369
- dateText ? /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx382("span", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsx382("span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
51491
+ dateText ? /* @__PURE__ */ jsx383("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx383("span", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsx383("span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
51370
51492
  ] }),
51371
- href ? /* @__PURE__ */ jsx382("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx382(ExternalLink13, { className: "w-3.5 h-3.5" }) }) : null
51493
+ href ? /* @__PURE__ */ jsx383("span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ jsx383(ExternalLink13, { className: "w-3.5 h-3.5" }) }) : null
51372
51494
  ] });
51373
51495
  if (anchorProps) {
51374
- return /* @__PURE__ */ jsx382("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
51496
+ return /* @__PURE__ */ jsx383("a", { ...anchorProps, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body });
51375
51497
  }
51376
- return href ? /* @__PURE__ */ jsx382("a", { href, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body }) : /* @__PURE__ */ jsx382("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
51498
+ return href ? /* @__PURE__ */ jsx383("a", { href, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: body }) : /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_OUTER_STATIC} ${className ?? ""}`, "aria-label": "No link available", children: body });
51377
51499
  }
51378
51500
  function GenericEntityCardSkeleton({ className }) {
51379
- return /* @__PURE__ */ jsxs304("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51380
- /* @__PURE__ */ jsxs304("span", { className: COMPACT_CARD_TEXT_COL, children: [
51381
- /* @__PURE__ */ jsxs304("span", { className: "flex items-center gap-1.5 min-w-0", children: [
51382
- /* @__PURE__ */ jsx382("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
51383
- /* @__PURE__ */ jsx382("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
51501
+ return /* @__PURE__ */ jsxs305("span", { className: `${COMPACT_CARD_SKELETON_OUTER} ${className ?? ""}`, children: [
51502
+ /* @__PURE__ */ jsxs305("span", { className: COMPACT_CARD_TEXT_COL, children: [
51503
+ /* @__PURE__ */ jsxs305("span", { className: "flex items-center gap-1.5 min-w-0", children: [
51504
+ /* @__PURE__ */ jsx383("span", { className: "h-3.5 w-2/3 rounded bg-ods-bg" }),
51505
+ /* @__PURE__ */ jsx383("span", { className: "h-4 w-16 rounded-full bg-ods-bg/60" })
51384
51506
  ] }),
51385
- /* @__PURE__ */ jsx382("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
51386
- /* @__PURE__ */ jsxs304("span", { className: "flex flex-col gap-0 min-w-0", children: [
51387
- /* @__PURE__ */ jsx382("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
51388
- /* @__PURE__ */ jsx382("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
51507
+ /* @__PURE__ */ jsx383("span", { className: "h-4 w-1/2 rounded bg-ods-bg/60" }),
51508
+ /* @__PURE__ */ jsxs305("span", { className: "flex flex-col gap-0 min-w-0", children: [
51509
+ /* @__PURE__ */ jsx383("span", { className: "h-5 w-5/6 rounded bg-ods-bg/60" }),
51510
+ /* @__PURE__ */ jsx383("span", { className: "h-5 w-3/4 rounded bg-ods-bg/60" })
51389
51511
  ] }),
51390
- /* @__PURE__ */ jsx382("span", { className: "h-3 w-1/4 rounded bg-ods-bg/70" })
51512
+ /* @__PURE__ */ jsx383("span", { className: "h-3 w-1/4 rounded bg-ods-bg/70" })
51391
51513
  ] }),
51392
- /* @__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" }) })
51514
+ /* @__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" }) })
51393
51515
  ] });
51394
51516
  }
51395
51517
 
51396
51518
  // src/components/chat/entity-cards/dispatch.tsx
51397
- import React148 from "react";
51519
+ import React149 from "react";
51398
51520
  init_next_navigation();
51399
51521
 
51400
51522
  // src/components/chat/hooks/use-chat-card-item.ts
@@ -51581,14 +51703,14 @@ function resolveFetchedCardHref({
51581
51703
 
51582
51704
  // src/components/chat/entity-cards/deleted-data-card.tsx
51583
51705
  import { Trash2 as Trash27 } from "lucide-react";
51584
- import { jsx as jsx383, jsxs as jsxs305 } from "react/jsx-runtime";
51706
+ import { jsx as jsx384, jsxs as jsxs306 } from "react/jsx-runtime";
51585
51707
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
51586
51708
  const label = entityLabel || "Item";
51587
- return /* @__PURE__ */ jsxs305("div", { className: `${COMPACT_CARD_OUTER_STATIC} opacity-70 ${className ?? ""}`, children: [
51588
- /* @__PURE__ */ jsx383("div", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx383(Trash27, { className: "h-4 w-4 text-ods-text-secondary" }) }),
51589
- /* @__PURE__ */ jsxs305("div", { className: COMPACT_CARD_TEXT_COL, children: [
51590
- /* @__PURE__ */ jsx383("div", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx383("span", { className: `${COMPACT_CARD_TITLE} line-through text-ods-text-secondary`, children: title || `Deleted ${label.toLowerCase()}` }) }),
51591
- /* @__PURE__ */ jsx383("div", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsxs305("span", { className: "text-ods-text-secondary", children: [
51709
+ return /* @__PURE__ */ jsxs306("div", { className: `${COMPACT_CARD_OUTER_STATIC} opacity-70 ${className ?? ""}`, children: [
51710
+ /* @__PURE__ */ jsx384("div", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ jsx384(Trash27, { className: "h-4 w-4 text-ods-text-secondary" }) }),
51711
+ /* @__PURE__ */ jsxs306("div", { className: COMPACT_CARD_TEXT_COL, children: [
51712
+ /* @__PURE__ */ jsx384("div", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx384("span", { className: `${COMPACT_CARD_TITLE} line-through text-ods-text-secondary`, children: title || `Deleted ${label.toLowerCase()}` }) }),
51713
+ /* @__PURE__ */ jsx384("div", { className: COMPACT_CARD_META_ROW, children: /* @__PURE__ */ jsxs306("span", { className: "text-ods-text-secondary", children: [
51592
51714
  label,
51593
51715
  " deleted",
51594
51716
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -51599,16 +51721,16 @@ function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
51599
51721
 
51600
51722
  // src/components/chat/mingo-info-card.tsx
51601
51723
  init_cn();
51602
- import { Fragment as Fragment87, jsx as jsx384, jsxs as jsxs306 } from "react/jsx-runtime";
51724
+ import { Fragment as Fragment87, jsx as jsx385, jsxs as jsxs307 } from "react/jsx-runtime";
51603
51725
  function CardMedia({
51604
51726
  imageSrc,
51605
51727
  imageAlt,
51606
51728
  icon
51607
51729
  }) {
51608
51730
  if (imageSrc) {
51609
- return /* @__PURE__ */ jsxs306("span", { className: "relative block size-10 shrink-0", children: [
51610
- /* @__PURE__ */ jsx384("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) || "?" }),
51611
- /* @__PURE__ */ jsx384(
51731
+ return /* @__PURE__ */ jsxs307("span", { className: "relative block size-10 shrink-0", children: [
51732
+ /* @__PURE__ */ jsx385("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) || "?" }),
51733
+ /* @__PURE__ */ jsx385(
51612
51734
  "img",
51613
51735
  {
51614
51736
  src: imageSrc,
@@ -51622,12 +51744,12 @@ function CardMedia({
51622
51744
  ] });
51623
51745
  }
51624
51746
  if (icon) {
51625
- return /* @__PURE__ */ jsx384("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__ */ jsx384("span", { className: "flex size-6 items-center justify-center", children: icon }) });
51747
+ return /* @__PURE__ */ jsx385("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__ */ jsx385("span", { className: "flex size-6 items-center justify-center", children: icon }) });
51626
51748
  }
51627
51749
  return null;
51628
51750
  }
51629
51751
  function MingoInfoCardSkeleton({ className }) {
51630
- return /* @__PURE__ */ jsxs306(
51752
+ return /* @__PURE__ */ jsxs307(
51631
51753
  "span",
51632
51754
  {
51633
51755
  className: cn(
@@ -51635,12 +51757,12 @@ function MingoInfoCardSkeleton({ className }) {
51635
51757
  className
51636
51758
  ),
51637
51759
  children: [
51638
- /* @__PURE__ */ jsx384("span", { className: "block size-10 shrink-0 rounded-md border border-ods-border bg-ods-bg" }),
51639
- /* @__PURE__ */ jsxs306("span", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1.5", children: [
51640
- /* @__PURE__ */ jsx384("span", { className: "block h-4 w-1/2 rounded bg-ods-bg" }),
51641
- /* @__PURE__ */ jsx384("span", { className: "block h-3 w-3/4 rounded bg-ods-bg/60" })
51760
+ /* @__PURE__ */ jsx385("span", { className: "block size-10 shrink-0 rounded-md border border-ods-border bg-ods-bg" }),
51761
+ /* @__PURE__ */ jsxs307("span", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1.5", children: [
51762
+ /* @__PURE__ */ jsx385("span", { className: "block h-4 w-1/2 rounded bg-ods-bg" }),
51763
+ /* @__PURE__ */ jsx385("span", { className: "block h-3 w-3/4 rounded bg-ods-bg/60" })
51642
51764
  ] }),
51643
- /* @__PURE__ */ jsx384("span", { className: "block h-5 w-16 shrink-0 rounded bg-ods-bg/60" })
51765
+ /* @__PURE__ */ jsx385("span", { className: "block h-5 w-16 shrink-0 rounded bg-ods-bg/60" })
51644
51766
  ]
51645
51767
  }
51646
51768
  );
@@ -51662,16 +51784,16 @@ function MingoInfoCard({
51662
51784
  const hasMenu = !!menuGroups && menuGroups.length > 0;
51663
51785
  const isAnchor = !!anchorProps;
51664
51786
  const isInteractive = isAnchor || !!onClick;
51665
- const content = /* @__PURE__ */ jsxs306(Fragment87, { children: [
51666
- hasMedia && /* @__PURE__ */ jsx384(CardMedia, { imageSrc, imageAlt, icon }),
51667
- /* @__PURE__ */ jsxs306("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
51668
- /* @__PURE__ */ jsx384("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
51669
- description ? /* @__PURE__ */ jsx384("span", { className: "truncate text-h6 text-ods-text-secondary", children: description }) : null
51787
+ const content = /* @__PURE__ */ jsxs307(Fragment87, { children: [
51788
+ hasMedia && /* @__PURE__ */ jsx385(CardMedia, { imageSrc, imageAlt, icon }),
51789
+ /* @__PURE__ */ jsxs307("span", { className: "flex min-w-0 flex-1 flex-col justify-center", children: [
51790
+ /* @__PURE__ */ jsx385("span", { className: "truncate text-h4 text-ods-text-primary", children: title }),
51791
+ description ? /* @__PURE__ */ jsx385("span", { className: "truncate text-h6 text-ods-text-secondary", children: description }) : null
51670
51792
  ] }),
51671
51793
  status ? (
51672
51794
  // Reuse the shared Tag palette (single source of truth for colours)
51673
51795
  // without rendering Tag's `<div>` — span-only for `<p>` validity.
51674
- /* @__PURE__ */ jsx384("span", { className: cn(tagVariants({ variant: status.variant ?? "success" }), "shrink-0"), children: /* @__PURE__ */ jsx384("span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
51796
+ /* @__PURE__ */ jsx385("span", { className: cn(tagVariants({ variant: status.variant ?? "success" }), "shrink-0"), children: /* @__PURE__ */ jsx385("span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
51675
51797
  ) : null
51676
51798
  ] });
51677
51799
  const contentClass = cn(
@@ -51679,7 +51801,7 @@ function MingoInfoCard({
51679
51801
  hasMenu && "border-r border-ods-border",
51680
51802
  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"
51681
51803
  );
51682
- return /* @__PURE__ */ jsxs306(
51804
+ return /* @__PURE__ */ jsxs307(
51683
51805
  "span",
51684
51806
  {
51685
51807
  className: cn(
@@ -51687,20 +51809,20 @@ function MingoInfoCard({
51687
51809
  className
51688
51810
  ),
51689
51811
  children: [
51690
- isAnchor ? /* @__PURE__ */ jsx384("a", { ...anchorProps, className: cn(contentClass, "no-underline"), children: content }) : onClick ? /* @__PURE__ */ jsx384("button", { type: "button", onClick, className: contentClass, children: content }) : /* @__PURE__ */ jsx384("span", { className: contentClass, children: content }),
51691
- hasMenu && /* @__PURE__ */ jsx384(
51812
+ isAnchor ? /* @__PURE__ */ jsx385("a", { ...anchorProps, className: cn(contentClass, "no-underline"), children: content }) : onClick ? /* @__PURE__ */ jsx385("button", { type: "button", onClick, className: contentClass, children: content }) : /* @__PURE__ */ jsx385("span", { className: contentClass, children: content }),
51813
+ hasMenu && /* @__PURE__ */ jsx385(
51692
51814
  ActionsMenuDropdown,
51693
51815
  {
51694
51816
  groups: menuGroups,
51695
51817
  triggerAriaLabel: menuAriaLabel,
51696
51818
  onCloseAutoFocus: (e) => e.preventDefault(),
51697
- customTrigger: /* @__PURE__ */ jsx384(
51819
+ customTrigger: /* @__PURE__ */ jsx385(
51698
51820
  "button",
51699
51821
  {
51700
51822
  type: "button",
51701
51823
  "aria-label": menuAriaLabel,
51702
51824
  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",
51703
- children: /* @__PURE__ */ jsx384(Ellipsis01Icon, { size: 24 })
51825
+ children: /* @__PURE__ */ jsx385(Ellipsis01Icon, { size: 24 })
51704
51826
  }
51705
51827
  )
51706
51828
  }
@@ -51711,16 +51833,16 @@ function MingoInfoCard({
51711
51833
  }
51712
51834
 
51713
51835
  // src/components/chat/entity-cards/dispatch.tsx
51714
- import { Fragment as Fragment88, jsx as jsx385, jsxs as jsxs307 } from "react/jsx-runtime";
51836
+ import { Fragment as Fragment88, jsx as jsx386, jsxs as jsxs308 } from "react/jsx-runtime";
51715
51837
  function githubKindIcon(kind) {
51716
51838
  switch (kind) {
51717
51839
  case "pull_request":
51718
- return /* @__PURE__ */ jsx385(CodingPullRequestIcon, { size: 24 });
51840
+ return /* @__PURE__ */ jsx386(CodingPullRequestIcon, { size: 24 });
51719
51841
  case "pr_review":
51720
- return /* @__PURE__ */ jsx385(CodeIcon, { size: 24 });
51842
+ return /* @__PURE__ */ jsx386(CodeIcon, { size: 24 });
51721
51843
  case "commit":
51722
51844
  default:
51723
- return /* @__PURE__ */ jsx385(CodingCommitIcon, { size: 24 });
51845
+ return /* @__PURE__ */ jsx386(CodingCommitIcon, { size: 24 });
51724
51846
  }
51725
51847
  }
51726
51848
  function reviewStateToVariant(state) {
@@ -51749,7 +51871,7 @@ function GitHubChatCard({
51749
51871
  const idLabel = formatActivityId(chatRef.id, kind);
51750
51872
  const dateText = formatDateUTC(chatRef.date ?? null, { fallback: "", timezone: "local" });
51751
51873
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
51752
- return /* @__PURE__ */ jsx385(
51874
+ return /* @__PURE__ */ jsx386(
51753
51875
  MingoInfoCard,
51754
51876
  {
51755
51877
  title,
@@ -51776,12 +51898,12 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
51776
51898
  items.push({
51777
51899
  id: "open-details",
51778
51900
  label: openDetails?.label ?? "Open Details",
51779
- icon: openDetails?.icon ?? /* @__PURE__ */ jsx385(EyeIcon2, { size: 20 }),
51901
+ icon: openDetails?.icon ?? /* @__PURE__ */ jsx386(EyeIcon2, { size: 20 }),
51780
51902
  // Main row → open the entity (same tab, soft Link nav).
51781
51903
  href,
51782
51904
  // Trailing 40px ↗ side-button → open in a new tab.
51783
51905
  iconAction: {
51784
- icon: /* @__PURE__ */ jsx385(ArrowRightUpIcon, { size: 20 }),
51906
+ icon: /* @__PURE__ */ jsx386(ArrowRightUpIcon, { size: 20 }),
51785
51907
  "aria-label": "Open in new tab",
51786
51908
  href,
51787
51909
  openInNewTab: true
@@ -51858,12 +51980,12 @@ function CardLoadFailure({
51858
51980
  id,
51859
51981
  detail
51860
51982
  }) {
51861
- return /* @__PURE__ */ jsx385(
51983
+ return /* @__PURE__ */ jsx386(
51862
51984
  MingoInfoCard,
51863
51985
  {
51864
51986
  title: label,
51865
51987
  description: `${detail} \xB7 id: ${id}`,
51866
- icon: /* @__PURE__ */ jsx385(AlertTriangleIcon, { size: 24 }),
51988
+ icon: /* @__PURE__ */ jsx386(AlertTriangleIcon, { size: 24 }),
51867
51989
  status: { label: "FAILED", variant: "error" },
51868
51990
  menuAriaLabel: "Card failed to load"
51869
51991
  }
@@ -51898,17 +52020,17 @@ function HubspotTicketChatCard({
51898
52020
  const status = typeof chatRef.metadata?.status === "string" ? chatRef.metadata.status : void 0;
51899
52021
  const statusLabel = typeof chatRef.metadata?.statusLabel === "string" ? chatRef.metadata.statusLabel : void 0;
51900
52022
  const statusText = statusLabel ?? formatStatusToken(status);
51901
- return /* @__PURE__ */ jsx385(
52023
+ return /* @__PURE__ */ jsx386(
51902
52024
  MingoInfoCard,
51903
52025
  {
51904
52026
  title: chatRef.title,
51905
52027
  description: chatRef.preview ?? void 0,
51906
- icon: /* @__PURE__ */ jsx385(TagIcon, { size: 24 }),
52028
+ icon: /* @__PURE__ */ jsx386(TagIcon, { size: 24 }),
51907
52029
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
51908
52030
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
51909
52031
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
51910
52032
  label: "Open Ticket Details",
51911
- icon: /* @__PURE__ */ jsx385(TagIcon, { size: 20 })
52033
+ icon: /* @__PURE__ */ jsx386(TagIcon, { size: 20 })
51912
52034
  }),
51913
52035
  menuAriaLabel: "Ticket actions"
51914
52036
  }
@@ -51921,12 +52043,12 @@ function FaqChatCard({
51921
52043
  }) {
51922
52044
  const section = typeof chatRef.metadata?.section === "string" ? chatRef.metadata.section.trim() : void 0;
51923
52045
  const statusLabel = section && section.length > 0 ? section : "FAQ";
51924
- return /* @__PURE__ */ jsx385(
52046
+ return /* @__PURE__ */ jsx386(
51925
52047
  MingoInfoCard,
51926
52048
  {
51927
52049
  title: chatRef.title,
51928
52050
  description: chatRef.preview ?? void 0,
51929
- icon: /* @__PURE__ */ jsx385(QuestionCircleIcon, { size: 24 }),
52051
+ icon: /* @__PURE__ */ jsx386(QuestionCircleIcon, { size: 24 }),
51930
52052
  status: { label: statusLabel, variant: "grey" },
51931
52053
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
51932
52054
  menuGroups: cardMenuGroups(chatRef.url, discuss),
@@ -51942,12 +52064,12 @@ function SlackChatCard({
51942
52064
  const channelName = typeof chatRef.metadata?.channelName === "string" ? chatRef.metadata.channelName.trim() : void 0;
51943
52065
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
51944
52066
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
51945
- return /* @__PURE__ */ jsx385(
52067
+ return /* @__PURE__ */ jsx386(
51946
52068
  MingoInfoCard,
51947
52069
  {
51948
52070
  title,
51949
52071
  description: chatRef.preview ?? void 0,
51950
- icon: /* @__PURE__ */ jsx385(SlackLogoGreyIcon, { size: 24 }),
52072
+ icon: /* @__PURE__ */ jsx386(SlackLogoGreyIcon, { size: 24 }),
51951
52073
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
51952
52074
  menuGroups: cardMenuGroups(chatRef.url, discuss),
51953
52075
  menuAriaLabel: "Message actions"
@@ -51960,12 +52082,12 @@ function DataRoomDocChatCard({
51960
52082
  discuss
51961
52083
  }) {
51962
52084
  const badgeText = chatRef.sourceRepo ? getSourceLabel(chatRef.sourceRepo) : "Document";
51963
- return /* @__PURE__ */ jsx385(
52085
+ return /* @__PURE__ */ jsx386(
51964
52086
  MingoInfoCard,
51965
52087
  {
51966
52088
  title: chatRef.title,
51967
52089
  description: chatRef.preview ?? void 0,
51968
- icon: /* @__PURE__ */ jsx385(FileContentIcon, { size: 24 }),
52090
+ icon: /* @__PURE__ */ jsx386(FileContentIcon, { size: 24 }),
51969
52091
  status: { label: badgeText, variant: "grey" },
51970
52092
  anchorProps: buildAnchorProps(chatRef.url, isNewTab),
51971
52093
  menuGroups: cardMenuGroups(chatRef.url, discuss),
@@ -51980,7 +52102,7 @@ function GenericFinancialChatCard({
51980
52102
  discuss
51981
52103
  }) {
51982
52104
  const subtitle = typeof chatRef.metadata?.subtitle === "string" ? chatRef.metadata.subtitle : void 0;
51983
- return /* @__PURE__ */ jsx385(
52105
+ return /* @__PURE__ */ jsx386(
51984
52106
  MingoInfoCard,
51985
52107
  {
51986
52108
  title: chatRef.title,
@@ -51994,9 +52116,9 @@ function GenericFinancialChatCard({
51994
52116
  }
51995
52117
  function ChatInlineVideoPill({ chatRef }) {
51996
52118
  const title = chatRef.title || "Video";
51997
- return /* @__PURE__ */ jsxs307("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: [
51998
- /* @__PURE__ */ jsx385("span", { "aria-hidden": "true", className: "text-ods-text-secondary", children: "\u25B6" }),
51999
- /* @__PURE__ */ jsx385("span", { className: "truncate max-w-[220px]", children: title })
52119
+ return /* @__PURE__ */ jsxs308("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: [
52120
+ /* @__PURE__ */ jsx386("span", { "aria-hidden": "true", className: "text-ods-text-secondary", children: "\u25B6" }),
52121
+ /* @__PURE__ */ jsx386("span", { className: "truncate max-w-[220px]", children: title })
52000
52122
  ] });
52001
52123
  }
52002
52124
  function ChatCardWithDiscuss({
@@ -52012,11 +52134,11 @@ function ChatCardWithDiscuss({
52012
52134
  });
52013
52135
  const idDisplay = chatRef.id && (chatRef.id.length > 24 ? `${chatRef.id.slice(0, 24)}\u2026` : chatRef.id);
52014
52136
  const useDisplay = displayAction && !!onDisplay;
52015
- const cardBody = /* @__PURE__ */ jsx385("span", { className: "block [&>*]:!my-0", children });
52016
- return /* @__PURE__ */ jsxs307("span", { className: "mt-1.5 mb-2 block w-full", children: [
52137
+ const cardBody = /* @__PURE__ */ jsx386("span", { className: "block [&>*]:!my-0", children });
52138
+ return /* @__PURE__ */ jsxs308("span", { className: "mt-1.5 mb-2 block w-full", children: [
52017
52139
  cardBody,
52018
- /* @__PURE__ */ jsxs307("span", { className: "mt-1 flex items-center justify-between gap-2 pl-0.5", children: [
52019
- /* @__PURE__ */ jsx385(
52140
+ /* @__PURE__ */ jsxs308("span", { className: "mt-1 flex items-center justify-between gap-2 pl-0.5", children: [
52141
+ /* @__PURE__ */ jsx386(
52020
52142
  SourceActionButton,
52021
52143
  {
52022
52144
  chatRef,
@@ -52025,15 +52147,15 @@ function ChatCardWithDiscuss({
52025
52147
  density: "card"
52026
52148
  }
52027
52149
  ),
52028
- !onDiscuss && !useDisplay ? /* @__PURE__ */ jsx385("span", {}) : null,
52029
- idDisplay ? /* @__PURE__ */ jsxs307(
52150
+ !onDiscuss && !useDisplay ? /* @__PURE__ */ jsx386("span", {}) : null,
52151
+ idDisplay ? /* @__PURE__ */ jsxs308(
52030
52152
  "span",
52031
52153
  {
52032
52154
  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",
52033
52155
  title: `${sourceLabel} \xB7 ${chatRef.id}`,
52034
52156
  children: [
52035
- /* @__PURE__ */ jsx385(SourceIcon, { className: "h-3 w-3 shrink-0" }),
52036
- /* @__PURE__ */ jsx385("span", { className: "truncate max-w-[180px]", children: idDisplay })
52157
+ /* @__PURE__ */ jsx386(SourceIcon, { className: "h-3 w-3 shrink-0" }),
52158
+ /* @__PURE__ */ jsx386("span", { className: "truncate max-w-[180px]", children: idDisplay })
52037
52159
  ]
52038
52160
  }
52039
52161
  ) : null
@@ -52049,13 +52171,13 @@ function ProductReleaseChatCard({
52049
52171
  }) {
52050
52172
  const releaseProps = buildProps(item);
52051
52173
  const status = item?.version ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
52052
- return /* @__PURE__ */ jsx385(
52174
+ return /* @__PURE__ */ jsx386(
52053
52175
  EntityMingoCard,
52054
52176
  {
52055
52177
  title: item?.title ?? "",
52056
52178
  description: item?.summary || releaseProps.formattedDate || void 0,
52057
52179
  cover: releaseProps.coverImage || void 0,
52058
- fallbackIcon: /* @__PURE__ */ jsx385(Rocket02Icon, { size: 24 }),
52180
+ fallbackIcon: /* @__PURE__ */ jsx386(Rocket02Icon, { size: 24 }),
52059
52181
  status,
52060
52182
  chatRef,
52061
52183
  isNewTab,
@@ -52076,12 +52198,12 @@ function CampaignChatCard({
52076
52198
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
52077
52199
  "Marketing campaign"
52078
52200
  ].filter(Boolean).join(" \xB7 ");
52079
- return /* @__PURE__ */ jsx385(
52201
+ return /* @__PURE__ */ jsx386(
52080
52202
  EntityMingoCard,
52081
52203
  {
52082
52204
  title: item?.name ?? "",
52083
52205
  description: meta || item?.description || void 0,
52084
- fallbackIcon: /* @__PURE__ */ jsx385(Megaphone01Icon, { size: 24 }),
52206
+ fallbackIcon: /* @__PURE__ */ jsx386(Megaphone01Icon, { size: 24 }),
52085
52207
  chatRef,
52086
52208
  isNewTab,
52087
52209
  discuss,
@@ -52102,7 +52224,7 @@ function EntityMingoCard({
52102
52224
  openDetails,
52103
52225
  externalLink
52104
52226
  }) {
52105
- return /* @__PURE__ */ jsx385(
52227
+ return /* @__PURE__ */ jsx386(
52106
52228
  MingoInfoCard,
52107
52229
  {
52108
52230
  title,
@@ -52137,13 +52259,13 @@ function BlogChatCard({
52137
52259
  }) {
52138
52260
  const category = Array.isArray(item?.categories) ? item.categories.find((c) => c && c.name)?.name : void 0;
52139
52261
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
52140
- return /* @__PURE__ */ jsx385(
52262
+ return /* @__PURE__ */ jsx386(
52141
52263
  EntityMingoCard,
52142
52264
  {
52143
52265
  title: item?.title ?? "",
52144
52266
  description: item?.summary ?? void 0,
52145
52267
  cover: entityCover(item?.featured_image, ogPlaceholder),
52146
- fallbackIcon: /* @__PURE__ */ jsx385(NewspaperIcon, { size: 24 }),
52268
+ fallbackIcon: /* @__PURE__ */ jsx386(NewspaperIcon, { size: 24 }),
52147
52269
  status,
52148
52270
  chatRef,
52149
52271
  isNewTab,
@@ -52160,13 +52282,13 @@ function CaseStudyChatCard({
52160
52282
  discuss
52161
52283
  }) {
52162
52284
  const meta = [item?.msp?.name, item?.user?.full_name].filter(Boolean).join(" \xB7 ");
52163
- return /* @__PURE__ */ jsx385(
52285
+ return /* @__PURE__ */ jsx386(
52164
52286
  EntityMingoCard,
52165
52287
  {
52166
52288
  title: item?.title ?? "",
52167
52289
  description: item?.summary || meta || void 0,
52168
52290
  cover: entityCover(item?.featured_image, ogPlaceholder),
52169
- fallbackIcon: /* @__PURE__ */ jsx385(TrophyIcon, { size: 24 }),
52291
+ fallbackIcon: /* @__PURE__ */ jsx386(TrophyIcon, { size: 24 }),
52170
52292
  status: { label: "Case study", variant: "grey" },
52171
52293
  chatRef,
52172
52294
  isNewTab,
@@ -52183,13 +52305,13 @@ function CustomerInterviewChatCard({
52183
52305
  discuss
52184
52306
  }) {
52185
52307
  const meta = [item?.user?.full_name, item?.msp?.name].filter(Boolean).join(" \xB7 ");
52186
- return /* @__PURE__ */ jsx385(
52308
+ return /* @__PURE__ */ jsx386(
52187
52309
  EntityMingoCard,
52188
52310
  {
52189
52311
  title: item?.title ?? "",
52190
52312
  description: item?.video_summary || meta || void 0,
52191
52313
  cover: entityCover(item?.featured_image, ogPlaceholder),
52192
- fallbackIcon: /* @__PURE__ */ jsx385(MicrophoneIcon, { size: 24 }),
52314
+ fallbackIcon: /* @__PURE__ */ jsx386(MicrophoneIcon, { size: 24 }),
52193
52315
  status: { label: "Interview", variant: "grey" },
52194
52316
  chatRef,
52195
52317
  isNewTab,
@@ -52206,13 +52328,13 @@ function InvestorUpdateChatCard({
52206
52328
  discuss
52207
52329
  }) {
52208
52330
  const title = item?.title || `Update #${item?.update_number ?? "?"}`;
52209
- return /* @__PURE__ */ jsx385(
52331
+ return /* @__PURE__ */ jsx386(
52210
52332
  EntityMingoCard,
52211
52333
  {
52212
52334
  title,
52213
52335
  description: item?.strategic_update || item?.content || formatInvestorUpdatePeriod(item?.period_start, item?.period_end) || void 0,
52214
52336
  cover: entityCover(item?.featured_image, ogPlaceholder),
52215
- fallbackIcon: /* @__PURE__ */ jsx385(PresentationLineIcon, { size: 24 }),
52337
+ fallbackIcon: /* @__PURE__ */ jsx386(PresentationLineIcon, { size: 24 }),
52216
52338
  status: { label: "Investor update", variant: "grey" },
52217
52339
  chatRef,
52218
52340
  isNewTab,
@@ -52229,13 +52351,13 @@ function OnboardingGuideChatCard({
52229
52351
  discuss
52230
52352
  }) {
52231
52353
  const cover = entityCover(item?.featured_image) ?? entityCover(item?.main_video_thumbnail) ?? entityCover(item?.og_image_url, ogPlaceholder);
52232
- return /* @__PURE__ */ jsx385(
52354
+ return /* @__PURE__ */ jsx386(
52233
52355
  EntityMingoCard,
52234
52356
  {
52235
52357
  title: item?.title ?? "",
52236
52358
  description: item?.summary ?? item?.description ?? void 0,
52237
52359
  cover,
52238
- fallbackIcon: /* @__PURE__ */ jsx385(CompassIcon, { size: 24 }),
52360
+ fallbackIcon: /* @__PURE__ */ jsx386(CompassIcon, { size: 24 }),
52239
52361
  status: { label: "Guide", variant: "grey" },
52240
52362
  chatRef,
52241
52363
  isNewTab,
@@ -52253,7 +52375,7 @@ function ProgramChatCard({
52253
52375
  ogPlaceholder,
52254
52376
  discuss
52255
52377
  }) {
52256
- const icon = configKey === "webinar" ? /* @__PURE__ */ jsx385(PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ jsx385(CalendarIcon, { size: 24 }) : /* @__PURE__ */ jsx385(MicrophoneIcon, { size: 24 });
52378
+ const icon = configKey === "webinar" ? /* @__PURE__ */ jsx386(PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ jsx386(CalendarIcon, { size: 24 }) : /* @__PURE__ */ jsx386(MicrophoneIcon, { size: 24 });
52257
52379
  const isScheduled = item?.status === "scheduled";
52258
52380
  let typeMeta;
52259
52381
  if (configKey === "podcast" && typeof item?.duration_seconds === "number" && item.duration_seconds > 0 && !isScheduled) {
@@ -52267,7 +52389,7 @@ function ProgramChatCard({
52267
52389
  }
52268
52390
  const itemDate = formatDateUTC(item?.date ?? null, { fallback: "", timezone: "local" });
52269
52391
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
52270
- return /* @__PURE__ */ jsx385(
52392
+ return /* @__PURE__ */ jsx386(
52271
52393
  EntityMingoCard,
52272
52394
  {
52273
52395
  title: item?.title ?? "",
@@ -52291,16 +52413,16 @@ function RoadmapChatCard({
52291
52413
  }) {
52292
52414
  const logoUrl = typeof item?.icon === "string" && item.icon.startsWith("http") ? item.icon : void 0;
52293
52415
  const useTypeIcon = cardType === "internal_task" || !logoUrl && item?.customItemId != null;
52294
- const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ jsx385(TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ jsx385(CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ jsx385(MapIcon, { size: 24 });
52295
- const icon = useTypeIcon ? /* @__PURE__ */ jsx385(TaskTypeIcon, { customItemId: item?.customItemId, className: "size-6" }) : logoUrl ? (
52416
+ const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ jsx386(TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ jsx386(CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ jsx386(MapIcon, { size: 24 });
52417
+ const icon = useTypeIcon ? /* @__PURE__ */ jsx386(TaskTypeIcon, { customItemId: item?.customItemId, className: "size-6" }) : logoUrl ? (
52296
52418
  // Contained (not full-bleed) so the integration logo keeps its aspect
52297
52419
  // ratio inside the bordered icon box — matches RoadmapCard.
52298
- /* @__PURE__ */ jsx385("img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
52420
+ /* @__PURE__ */ jsx386("img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
52299
52421
  ) : defaultIcon;
52300
52422
  const clickupHref = clickupTaskUrl(chatRef.id);
52301
- const clickupIcon = /* @__PURE__ */ jsx385(ClickupLogoIcon, { size: 20 });
52423
+ const clickupIcon = /* @__PURE__ */ jsx386(ClickupLogoIcon, { size: 20 });
52302
52424
  const cardUrlIsClickup = cardType === "internal_task";
52303
- return /* @__PURE__ */ jsx385(
52425
+ return /* @__PURE__ */ jsx386(
52304
52426
  EntityMingoCard,
52305
52427
  {
52306
52428
  title: item?.title ?? "",
@@ -52323,16 +52445,16 @@ function refHydratedEntry(docType, label, renderRef) {
52323
52445
  contentRefType: docType,
52324
52446
  noComposedHref: true,
52325
52447
  fallbackHref: (item) => item?.url ?? null,
52326
- skeleton: () => /* @__PURE__ */ jsx385(MingoInfoCardSkeleton, {}),
52448
+ skeleton: () => /* @__PURE__ */ jsx386(MingoInfoCardSkeleton, {}),
52327
52449
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
52328
52450
  };
52329
52451
  }
52330
52452
  var FINANCIAL_CARD_CONFIGS = {
52331
- financial_kpi: { label: "Financial KPI", icon: () => /* @__PURE__ */ jsx385(ChartBar01VerIcon, { size: 24 }) },
52332
- cap_table: { label: "Cap table entry", icon: () => /* @__PURE__ */ jsx385(ChartPieIcon, { size: 24 }) },
52333
- profit_loss: { label: "P&L period", icon: () => /* @__PURE__ */ jsx385(MoneyBillDollarIcon, { size: 24 }) },
52334
- balance_sheet: { label: "Balance sheet", icon: () => /* @__PURE__ */ jsx385(BankIcon, { size: 24 }) },
52335
- cash_flow: { label: "Cash flow", icon: () => /* @__PURE__ */ jsx385(CoinsExchangeCurrencyIcon, { size: 24 }) }
52453
+ financial_kpi: { label: "Financial KPI", icon: () => /* @__PURE__ */ jsx386(ChartBar01VerIcon, { size: 24 }) },
52454
+ cap_table: { label: "Cap table entry", icon: () => /* @__PURE__ */ jsx386(ChartPieIcon, { size: 24 }) },
52455
+ profit_loss: { label: "P&L period", icon: () => /* @__PURE__ */ jsx386(MoneyBillDollarIcon, { size: 24 }) },
52456
+ balance_sheet: { label: "Balance sheet", icon: () => /* @__PURE__ */ jsx386(BankIcon, { size: 24 }) },
52457
+ cash_flow: { label: "Cash flow", icon: () => /* @__PURE__ */ jsx386(CoinsExchangeCurrencyIcon, { size: 24 }) }
52336
52458
  };
52337
52459
  function registryEntries(configs, build) {
52338
52460
  const out = {};
@@ -52342,7 +52464,7 @@ function registryEntries(configs, build) {
52342
52464
  function financialRegistryEntries() {
52343
52465
  return registryEntries(
52344
52466
  FINANCIAL_CARD_CONFIGS,
52345
- (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx385(
52467
+ (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx386(
52346
52468
  GenericFinancialChatCard,
52347
52469
  {
52348
52470
  chatRef: displayRef,
@@ -52364,7 +52486,7 @@ var GITHUB_CARD_CONFIGS = {
52364
52486
  function githubRegistryEntries() {
52365
52487
  return registryEntries(
52366
52488
  GITHUB_CARD_CONFIGS,
52367
- (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx385(
52489
+ (cfg, docType) => refHydratedEntry(docType, cfg.label, (displayRef, opts) => /* @__PURE__ */ jsx386(
52368
52490
  GitHubChatCard,
52369
52491
  {
52370
52492
  chatRef: displayRef,
@@ -52385,8 +52507,8 @@ function programRegistryEntries() {
52385
52507
  label: cfg.label,
52386
52508
  contentRefType: cfg.contentRefType,
52387
52509
  bareInline: true,
52388
- skeleton: () => /* @__PURE__ */ jsx385(ProgramCardSkeleton, { size: "sm" }),
52389
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52510
+ skeleton: () => /* @__PURE__ */ jsx386(ProgramCardSkeleton, { size: "sm" }),
52511
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52390
52512
  ProgramChatCard,
52391
52513
  {
52392
52514
  item,
@@ -52426,8 +52548,8 @@ function roadmapRegistryEntries() {
52426
52548
  bareInline: true,
52427
52549
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
52428
52550
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
52429
- skeleton: () => /* @__PURE__ */ jsx385(RoadmapCardSkeleton, { size: "sm" }),
52430
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52551
+ skeleton: () => /* @__PURE__ */ jsx386(RoadmapCardSkeleton, { size: "sm" }),
52552
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52431
52553
  RoadmapChatCard,
52432
52554
  {
52433
52555
  item,
@@ -52454,7 +52576,7 @@ var CHAT_CARD_REGISTRY = {
52454
52576
  // null and the card renders its generic "Deleted item" tombstone. The
52455
52577
  // descriptor's `title` defaults to the raw cardId — suppress it so the
52456
52578
  // strikethrough line never shows an opaque id.
52457
- render: (_item, chatRef) => /* @__PURE__ */ jsx385(
52579
+ render: (_item, chatRef) => /* @__PURE__ */ jsx386(
52458
52580
  DeletedDataCard,
52459
52581
  {
52460
52582
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
@@ -52463,7 +52585,7 @@ var CHAT_CARD_REGISTRY = {
52463
52585
  }
52464
52586
  )
52465
52587
  },
52466
- slack_message: refHydratedEntry("slack_message", "Slack message", (displayRef, opts) => /* @__PURE__ */ jsx385(SlackChatCard, { chatRef: displayRef, isNewTab: opts.isNewTab, discuss: opts.discuss })),
52588
+ slack_message: refHydratedEntry("slack_message", "Slack message", (displayRef, opts) => /* @__PURE__ */ jsx386(SlackChatCard, { chatRef: displayRef, isNewTab: opts.isNewTab, discuss: opts.discuss })),
52467
52589
  // FAQ hydrates from its EXISTING public list API (`/api/faqs?ids=` —
52468
52590
  // also feeding related-content rails, so its base path must not move).
52469
52591
  // Rows are faq-shaped, not ChatRef-shaped, hence the bespoke row→display
@@ -52474,8 +52596,8 @@ var CHAT_CARD_REGISTRY = {
52474
52596
  contentRefType: "faq",
52475
52597
  noComposedHref: true,
52476
52598
  fallbackHref: (item) => item?.id != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
52477
- skeleton: () => /* @__PURE__ */ jsx385(MingoInfoCardSkeleton, {}),
52478
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52599
+ skeleton: () => /* @__PURE__ */ jsx386(MingoInfoCardSkeleton, {}),
52600
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52479
52601
  FaqChatCard,
52480
52602
  {
52481
52603
  chatRef: fetchedFaqDisplayRef(item, chatRef),
@@ -52484,7 +52606,7 @@ var CHAT_CARD_REGISTRY = {
52484
52606
  }
52485
52607
  )
52486
52608
  },
52487
- hubspot_ticket: refHydratedEntry("hubspot_ticket", "HubSpot ticket", (displayRef, opts) => /* @__PURE__ */ jsx385(
52609
+ hubspot_ticket: refHydratedEntry("hubspot_ticket", "HubSpot ticket", (displayRef, opts) => /* @__PURE__ */ jsx386(
52488
52610
  HubspotTicketChatCard,
52489
52611
  {
52490
52612
  chatRef: displayRef,
@@ -52495,7 +52617,7 @@ var CHAT_CARD_REGISTRY = {
52495
52617
  hubspot_ticket_anon: refHydratedEntry(
52496
52618
  "hubspot_ticket_anon",
52497
52619
  "HubSpot ticket (anon)",
52498
- (displayRef, opts) => /* @__PURE__ */ jsx385(
52620
+ (displayRef, opts) => /* @__PURE__ */ jsx386(
52499
52621
  HubspotTicketChatCard,
52500
52622
  {
52501
52623
  chatRef: displayRef,
@@ -52511,7 +52633,7 @@ var CHAT_CARD_REGISTRY = {
52511
52633
  hubspot_ticket_self: refHydratedEntry(
52512
52634
  "hubspot_ticket_self",
52513
52635
  "HubSpot ticket (self)",
52514
- (displayRef, opts) => /* @__PURE__ */ jsx385(
52636
+ (displayRef, opts) => /* @__PURE__ */ jsx386(
52515
52637
  HubspotTicketChatCard,
52516
52638
  {
52517
52639
  chatRef: displayRef,
@@ -52520,7 +52642,7 @@ var CHAT_CARD_REGISTRY = {
52520
52642
  }
52521
52643
  )
52522
52644
  ),
52523
- data_room_doc: refHydratedEntry("data_room_doc", "Data-room doc", (displayRef, opts) => /* @__PURE__ */ jsx385(
52645
+ data_room_doc: refHydratedEntry("data_room_doc", "Data-room doc", (displayRef, opts) => /* @__PURE__ */ jsx386(
52524
52646
  DataRoomDocChatCard,
52525
52647
  {
52526
52648
  chatRef: displayRef,
@@ -52528,7 +52650,7 @@ var CHAT_CARD_REGISTRY = {
52528
52650
  discuss: opts.discuss
52529
52651
  }
52530
52652
  )),
52531
- markdown: refHydratedEntry("markdown", "Doc page (markdown)", (displayRef, opts) => /* @__PURE__ */ jsx385(
52653
+ markdown: refHydratedEntry("markdown", "Doc page (markdown)", (displayRef, opts) => /* @__PURE__ */ jsx386(
52532
52654
  DataRoomDocChatCard,
52533
52655
  {
52534
52656
  chatRef: displayRef,
@@ -52541,7 +52663,7 @@ var CHAT_CARD_REGISTRY = {
52541
52663
  video: {
52542
52664
  label: "Video",
52543
52665
  bareInline: true,
52544
- render: (_item, chatRef) => /* @__PURE__ */ jsx385(ChatInlineVideoPill, { chatRef })
52666
+ render: (_item, chatRef) => /* @__PURE__ */ jsx386(ChatInlineVideoPill, { chatRef })
52545
52667
  },
52546
52668
  ...financialRegistryEntries(),
52547
52669
  // ───────── content types: full rows from their public list APIs ─────────
@@ -52549,8 +52671,8 @@ var CHAT_CARD_REGISTRY = {
52549
52671
  label: "Blog post",
52550
52672
  contentRefType: "blog_post_existing",
52551
52673
  bareInline: true,
52552
- skeleton: () => /* @__PURE__ */ jsx385(BlogCardSkeleton, { size: "sm" }),
52553
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52674
+ skeleton: () => /* @__PURE__ */ jsx386(BlogCardSkeleton, { size: "sm" }),
52675
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52554
52676
  BlogChatCard,
52555
52677
  {
52556
52678
  item,
@@ -52566,8 +52688,8 @@ var CHAT_CARD_REGISTRY = {
52566
52688
  label: "Case study",
52567
52689
  contentRefType: "case_study",
52568
52690
  bareInline: true,
52569
- skeleton: () => /* @__PURE__ */ jsx385(CaseStudyCardSkeleton, { size: "sm" }),
52570
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52691
+ skeleton: () => /* @__PURE__ */ jsx386(CaseStudyCardSkeleton, { size: "sm" }),
52692
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52571
52693
  CaseStudyChatCard,
52572
52694
  {
52573
52695
  item,
@@ -52582,8 +52704,8 @@ var CHAT_CARD_REGISTRY = {
52582
52704
  label: "Customer interview",
52583
52705
  contentRefType: "customer_interview",
52584
52706
  bareInline: true,
52585
- skeleton: () => /* @__PURE__ */ jsx385(CustomerInterviewCardSkeleton, { size: "sm" }),
52586
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52707
+ skeleton: () => /* @__PURE__ */ jsx386(CustomerInterviewCardSkeleton, { size: "sm" }),
52708
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52587
52709
  CustomerInterviewChatCard,
52588
52710
  {
52589
52711
  item,
@@ -52598,10 +52720,10 @@ var CHAT_CARD_REGISTRY = {
52598
52720
  label: "Product release",
52599
52721
  contentRefType: "product_release",
52600
52722
  bareInline: true,
52601
- skeleton: () => /* @__PURE__ */ jsx385(ProductReleaseCardSkeleton, { size: "sm" }),
52723
+ skeleton: () => /* @__PURE__ */ jsx386(ProductReleaseCardSkeleton, { size: "sm" }),
52602
52724
  render: (item, chatRef, opts) => {
52603
52725
  const builder = opts?.extras?.buildProductReleaseCardProps ?? defaultBuildProductReleaseCardProps;
52604
- return /* @__PURE__ */ jsx385(
52726
+ return /* @__PURE__ */ jsx386(
52605
52727
  ProductReleaseChatCard,
52606
52728
  {
52607
52729
  item,
@@ -52618,8 +52740,8 @@ var CHAT_CARD_REGISTRY = {
52618
52740
  label: "Investor update",
52619
52741
  contentRefType: "investor_update",
52620
52742
  bareInline: true,
52621
- skeleton: () => /* @__PURE__ */ jsx385(InvestorUpdateCardSkeleton, { size: "sm" }),
52622
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52743
+ skeleton: () => /* @__PURE__ */ jsx386(InvestorUpdateCardSkeleton, { size: "sm" }),
52744
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52623
52745
  InvestorUpdateChatCard,
52624
52746
  {
52625
52747
  item,
@@ -52636,8 +52758,8 @@ var CHAT_CARD_REGISTRY = {
52636
52758
  bareInline: true,
52637
52759
  // "Display" affordance (verbatim guide body) instead of "Ask".
52638
52760
  displayAction: true,
52639
- skeleton: () => /* @__PURE__ */ jsx385(OnboardingGuideCardSkeleton, { size: "sm" }),
52640
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52761
+ skeleton: () => /* @__PURE__ */ jsx386(OnboardingGuideCardSkeleton, { size: "sm" }),
52762
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52641
52763
  OnboardingGuideChatCard,
52642
52764
  {
52643
52765
  item,
@@ -52652,11 +52774,11 @@ var CHAT_CARD_REGISTRY = {
52652
52774
  label: "Marketing campaign",
52653
52775
  contentRefType: "marketing_campaign",
52654
52776
  bareInline: true,
52655
- skeleton: () => /* @__PURE__ */ jsx385(CampaignCardAdminSkeleton, {}),
52777
+ skeleton: () => /* @__PURE__ */ jsx386(CampaignCardAdminSkeleton, {}),
52656
52778
  // No public viewer — synthesize the hub-internal admin URL post-fetch
52657
52779
  // so the wrapper + isNewTab computation see the actual destination.
52658
52780
  fallbackHref: (item) => item?.id ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
52659
- render: (item, chatRef, opts) => /* @__PURE__ */ jsx385(
52781
+ render: (item, chatRef, opts) => /* @__PURE__ */ jsx386(
52660
52782
  CampaignChatCard,
52661
52783
  {
52662
52784
  item,
@@ -52690,7 +52812,7 @@ function ChatCardNavWrap({
52690
52812
  e.stopPropagation();
52691
52813
  if (!isNewTab && panel?.closeChat) panel.closeChat();
52692
52814
  };
52693
- return /* @__PURE__ */ jsx385("span", { className: "contents", onClickCapture, children });
52815
+ return /* @__PURE__ */ jsx386("span", { className: "contents", onClickCapture, children });
52694
52816
  }
52695
52817
  function ChatCardLoader({
52696
52818
  chatRef,
@@ -52701,7 +52823,7 @@ function ChatCardLoader({
52701
52823
  extras
52702
52824
  }) {
52703
52825
  const runtime = useRequiredChatRuntime();
52704
- const resolvedChatRef = React148.useMemo(() => {
52826
+ const resolvedChatRef = React149.useMemo(() => {
52705
52827
  const cta = resolveSourceRowCTA(
52706
52828
  {
52707
52829
  sourceRepo: chatRef.sourceRepo,
@@ -52749,7 +52871,7 @@ function ChatCardLoader({
52749
52871
  const discussFn = useDisplay ? onDisplay : onDiscuss;
52750
52872
  const discuss = discussFn ? {
52751
52873
  label: useDisplay ? "Display" : "Ask Mingo",
52752
- icon: useDisplay ? /* @__PURE__ */ jsx385(FileContentIcon, { size: 20 }) : /* @__PURE__ */ jsx385(
52874
+ icon: useDisplay ? /* @__PURE__ */ jsx386(FileContentIcon, { size: 20 }) : /* @__PURE__ */ jsx386(
52753
52875
  MingoIcon,
52754
52876
  {
52755
52877
  className: "size-5",
@@ -52768,7 +52890,7 @@ function ChatCardLoader({
52768
52890
  discuss
52769
52891
  };
52770
52892
  const path = typeof finalChatRef.metadata?.path === "string" ? finalChatRef.metadata.path : null;
52771
- const navWrap = (children) => /* @__PURE__ */ jsx385(
52893
+ const navWrap = (children) => /* @__PURE__ */ jsx386(
52772
52894
  ChatCardNavWrap,
52773
52895
  {
52774
52896
  href: finalChatRef.url ?? null,
@@ -52778,7 +52900,7 @@ function ChatCardLoader({
52778
52900
  children
52779
52901
  }
52780
52902
  );
52781
- const finish = (node) => entry.bareInline ? /* @__PURE__ */ jsx385(Fragment88, { children: navWrap(node) }) : /* @__PURE__ */ jsx385(
52903
+ const finish = (node) => entry.bareInline ? /* @__PURE__ */ jsx386(Fragment88, { children: navWrap(node) }) : /* @__PURE__ */ jsx386(
52782
52904
  ChatCardWithDiscuss,
52783
52905
  {
52784
52906
  chatRef: finalChatRef,
@@ -52791,15 +52913,15 @@ function ChatCardLoader({
52791
52913
  if (!fetchEntry) {
52792
52914
  return finish(entry.render(void 0, finalChatRef, renderOpts));
52793
52915
  }
52794
- if (isLoading) return /* @__PURE__ */ jsx385(Fragment88, { children: fetchEntry.skeleton?.() ?? null });
52916
+ if (isLoading) return /* @__PURE__ */ jsx386(Fragment88, { children: fetchEntry.skeleton?.() ?? null });
52795
52917
  if (!item) {
52796
52918
  if (isError) {
52797
- return /* @__PURE__ */ jsx385(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
52919
+ return /* @__PURE__ */ jsx386(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
52798
52920
  }
52799
52921
  if (!isFetched) {
52800
- return /* @__PURE__ */ jsx385(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not loadable" });
52922
+ return /* @__PURE__ */ jsx386(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not loadable" });
52801
52923
  }
52802
- return /* @__PURE__ */ jsx385(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not found" });
52924
+ return /* @__PURE__ */ jsx386(CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Not found" });
52803
52925
  }
52804
52926
  const videoMeta = itemVideoMetadata(item);
52805
52927
  if (videoMeta) {
@@ -52811,9 +52933,9 @@ function ChatCardLoader({
52811
52933
  // Same 12px rhythm as the message renderer's block-sibling wrapper
52812
52934
  // (`my-3` in chat-message-enhanced) so card→player spacing matches
52813
52935
  // the spacing between any two hoisted blocks.
52814
- /* @__PURE__ */ jsxs307("div", { className: "flex min-w-0 flex-col gap-3", children: [
52936
+ /* @__PURE__ */ jsxs308("div", { className: "flex min-w-0 flex-col gap-3", children: [
52815
52937
  finish(entry.render(item, finalChatRef, renderOpts)),
52816
- /* @__PURE__ */ jsx385(ChatVideoEntityCard, { chatRef: videoRef })
52938
+ /* @__PURE__ */ jsx386(ChatVideoEntityCard, { chatRef: videoRef })
52817
52939
  ] })
52818
52940
  );
52819
52941
  }
@@ -52821,7 +52943,7 @@ function ChatCardLoader({
52821
52943
  }
52822
52944
  function renderChatInlineEntityCard(chatRef, options = {}) {
52823
52945
  const { onDiscuss, onDisplay, baseRoute, chipBasePlatform, extras } = options;
52824
- const loader = /* @__PURE__ */ jsx385(
52946
+ const loader = /* @__PURE__ */ jsx386(
52825
52947
  ChatCardLoader,
52826
52948
  {
52827
52949
  chatRef,
@@ -52841,7 +52963,7 @@ function renderChatInlineEntityCard(chatRef, options = {}) {
52841
52963
  url: chatRef.url ?? (decoded.videoUrl ?? (decoded.youtubeUrl ? `https://www.youtube.com/watch?v=${decoded.youtubeUrl}` : null)),
52842
52964
  metadata: { ...chatRef.metadata ?? {}, ...decoded }
52843
52965
  };
52844
- return /* @__PURE__ */ jsx385(BlockCard, { inline: /* @__PURE__ */ jsx385(ChatInlineVideoPill, { chatRef: displayRef }), children: /* @__PURE__ */ jsx385(ChatVideoEntityCard, { chatRef: displayRef }) });
52966
+ return /* @__PURE__ */ jsx386(BlockCard, { inline: /* @__PURE__ */ jsx386(ChatInlineVideoPill, { chatRef: displayRef }), children: /* @__PURE__ */ jsx386(ChatVideoEntityCard, { chatRef: displayRef }) });
52845
52967
  }
52846
52968
  return loader;
52847
52969
  }
@@ -53128,20 +53250,20 @@ function useChunkCatchup({
53128
53250
  }
53129
53251
 
53130
53252
  // src/components/chat/hooks/use-scripted-stream.ts
53131
- import { useEffect as useEffect85, useState as useState115 } from "react";
53253
+ import { useEffect as useEffect86, useState as useState116 } from "react";
53132
53254
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
53133
53255
  function prefersReducedMotion() {
53134
53256
  return typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches === true;
53135
53257
  }
53136
53258
  function useScriptedStream(frames, resetKey, enabled = true) {
53137
- const [index, setIndex] = useState115(0);
53138
- const [reducedMotion, setReducedMotion] = useState115(false);
53139
- const [prevKey, setPrevKey] = useState115(resetKey);
53259
+ const [index, setIndex] = useState116(0);
53260
+ const [reducedMotion, setReducedMotion] = useState116(false);
53261
+ const [prevKey, setPrevKey] = useState116(resetKey);
53140
53262
  if (resetKey !== prevKey) {
53141
53263
  setPrevKey(resetKey);
53142
53264
  setIndex(0);
53143
53265
  }
53144
- useEffect85(() => {
53266
+ useEffect86(() => {
53145
53267
  setReducedMotion(prefersReducedMotion());
53146
53268
  const mq = window.matchMedia?.("(prefers-reduced-motion: reduce)");
53147
53269
  if (!mq) return;
@@ -53151,7 +53273,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
53151
53273
  }, []);
53152
53274
  const playing = enabled && !reducedMotion && frames.length > 0;
53153
53275
  const lastIndex = Math.max(0, frames.length - 1);
53154
- useEffect85(() => {
53276
+ useEffect86(() => {
53155
53277
  if (!playing || index >= lastIndex) return;
53156
53278
  const current = frames[Math.min(index, lastIndex)] ?? EMPTY_FRAME;
53157
53279
  const t = setTimeout(() => setIndex((i) => Math.min(i + 1, lastIndex)), current.delayMs);
@@ -53163,7 +53285,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
53163
53285
  }
53164
53286
 
53165
53287
  // src/components/chat/hooks/use-jetstream-dialog-subscription.ts
53166
- import { useCallback as useCallback50, useEffect as useEffect86, useRef as useRef70, useState as useState116 } from "react";
53288
+ import { useCallback as useCallback50, useEffect as useEffect87, useRef as useRef70, useState as useState117 } from "react";
53167
53289
  var DEFAULT_STREAM_NAME = "CHAT_CHUNKS";
53168
53290
  var RESYNC_AFTER_HIDDEN_MS = 1e4;
53169
53291
  var RESYNC_COALESCE_MS = 1e3;
@@ -53185,11 +53307,11 @@ function useJetStreamDialogSubscription({
53185
53307
  inactiveThresholdMs,
53186
53308
  resyncSignal = 0
53187
53309
  }) {
53188
- const [isConnected, setIsConnected] = useState116(false);
53189
- const [isSubscribed, setIsSubscribed] = useState116(false);
53190
- const [reconnectionCount, setReconnectionCount] = useState116(0);
53191
- const [recoveryCount, setRecoveryCount] = useState116(0);
53192
- const [currentStreamSeq, setCurrentStreamSeq] = useState116(null);
53310
+ const [isConnected, setIsConnected] = useState117(false);
53311
+ const [isSubscribed, setIsSubscribed] = useState117(false);
53312
+ const [reconnectionCount, setReconnectionCount] = useState117(0);
53313
+ const [recoveryCount, setRecoveryCount] = useState117(0);
53314
+ const [currentStreamSeq, setCurrentStreamSeq] = useState117(null);
53193
53315
  const lastRecoveryReportRef = useRef70(0);
53194
53316
  const resyncTimerRef = useRef70(null);
53195
53317
  const lastResyncSignalRef = useRef70(resyncSignal);
@@ -53197,49 +53319,49 @@ function useJetStreamDialogSubscription({
53197
53319
  const subscriptionRef = useRef70(null);
53198
53320
  const highestStreamSeqRef = useRef70(null);
53199
53321
  const onEventRef = useRef70(onEvent);
53200
- useEffect86(() => {
53322
+ useEffect87(() => {
53201
53323
  onEventRef.current = onEvent;
53202
53324
  }, [onEvent]);
53203
53325
  const onConnectRef = useRef70(onConnect);
53204
- useEffect86(() => {
53326
+ useEffect87(() => {
53205
53327
  onConnectRef.current = onConnect;
53206
53328
  }, [onConnect]);
53207
53329
  const onDisconnectRef = useRef70(onDisconnect);
53208
- useEffect86(() => {
53330
+ useEffect87(() => {
53209
53331
  onDisconnectRef.current = onDisconnect;
53210
53332
  }, [onDisconnect]);
53211
53333
  const onSubscribedRef = useRef70(onSubscribed);
53212
- useEffect86(() => {
53334
+ useEffect87(() => {
53213
53335
  onSubscribedRef.current = onSubscribed;
53214
53336
  }, [onSubscribed]);
53215
53337
  const onBeforeReconnectRef = useRef70(onBeforeReconnect);
53216
- useEffect86(() => {
53338
+ useEffect87(() => {
53217
53339
  onBeforeReconnectRef.current = onBeforeReconnect;
53218
53340
  }, [onBeforeReconnect]);
53219
53341
  const getNatsWsUrlRef = useRef70(getNatsWsUrl);
53220
- useEffect86(() => {
53342
+ useEffect87(() => {
53221
53343
  getNatsWsUrlRef.current = getNatsWsUrl;
53222
53344
  }, [getNatsWsUrl]);
53223
53345
  const reconnectionBackoffRef = useRef70(reconnectionBackoff);
53224
- useEffect86(() => {
53346
+ useEffect87(() => {
53225
53347
  reconnectionBackoffRef.current = reconnectionBackoff;
53226
53348
  }, [reconnectionBackoff]);
53227
53349
  const optStartSeqRef = useRef70(optStartSeq);
53228
- useEffect86(() => {
53350
+ useEffect87(() => {
53229
53351
  optStartSeqRef.current = optStartSeq;
53230
53352
  }, [optStartSeq]);
53231
53353
  const inactiveThresholdRef = useRef70(inactiveThresholdMs);
53232
- useEffect86(() => {
53354
+ useEffect87(() => {
53233
53355
  inactiveThresholdRef.current = inactiveThresholdMs;
53234
53356
  }, [inactiveThresholdMs]);
53235
53357
  const hadConnectionBeforeRef = useRef70(false);
53236
53358
  const clientConfigRef = useRef70(clientConfig);
53237
- useEffect86(() => {
53359
+ useEffect87(() => {
53238
53360
  clientConfigRef.current = clientConfig;
53239
53361
  }, [clientConfig]);
53240
53362
  const currentWsUrlRef = useRef70("");
53241
53363
  const wsUrl = getNatsWsUrl();
53242
- useEffect86(() => {
53364
+ useEffect87(() => {
53243
53365
  if (!enabled || !wsUrl) {
53244
53366
  if (currentWsUrlRef.current && clientRef.current) {
53245
53367
  releaseClient(currentWsUrlRef.current);
@@ -53320,7 +53442,7 @@ function useJetStreamDialogSubscription({
53320
53442
  }
53321
53443
  };
53322
53444
  }, [enabled, wsUrl]);
53323
- useEffect86(() => {
53445
+ useEffect87(() => {
53324
53446
  highestStreamSeqRef.current = null;
53325
53447
  lastResyncSignalRef.current = resyncSignal;
53326
53448
  setCurrentStreamSeq(null);
@@ -53338,7 +53460,7 @@ function useJetStreamDialogSubscription({
53338
53460
  setReconnectionCount((c) => c + 1);
53339
53461
  }, RESYNC_COALESCE_MS);
53340
53462
  }, []);
53341
- useEffect86(() => {
53463
+ useEffect87(() => {
53342
53464
  if (!enabled) return;
53343
53465
  let hiddenSince = document.visibilityState === "hidden" ? Date.now() : 0;
53344
53466
  const onVisibilityChange = () => {
@@ -53355,13 +53477,13 @@ function useJetStreamDialogSubscription({
53355
53477
  document.addEventListener("visibilitychange", onVisibilityChange);
53356
53478
  return () => document.removeEventListener("visibilitychange", onVisibilityChange);
53357
53479
  }, [enabled, requestResync]);
53358
- useEffect86(() => {
53480
+ useEffect87(() => {
53359
53481
  if (!enabled) return;
53360
53482
  if (resyncSignal <= lastResyncSignalRef.current) return;
53361
53483
  lastResyncSignalRef.current = resyncSignal;
53362
53484
  requestResync();
53363
53485
  }, [enabled, resyncSignal, requestResync]);
53364
- useEffect86(() => {
53486
+ useEffect87(() => {
53365
53487
  if (!enabled || !dialogId || !isConnected) {
53366
53488
  if (subscriptionRef.current) {
53367
53489
  try {
@@ -53462,7 +53584,7 @@ function useJetStreamDialogSubscription({
53462
53584
  }
53463
53585
 
53464
53586
  // src/components/chat/hooks/use-nats-dialog-subscription.ts
53465
- import { useEffect as useEffect87, useRef as useRef71, useState as useState117 } from "react";
53587
+ import { useEffect as useEffect88, useRef as useRef71, useState as useState118 } from "react";
53466
53588
  function useNatsDialogSubscription({
53467
53589
  enabled,
53468
53590
  dialogId,
@@ -53476,47 +53598,47 @@ function useNatsDialogSubscription({
53476
53598
  clientConfig = {},
53477
53599
  reconnectionBackoff
53478
53600
  }) {
53479
- const [isConnected, setIsConnected] = useState117(false);
53480
- const [isSubscribed, setIsSubscribed] = useState117(false);
53481
- const [reconnectionCount, setReconnectionCount] = useState117(0);
53601
+ const [isConnected, setIsConnected] = useState118(false);
53602
+ const [isSubscribed, setIsSubscribed] = useState118(false);
53603
+ const [reconnectionCount, setReconnectionCount] = useState118(0);
53482
53604
  const clientRef = useRef71(null);
53483
53605
  const subscriptionRefs = useRef71(/* @__PURE__ */ new Map());
53484
53606
  const onEventRef = useRef71(onEvent);
53485
- useEffect87(() => {
53607
+ useEffect88(() => {
53486
53608
  onEventRef.current = onEvent;
53487
53609
  }, [onEvent]);
53488
53610
  const onConnectRef = useRef71(onConnect);
53489
- useEffect87(() => {
53611
+ useEffect88(() => {
53490
53612
  onConnectRef.current = onConnect;
53491
53613
  }, [onConnect]);
53492
53614
  const onDisconnectRef = useRef71(onDisconnect);
53493
- useEffect87(() => {
53615
+ useEffect88(() => {
53494
53616
  onDisconnectRef.current = onDisconnect;
53495
53617
  }, [onDisconnect]);
53496
53618
  const onSubscribedRef = useRef71(onSubscribed);
53497
- useEffect87(() => {
53619
+ useEffect88(() => {
53498
53620
  onSubscribedRef.current = onSubscribed;
53499
53621
  }, [onSubscribed]);
53500
53622
  const onBeforeReconnectRef = useRef71(onBeforeReconnect);
53501
- useEffect87(() => {
53623
+ useEffect88(() => {
53502
53624
  onBeforeReconnectRef.current = onBeforeReconnect;
53503
53625
  }, [onBeforeReconnect]);
53504
53626
  const hadConnectionBeforeRef = useRef71(false);
53505
53627
  const getNatsWsUrlRef = useRef71(getNatsWsUrl);
53506
- useEffect87(() => {
53628
+ useEffect88(() => {
53507
53629
  getNatsWsUrlRef.current = getNatsWsUrl;
53508
53630
  }, [getNatsWsUrl]);
53509
53631
  const reconnectionBackoffRef = useRef71(reconnectionBackoff);
53510
- useEffect87(() => {
53632
+ useEffect88(() => {
53511
53633
  reconnectionBackoffRef.current = reconnectionBackoff;
53512
53634
  }, [reconnectionBackoff]);
53513
53635
  const clientConfigRef = useRef71(clientConfig);
53514
- useEffect87(() => {
53636
+ useEffect88(() => {
53515
53637
  clientConfigRef.current = clientConfig;
53516
53638
  }, [clientConfig]);
53517
53639
  const currentWsUrlRef = useRef71("");
53518
53640
  const wsUrl = getNatsWsUrl();
53519
- useEffect87(() => {
53641
+ useEffect88(() => {
53520
53642
  if (!enabled || !wsUrl) {
53521
53643
  if (currentWsUrlRef.current && clientRef.current) {
53522
53644
  releaseClient(currentWsUrlRef.current);
@@ -53602,12 +53724,12 @@ function useNatsDialogSubscription({
53602
53724
  topicsRef.current = topics;
53603
53725
  const lastSubscribedDialogIdRef = useRef71(null);
53604
53726
  const isConnectedRef = useRef71(isConnected);
53605
- useEffect87(() => {
53727
+ useEffect88(() => {
53606
53728
  isConnectedRef.current = isConnected;
53607
53729
  }, [isConnected]);
53608
53730
  const currentDialogIdRef = useRef71(null);
53609
53731
  const abortControllerRef = useRef71(null);
53610
- useEffect87(() => {
53732
+ useEffect88(() => {
53611
53733
  currentDialogIdRef.current = dialogId;
53612
53734
  if (!enabled || !dialogId) {
53613
53735
  if (subscriptionRefs.current.size > 0) {
@@ -53688,7 +53810,7 @@ function useNatsDialogSubscription({
53688
53810
  abortControllerRef.current = null;
53689
53811
  };
53690
53812
  }, [enabled, dialogId, topicsKey]);
53691
- useEffect87(() => {
53813
+ useEffect88(() => {
53692
53814
  if (!enabled || !currentDialogIdRef.current || !isConnected) {
53693
53815
  return;
53694
53816
  }
@@ -53738,7 +53860,7 @@ function buildNatsWsUrl(apiBaseUrl, options) {
53738
53860
  }
53739
53861
 
53740
53862
  // src/components/chat/hooks/use-slash-commands.ts
53741
- import { useEffect as useEffect88, useState as useState118 } from "react";
53863
+ import { useEffect as useEffect89, useState as useState119 } from "react";
53742
53864
  import { useQuery as useQuery3 } from "@tanstack/react-query";
53743
53865
  async function fetchSlashCommands(prefix, signal, commandsUrl) {
53744
53866
  try {
@@ -53755,9 +53877,9 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
53755
53877
  }
53756
53878
  }
53757
53879
  function useSlashCommands(prefix, commandsUrl) {
53758
- const [commands, setCommands] = useState118([]);
53759
- const [loading, setLoading] = useState118(false);
53760
- useEffect88(() => {
53880
+ const [commands, setCommands] = useState119([]);
53881
+ const [loading, setLoading] = useState119(false);
53882
+ useEffect89(() => {
53761
53883
  if (prefix == null) {
53762
53884
  setCommands([]);
53763
53885
  return;
@@ -53863,7 +53985,7 @@ function useEmptyStateConfig(emptyStateUrl, options) {
53863
53985
  }
53864
53986
 
53865
53987
  // src/components/chat/hooks/use-chat-attachments.ts
53866
- import { useCallback as useCallback51, useMemo as useMemo50, useRef as useRef72, useState as useState119 } from "react";
53988
+ import { useCallback as useCallback51, useMemo as useMemo50, useRef as useRef72, useState as useState120 } from "react";
53867
53989
  import { fileTypeFromBlob } from "file-type";
53868
53990
  var CHAT_ATTACHMENTS_BUCKET = "chat-attachments";
53869
53991
  var CHAT_ATTACHMENTS_FOLDER = "chat";
@@ -53939,7 +54061,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
53939
54061
  function useChatAttachments() {
53940
54062
  const runtime = useRequiredChatRuntime();
53941
54063
  const uploadUrlEndpoint = runtime.endpoints.attachmentUploadUrl;
53942
- const [attachments, setAttachments] = useState119([]);
54064
+ const [attachments, setAttachments] = useState120([]);
53943
54065
  const controllersRef = useRef72(/* @__PURE__ */ new Map());
53944
54066
  const updateOne = useCallback51((id, patch) => {
53945
54067
  setAttachments((prev) => prev.map((a) => a.id === id ? { ...a, ...patch } : a));
@@ -54106,16 +54228,16 @@ function useChatAttachments() {
54106
54228
  }
54107
54229
 
54108
54230
  // src/components/chat/hooks/use-chat-attachment-image-gallery.tsx
54109
- import { useCallback as useCallback52, useEffect as useEffect89, useRef as useRef73, useState as useState120 } from "react";
54110
- import { jsx as jsx386 } from "react/jsx-runtime";
54231
+ import { useCallback as useCallback52, useEffect as useEffect90, useRef as useRef73, useState as useState121 } from "react";
54232
+ import { jsx as jsx387 } from "react/jsx-runtime";
54111
54233
  var CLOSED = { isOpen: false, images: [], initialIndex: 0 };
54112
54234
  function useChatAttachmentImageGallery() {
54113
54235
  const runtime = useRequiredChatRuntime();
54114
54236
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
54115
54237
  const panelRef = useRef73(null);
54116
- const [state, setState] = useState120(CLOSED);
54238
+ const [state, setState] = useState121(CLOSED);
54117
54239
  const handleClose = useCallback52(() => setState(CLOSED), []);
54118
- useEffect89(() => {
54240
+ useEffect90(() => {
54119
54241
  const root = panelRef.current;
54120
54242
  if (!root) return;
54121
54243
  const onClick = (ev) => {
@@ -54143,7 +54265,7 @@ function useChatAttachmentImageGallery() {
54143
54265
  root.addEventListener("click", onClick);
54144
54266
  return () => root.removeEventListener("click", onClick);
54145
54267
  }, [viewUrlPrefix]);
54146
- const modal = state.isOpen ? /* @__PURE__ */ jsx386(
54268
+ const modal = state.isOpen ? /* @__PURE__ */ jsx387(
54147
54269
  ImageGalleryModal,
54148
54270
  {
54149
54271
  images: state.images,
@@ -54161,11 +54283,11 @@ function absolutize(prefix) {
54161
54283
  }
54162
54284
 
54163
54285
  // src/components/chat/hooks/use-close-on-navigation.ts
54164
- import { useEffect as useEffect90, useRef as useRef74 } from "react";
54286
+ import { useEffect as useEffect91, useRef as useRef74 } from "react";
54165
54287
  function useCloseOnNavigation(close, pathname) {
54166
54288
  const prevPathnameRef = useRef74(null);
54167
54289
  const initializedRef = useRef74(false);
54168
- useEffect90(() => {
54290
+ useEffect91(() => {
54169
54291
  if (!initializedRef.current) {
54170
54292
  initializedRef.current = true;
54171
54293
  prevPathnameRef.current = pathname;
@@ -54179,13 +54301,13 @@ function useCloseOnNavigation(close, pathname) {
54179
54301
  }
54180
54302
 
54181
54303
  // src/components/chat/hooks/use-chat.ts
54182
- import { useState as useState122, useCallback as useCallback54, useEffect as useEffect91, useRef as useRef76 } from "react";
54304
+ import { useState as useState123, useCallback as useCallback54, useEffect as useEffect92, useRef as useRef76 } from "react";
54183
54305
 
54184
54306
  // src/components/chat/hooks/use-sse.ts
54185
- import { useState as useState121, useCallback as useCallback53, useRef as useRef75 } from "react";
54307
+ import { useState as useState122, useCallback as useCallback53, useRef as useRef75 } from "react";
54186
54308
  function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
54187
- const [isStreaming, setIsStreaming] = useState121(false);
54188
- const [error, setError] = useState121(null);
54309
+ const [isStreaming, setIsStreaming] = useState122(false);
54310
+ const [error, setError] = useState122(null);
54189
54311
  const abortControllerRef = useRef75(null);
54190
54312
  const fallbackStream = useCallback53(async function* () {
54191
54313
  throw new Error(
@@ -54252,12 +54374,12 @@ function useChat({
54252
54374
  initialMessages,
54253
54375
  onMessagesChange
54254
54376
  } = {}) {
54255
- const [messages, setMessages] = useState122(() => initialMessages ?? []);
54256
- const [isTyping, setIsTyping] = useState122(false);
54377
+ const [messages, setMessages] = useState123(() => initialMessages ?? []);
54378
+ const [isTyping, setIsTyping] = useState123(false);
54257
54379
  const currentAssistantSegmentsRef = useRef76([]);
54258
54380
  const onMessagesChangeRef = useRef76(onMessagesChange);
54259
54381
  onMessagesChangeRef.current = onMessagesChange;
54260
- useEffect91(() => {
54382
+ useEffect92(() => {
54261
54383
  onMessagesChangeRef.current?.(messages);
54262
54384
  }, [messages]);
54263
54385
  const {
@@ -54794,7 +54916,7 @@ function pruneStaleChatConversationStorage(source) {
54794
54916
  }
54795
54917
 
54796
54918
  // src/components/chat/hooks/use-chat-history-hydration.ts
54797
- import { useEffect as useEffect92, useRef as useRef77, useState as useState123 } from "react";
54919
+ import { useEffect as useEffect93, useRef as useRef77, useState as useState124 } from "react";
54798
54920
  function useChatHistoryHydration({
54799
54921
  active,
54800
54922
  source,
@@ -54804,9 +54926,9 @@ function useChatHistoryHydration({
54804
54926
  hydrateMessages,
54805
54927
  bumpMetaTick
54806
54928
  }) {
54807
- const [isHydratingHistory, setIsHydratingHistory] = useState123(false);
54929
+ const [isHydratingHistory, setIsHydratingHistory] = useState124(false);
54808
54930
  const hydratedKeyRef = useRef77(null);
54809
- useEffect92(() => {
54931
+ useEffect93(() => {
54810
54932
  if (!active) return;
54811
54933
  const conversationId = conversationIdRef.current;
54812
54934
  if (!conversationId) return;
@@ -56942,7 +57064,7 @@ function createChatDialogStore(options = {}) {
56942
57064
  }
56943
57065
 
56944
57066
  // src/components/chat/stream/use-chat-stream-reducer.ts
56945
- import { useCallback as useCallback55, useEffect as useEffect93, useMemo as useMemo51, useRef as useRef78, useSyncExternalStore } from "react";
57067
+ import { useCallback as useCallback55, useEffect as useEffect94, useMemo as useMemo51, useRef as useRef78, useSyncExternalStore } from "react";
56946
57068
 
56947
57069
  // src/components/chat/stream/delta-batcher.ts
56948
57070
  var DELTA_FLUSH_FALLBACK_MS = 50;
@@ -57038,7 +57160,7 @@ function useChatStreamReducer({
57038
57160
  const getServerSnapshot = useCallback55(() => store.getServerSnapshot(), [store]);
57039
57161
  const subscribe = useCallback55((listener) => store.subscribe(listener), [store]);
57040
57162
  const state = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
57041
- useEffect93(() => store.retain(dialogId, side), [store, dialogId, side]);
57163
+ useEffect94(() => store.retain(dialogId, side), [store, dialogId, side]);
57042
57164
  const keyRef = useRef78({ dialogId, side });
57043
57165
  if (keyRef.current.dialogId !== dialogId || keyRef.current.side !== side) {
57044
57166
  keyRef.current = { dialogId, side };
@@ -57063,7 +57185,7 @@ function useChatStreamReducer({
57063
57185
  },
57064
57186
  [batcher, store, dialogId, side]
57065
57187
  );
57066
- useEffect93(() => () => batcher.dispose(), [batcher]);
57188
+ useEffect94(() => () => batcher.dispose(), [batcher]);
57067
57189
  const mutate = useCallback55(
57068
57190
  (fn) => store.mutate(dialogId, side, fn),
57069
57191
  [store, dialogId, side]
@@ -57444,7 +57566,7 @@ var noopBumpMetaTick = () => {
57444
57566
  };
57445
57567
 
57446
57568
  // src/components/chat/hooks/use-nats-chat-adapter.ts
57447
- import { useCallback as useCallback57, useEffect as useEffect94, useMemo as useMemo53, useRef as useRef80, useState as useState124 } from "react";
57569
+ import { useCallback as useCallback57, useEffect as useEffect95, useMemo as useMemo53, useRef as useRef80, useState as useState125 } from "react";
57448
57570
 
57449
57571
  // src/chat-protocol/nats-decoder.ts
57450
57572
  function normalizeToolCalls(raw) {
@@ -58423,7 +58545,7 @@ function useNatsChatAdapter(config, options = {}) {
58423
58545
  modelLabel = null
58424
58546
  } = config;
58425
58547
  const isManagedMode = fetchDialogs !== void 0;
58426
- const [internalDialogId, setInternalDialogId] = useState124(null);
58548
+ const [internalDialogId, setInternalDialogId] = useState125(null);
58427
58549
  const dialogId = isManagedMode ? internalDialogId : controlledDialogId !== void 0 ? controlledDialogId : null;
58428
58550
  const currentDialogIdRef = useRef80(dialogId);
58429
58551
  currentDialogIdRef.current = dialogId;
@@ -58498,14 +58620,14 @@ function useNatsChatAdapter(config, options = {}) {
58498
58620
  },
58499
58621
  [applyEvent]
58500
58622
  );
58501
- const [dialogs, setDialogs] = useState124([]);
58502
- const [dialogsNextCursor, setDialogsNextCursor] = useState124(null);
58503
- const [isDialogsLoading, setIsDialogsLoading] = useState124(false);
58504
- const [dialogsError, setDialogsError] = useState124(false);
58505
- const [isCreatingDialog, setIsCreatingDialog] = useState124(false);
58506
- const [messagesNextCursor, setMessagesNextCursor] = useState124(null);
58507
- const [isMessagesLoading, setIsMessagesLoading] = useState124(false);
58508
- const [connectionState, setConnectionState] = useState124("connecting");
58623
+ const [dialogs, setDialogs] = useState125([]);
58624
+ const [dialogsNextCursor, setDialogsNextCursor] = useState125(null);
58625
+ const [isDialogsLoading, setIsDialogsLoading] = useState125(false);
58626
+ const [dialogsError, setDialogsError] = useState125(false);
58627
+ const [isCreatingDialog, setIsCreatingDialog] = useState125(false);
58628
+ const [messagesNextCursor, setMessagesNextCursor] = useState125(null);
58629
+ const [isMessagesLoading, setIsMessagesLoading] = useState125(false);
58630
+ const [connectionState, setConnectionState] = useState125("connecting");
58509
58631
  const hasConnectedOnceRef = useRef80(false);
58510
58632
  const {
58511
58633
  processChunk: catchupProcessChunk,
@@ -58583,7 +58705,7 @@ function useNatsChatAdapter(config, options = {}) {
58583
58705
  ]
58584
58706
  );
58585
58707
  const prevDialogIdRef = useRef80(void 0);
58586
- useEffect94(() => {
58708
+ useEffect95(() => {
58587
58709
  if (prevDialogIdRef.current === dialogId) return;
58588
58710
  prevDialogIdRef.current = dialogId;
58589
58711
  historyLoadSeqRef.current += 1;
@@ -58596,7 +58718,7 @@ function useNatsChatAdapter(config, options = {}) {
58596
58718
  if (!active || !dialogId) return;
58597
58719
  void loadDialogHistory(dialogId);
58598
58720
  }, [active, dialogId, dialogKey, loadDialogHistory]);
58599
- useEffect94(() => {
58721
+ useEffect95(() => {
58600
58722
  if (!active || !dialogId) return;
58601
58723
  const store = storeRef.current;
58602
58724
  store.mutate(dialogId, DEFAULT_DIALOG_SIDE, (r) => r.adjustAgentBusySuppression(1));
@@ -58659,7 +58781,7 @@ function useNatsChatAdapter(config, options = {}) {
58659
58781
  })();
58660
58782
  }
58661
58783
  });
58662
- useEffect94(() => {
58784
+ useEffect95(() => {
58663
58785
  if (!active || !dialogId) {
58664
58786
  setConnectionState("connected");
58665
58787
  return;
@@ -58698,7 +58820,7 @@ function useNatsChatAdapter(config, options = {}) {
58698
58820
  const reloadDialogs = useCallback57(() => {
58699
58821
  void loadDialogsPage();
58700
58822
  }, [loadDialogsPage]);
58701
- useEffect94(() => {
58823
+ useEffect95(() => {
58702
58824
  if (!fetchDialogs) return;
58703
58825
  if (!active) return;
58704
58826
  if (initialDialogsLoadedRef.current) return;
@@ -59362,19 +59484,19 @@ function buildStreamFrames(messages) {
59362
59484
 
59363
59485
  // src/components/chat/embeddable-chat.tsx
59364
59486
  init_cn();
59365
- import { useCallback as useCallback60, useEffect as useEffect95, useMemo as useMemo56, useRef as useRef83, useState as useState126 } from "react";
59487
+ import { useCallback as useCallback60, useEffect as useEffect96, useMemo as useMemo56, useRef as useRef83, useState as useState127 } from "react";
59366
59488
  import * as DialogPrimitive5 from "@radix-ui/react-dialog";
59367
59489
  import { usePreventScroll as usePreventScroll5 } from "@react-aria/overlays";
59368
59490
  import { isIOS } from "@react-aria/utils";
59369
59491
 
59370
59492
  // node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
59371
- import * as React150 from "react";
59493
+ import * as React151 from "react";
59372
59494
 
59373
59495
  // node_modules/@radix-ui/react-primitive/dist/index.mjs
59374
- import * as React149 from "react";
59496
+ import * as React150 from "react";
59375
59497
  import * as ReactDOM2 from "react-dom";
59376
59498
  import { createSlot } from "@radix-ui/react-slot";
59377
- import { jsx as jsx387 } from "react/jsx-runtime";
59499
+ import { jsx as jsx388 } from "react/jsx-runtime";
59378
59500
  var __defProp3 = Object.defineProperty;
59379
59501
  var __name3 = (target, value) => __defProp3(target, "name", { value, configurable: true });
59380
59502
  var NODES = [
@@ -59398,13 +59520,13 @@ var NODES = [
59398
59520
  ];
59399
59521
  var Primitive = NODES.reduce((primitive, node) => {
59400
59522
  const Slot2 = createSlot(`Primitive.${node}`);
59401
- const Node2 = React149.forwardRef((props, forwardedRef) => {
59523
+ const Node2 = React150.forwardRef((props, forwardedRef) => {
59402
59524
  const { asChild, ...primitiveProps } = props;
59403
59525
  const Comp = asChild ? Slot2 : node;
59404
59526
  if (typeof window !== "undefined") {
59405
59527
  window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
59406
59528
  }
59407
- return /* @__PURE__ */ jsx387(Comp, { ...primitiveProps, ref: forwardedRef });
59529
+ return /* @__PURE__ */ jsx388(Comp, { ...primitiveProps, ref: forwardedRef });
59408
59530
  });
59409
59531
  Node2.displayName = `Primitive.${node}`;
59410
59532
  return { ...primitive, [node]: Node2 };
@@ -59415,7 +59537,7 @@ function dispatchDiscreteCustomEvent(target, event) {
59415
59537
  __name3(dispatchDiscreteCustomEvent, "dispatchDiscreteCustomEvent");
59416
59538
 
59417
59539
  // node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
59418
- import { jsx as jsx388 } from "react/jsx-runtime";
59540
+ import { jsx as jsx389 } from "react/jsx-runtime";
59419
59541
  var __defProp4 = Object.defineProperty;
59420
59542
  var __name4 = (target, value) => __defProp4(target, "name", { value, configurable: true });
59421
59543
  var VISUALLY_HIDDEN_STYLES = Object.freeze({
@@ -59431,9 +59553,9 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
59431
59553
  whiteSpace: "nowrap",
59432
59554
  wordWrap: "normal"
59433
59555
  });
59434
- var VisuallyHidden = /* @__PURE__ */ React150.forwardRef(
59556
+ var VisuallyHidden = /* @__PURE__ */ React151.forwardRef(
59435
59557
  /* @__PURE__ */ __name4(function VisuallyHidden2(props, forwardedRef) {
59436
- return /* @__PURE__ */ jsx388(
59558
+ return /* @__PURE__ */ jsx389(
59437
59559
  Primitive.span,
59438
59560
  {
59439
59561
  ...props,
@@ -59449,7 +59571,7 @@ init_button2();
59449
59571
  import { FileText as FileText8, MessageSquare as MessageSquare3 } from "lucide-react";
59450
59572
 
59451
59573
  // src/components/chat/hooks/use-chat-dialog-manager.ts
59452
- import { useCallback as useCallback59, useMemo as useMemo55, useRef as useRef82, useState as useState125 } from "react";
59574
+ import { useCallback as useCallback59, useMemo as useMemo55, useRef as useRef82, useState as useState126 } from "react";
59453
59575
  function useChatDialogManager({
59454
59576
  dialogs,
59455
59577
  activeDialogId,
@@ -59460,8 +59582,8 @@ function useChatDialogManager({
59460
59582
  fetchArchivedDialogs,
59461
59583
  unarchiveDialog
59462
59584
  }) {
59463
- const [renameTarget, setRenameTarget] = useState125(null);
59464
- const [archiveTarget, setArchiveTarget] = useState125(null);
59585
+ const [renameTarget, setRenameTarget] = useState126(null);
59586
+ const [archiveTarget, setArchiveTarget] = useState126(null);
59465
59587
  const handleConfirmRename = useCallback59(
59466
59588
  (name) => {
59467
59589
  if (renameTarget) void renameDialog(renameTarget.id, name);
@@ -59484,11 +59606,11 @@ function useChatDialogManager({
59484
59606
  }
59485
59607
  setArchiveTarget(null);
59486
59608
  }, [archiveTarget, archiveDialog, activeDialogId, clearMessages]);
59487
- const [archiveOpen, setArchiveOpen] = useState125(false);
59488
- const [archivedDialogs, setArchivedDialogs] = useState125([]);
59489
- const [archivedCursor, setArchivedCursor] = useState125(null);
59490
- const [archivedLoading, setArchivedLoading] = useState125(false);
59491
- const [archivedPending, setArchivedPending] = useState125(false);
59609
+ const [archiveOpen, setArchiveOpen] = useState126(false);
59610
+ const [archivedDialogs, setArchivedDialogs] = useState126([]);
59611
+ const [archivedCursor, setArchivedCursor] = useState126(null);
59612
+ const [archivedLoading, setArchivedLoading] = useState126(false);
59613
+ const [archivedPending, setArchivedPending] = useState126(false);
59492
59614
  const archivedRequestIdRef = useRef82(0);
59493
59615
  const loadArchivedPage = useCallback59(
59494
59616
  async (cursor) => {
@@ -59530,10 +59652,10 @@ function useChatDialogManager({
59530
59652
  void loadArchivedPage();
59531
59653
  }, [loadArchivedPage]);
59532
59654
  const closeArchive = useCallback59(() => setArchiveOpen(false), []);
59533
- const [viewingArchivedId, setViewingArchivedId] = useState125(
59655
+ const [viewingArchivedId, setViewingArchivedId] = useState126(
59534
59656
  null
59535
59657
  );
59536
- const [openingDialogId, setOpeningDialogId] = useState125(null);
59658
+ const [openingDialogId, setOpeningDialogId] = useState126(null);
59537
59659
  const handleSelectDialog = useCallback59(
59538
59660
  (id) => {
59539
59661
  setViewingArchivedId(null);
@@ -59552,7 +59674,7 @@ function useChatDialogManager({
59552
59674
  },
59553
59675
  [selectDialog]
59554
59676
  );
59555
- const [restoreTarget, setRestoreTarget] = useState125(null);
59677
+ const [restoreTarget, setRestoreTarget] = useState126(null);
59556
59678
  const handleConfirmRestore = useCallback59(async () => {
59557
59679
  if (restoreTarget) {
59558
59680
  try {
@@ -59623,7 +59745,7 @@ function useChatDialogManager({
59623
59745
 
59624
59746
  // src/components/chat/embeddable-chat.tsx
59625
59747
  init_next_navigation();
59626
- import { Fragment as Fragment89, jsx as jsx389, jsxs as jsxs308 } from "react/jsx-runtime";
59748
+ import { Fragment as Fragment89, jsx as jsx390, jsxs as jsxs309 } from "react/jsx-runtime";
59627
59749
  var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
59628
59750
  var DRAWER_WIDTH_KEY = "mingo-chat-width-v3";
59629
59751
  var DRAWER_DEFAULT_WIDTH_PX = 750;
@@ -59645,9 +59767,9 @@ var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH + CHAT_BLOCK_MIN_WIDTH;
59645
59767
  var RAIL_COLLAPSED_STORAGE_KEY = "mingo-chat-history-collapsed";
59646
59768
  var RAIL_ANIM_MS = 320;
59647
59769
  function useRailPresence(open) {
59648
- const [mounted, setMounted] = useState126(open);
59649
- const [active, setActive] = useState126(false);
59650
- useEffect95(() => {
59770
+ const [mounted, setMounted] = useState127(open);
59771
+ const [active, setActive] = useState127(false);
59772
+ useEffect96(() => {
59651
59773
  if (open) {
59652
59774
  setMounted(true);
59653
59775
  let raf2 = 0;
@@ -59671,7 +59793,7 @@ function RailSlot({
59671
59793
  innerClassName,
59672
59794
  children
59673
59795
  }) {
59674
- return /* @__PURE__ */ jsx389(
59796
+ return /* @__PURE__ */ jsx390(
59675
59797
  "div",
59676
59798
  {
59677
59799
  className: cn(
@@ -59680,7 +59802,7 @@ function RailSlot({
59680
59802
  "shrink-0 overflow-hidden border-r border-ods-border transition-[width,opacity] ease-out",
59681
59803
  active ? "w-80 opacity-100 duration-[240ms]" : "w-0 opacity-0 duration-[300ms]"
59682
59804
  ),
59683
- children: /* @__PURE__ */ jsx389("div", { className: cn("h-full w-80", innerClassName), children })
59805
+ children: /* @__PURE__ */ jsx390("div", { className: cn("h-full w-80", innerClassName), children })
59684
59806
  }
59685
59807
  );
59686
59808
  }
@@ -59737,7 +59859,7 @@ function SourceChip({
59737
59859
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
59738
59860
  );
59739
59861
  const Icon2 = cta.icon;
59740
- const icon = /* @__PURE__ */ jsx389(Icon2, { className: "h-3.5 w-3.5" });
59862
+ const icon = /* @__PURE__ */ jsx390(Icon2, { className: "h-3.5 w-3.5" });
59741
59863
  const chipClass = chatChipClass({ tone: "secondary" });
59742
59864
  const decideTab = (href, targetPlatform) => computeIsNewTab(runtime, href, targetPlatform);
59743
59865
  if (src.items && src.items.length > 0) {
@@ -59757,22 +59879,22 @@ function SourceChip({
59757
59879
  const ItemIcon = itemCta.icon;
59758
59880
  return {
59759
59881
  label: item.name,
59760
- icon: /* @__PURE__ */ jsx389(ItemIcon, { className: "h-3.5 w-3.5" }),
59882
+ icon: /* @__PURE__ */ jsx390(ItemIcon, { className: "h-3.5 w-3.5" }),
59761
59883
  href: itemCta.href ?? void 0,
59762
59884
  targetPlatform: itemCta.targetPlatform,
59763
59885
  path: item.path ?? null,
59764
59886
  secondaryAction: onDiscuss && itemCta.askable && itemCta.chatRef ? {
59765
- icon: /* @__PURE__ */ jsx389(MessageSquare3, {}),
59887
+ icon: /* @__PURE__ */ jsx390(MessageSquare3, {}),
59766
59888
  label: `Ask about ${item.name}`,
59767
59889
  onClick: () => onDiscuss(itemCta.chatRef)
59768
59890
  } : void 0
59769
59891
  };
59770
59892
  });
59771
- return /* @__PURE__ */ jsx389(
59893
+ return /* @__PURE__ */ jsx390(
59772
59894
  HoverDropdown,
59773
59895
  {
59774
59896
  items: dropdownItems,
59775
- renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ jsx389(
59897
+ renderAnchor: ({ href, targetPlatform, path, className, children }) => /* @__PURE__ */ jsx390(
59776
59898
  NavLinkAnchorViaRuntime,
59777
59899
  {
59778
59900
  href,
@@ -59782,9 +59904,9 @@ function SourceChip({
59782
59904
  children
59783
59905
  }
59784
59906
  ),
59785
- children: /* @__PURE__ */ jsxs308("span", { className: `${chipClass} cursor-pointer`, children: [
59907
+ children: /* @__PURE__ */ jsxs309("span", { className: `${chipClass} cursor-pointer`, children: [
59786
59908
  icon,
59787
- /* @__PURE__ */ jsxs308("span", { className: "truncate max-w-[160px]", children: [
59909
+ /* @__PURE__ */ jsxs309("span", { className: "truncate max-w-[160px]", children: [
59788
59910
  "[",
59789
59911
  src.index,
59790
59912
  "] ",
@@ -59795,18 +59917,18 @@ function SourceChip({
59795
59917
  );
59796
59918
  }
59797
59919
  const displayName = src.name || formatRelativePath(src.path);
59798
- const chipBody = (label) => /* @__PURE__ */ jsxs308(Fragment89, { children: [
59920
+ const chipBody = (label) => /* @__PURE__ */ jsxs309(Fragment89, { children: [
59799
59921
  icon,
59800
- /* @__PURE__ */ jsxs308("span", { className: "truncate max-w-[160px]", children: [
59922
+ /* @__PURE__ */ jsxs309("span", { className: "truncate max-w-[160px]", children: [
59801
59923
  "[",
59802
59924
  src.index,
59803
59925
  "] ",
59804
59926
  label
59805
59927
  ] })
59806
59928
  ] });
59807
- const wrapChip = (clickable) => /* @__PURE__ */ jsxs308("span", { className: "inline-flex items-center", children: [
59929
+ const wrapChip = (clickable) => /* @__PURE__ */ jsxs309("span", { className: "inline-flex items-center", children: [
59808
59930
  clickable,
59809
- /* @__PURE__ */ jsx389(
59931
+ /* @__PURE__ */ jsx390(
59810
59932
  SourceActionButton,
59811
59933
  {
59812
59934
  chatRef: cta.chatRef,
@@ -59824,7 +59946,7 @@ function SourceChip({
59824
59946
  const resolvedHref = resolveHrefForRuntime(cta.href, runtime);
59825
59947
  const isNewTab = decideTab(resolvedHref, cta.targetPlatform ?? null);
59826
59948
  return wrapChip(
59827
- /* @__PURE__ */ jsx389(
59949
+ /* @__PURE__ */ jsx390(
59828
59950
  "a",
59829
59951
  {
59830
59952
  href: resolvedHref,
@@ -59840,7 +59962,7 @@ function SourceChip({
59840
59962
  const resolvedHref = resolveHrefForRuntime(cta.href, runtime);
59841
59963
  const isNewTab = decideTab(resolvedHref, cta.targetPlatform ?? null);
59842
59964
  return wrapChip(
59843
- /* @__PURE__ */ jsx389(
59965
+ /* @__PURE__ */ jsx390(
59844
59966
  "a",
59845
59967
  {
59846
59968
  href: resolvedHref,
@@ -59854,7 +59976,7 @@ function SourceChip({
59854
59976
  );
59855
59977
  }
59856
59978
  return wrapChip(
59857
- /* @__PURE__ */ jsx389("span", { className: `${chipClass} cursor-default`, title: displayName, children: chipBody(displayName) })
59979
+ /* @__PURE__ */ jsx390("span", { className: `${chipClass} cursor-default`, title: displayName, children: chipBody(displayName) })
59858
59980
  );
59859
59981
  }
59860
59982
  function SourceChips({
@@ -59865,13 +59987,13 @@ function SourceChips({
59865
59987
  onClose,
59866
59988
  onDiscuss
59867
59989
  }) {
59868
- const [expanded, setExpanded] = useState126(false);
59990
+ const [expanded, setExpanded] = useState127(false);
59869
59991
  if (cited.length === 0) {
59870
59992
  const fallback = uncited.slice(0, FALLBACK_TOP_RETRIEVED);
59871
59993
  if (fallback.length === 0) return null;
59872
- return /* @__PURE__ */ jsxs308("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
59873
- /* @__PURE__ */ jsx389("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Top retrieved sources" }),
59874
- /* @__PURE__ */ jsx389("div", { className: "flex flex-wrap gap-1.5", children: fallback.map((src) => /* @__PURE__ */ jsx389(
59994
+ return /* @__PURE__ */ jsxs309("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
59995
+ /* @__PURE__ */ jsx390("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Top retrieved sources" }),
59996
+ /* @__PURE__ */ jsx390("div", { className: "flex flex-wrap gap-1.5", children: fallback.map((src) => /* @__PURE__ */ jsx390(
59875
59997
  SourceChip,
59876
59998
  {
59877
59999
  src,
@@ -59886,14 +60008,14 @@ function SourceChips({
59886
60008
  }
59887
60009
  const hiddenCount = uncited.length;
59888
60010
  const hasOverflow = hiddenCount > 0;
59889
- return /* @__PURE__ */ jsxs308("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
59890
- /* @__PURE__ */ jsx389("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Sources" }),
59891
- /* @__PURE__ */ jsxs308(
60011
+ return /* @__PURE__ */ jsxs309("div", { className: "flex flex-col gap-1.5 mt-2 pt-2 border-t border-ods-border", children: [
60012
+ /* @__PURE__ */ jsx390("span", { className: "text-h6 text-ods-text-muted uppercase", children: "Sources" }),
60013
+ /* @__PURE__ */ jsxs309(
59892
60014
  "div",
59893
60015
  {
59894
60016
  className: `flex flex-wrap gap-1.5 ${expanded ? "max-h-[200px] overflow-y-auto overscroll-contain" : ""}`,
59895
60017
  children: [
59896
- cited.map((src) => /* @__PURE__ */ jsx389(
60018
+ cited.map((src) => /* @__PURE__ */ jsx390(
59897
60019
  SourceChip,
59898
60020
  {
59899
60021
  src,
@@ -59904,7 +60026,7 @@ function SourceChips({
59904
60026
  },
59905
60027
  src.index
59906
60028
  )),
59907
- expanded && uncited.map((src) => /* @__PURE__ */ jsx389(
60029
+ expanded && uncited.map((src) => /* @__PURE__ */ jsx390(
59908
60030
  SourceChip,
59909
60031
  {
59910
60032
  src,
@@ -59915,7 +60037,7 @@ function SourceChips({
59915
60037
  },
59916
60038
  src.index
59917
60039
  )),
59918
- hasOverflow && /* @__PURE__ */ jsx389(
60040
+ hasOverflow && /* @__PURE__ */ jsx390(
59919
60041
  "button",
59920
60042
  {
59921
60043
  onClick: () => setExpanded(!expanded),
@@ -59931,7 +60053,7 @@ function SourceChips({
59931
60053
  ] });
59932
60054
  }
59933
60055
  function EmbeddableChat(props) {
59934
- return /* @__PURE__ */ jsx389(EmbeddableChatInner, { ...props });
60056
+ return /* @__PURE__ */ jsx390(EmbeddableChatInner, { ...props });
59935
60057
  }
59936
60058
  function EmbeddableChatInner({
59937
60059
  baseRoute,
@@ -59974,7 +60096,7 @@ function EmbeddableChatInner({
59974
60096
  const commandsUrl = runtime.endpoints.commandsUrl;
59975
60097
  const { attachmentsEnabled, user: identityUser } = useChatIdentity();
59976
60098
  const viewUrlPrefix = runtime.endpoints.attachmentViewUrlPrefix;
59977
- useEffect95(() => {
60099
+ useEffect96(() => {
59978
60100
  if (process.env.NODE_ENV !== "production") {
59979
60101
  const hasOpen = open !== void 0;
59980
60102
  const hasHandler = onOpenChange !== void 0;
@@ -59990,13 +60112,13 @@ function EmbeddableChatInner({
59990
60112
  defaultProp: defaultOpen ?? false,
59991
60113
  onChange: onOpenChange
59992
60114
  });
59993
- const [autoFocusInput] = useState126(() => {
60115
+ const [autoFocusInput] = useState127(() => {
59994
60116
  if (typeof window === "undefined") return false;
59995
60117
  return !window.matchMedia("(pointer: coarse)").matches;
59996
60118
  });
59997
60119
  usePreventScroll5({ isDisabled: !isOpen || shellLess });
59998
60120
  const navigatingAwayRef = useRef83(false);
59999
- useEffect95(() => {
60121
+ useEffect96(() => {
60000
60122
  if (!isOpen) return;
60001
60123
  if (shellLess) return;
60002
60124
  if (typeof window === "undefined") return;
@@ -60023,7 +60145,7 @@ function EmbeddableChatInner({
60023
60145
  };
60024
60146
  }, [isOpen, shellLess]);
60025
60147
  const chatInputRef = useRef83(null);
60026
- const [quickActionPreview, setQuickActionPreview] = useState126(null);
60148
+ const [quickActionPreview, setQuickActionPreview] = useState127(null);
60027
60149
  const slashCommandsProp = useMemo56(
60028
60150
  () => ({
60029
60151
  fetchCommands: (prefix, signal) => fetchSlashCommands(prefix, signal, commandsUrl),
@@ -60066,7 +60188,7 @@ function EmbeddableChatInner({
60066
60188
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
60067
60189
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
60068
60190
  const initialActiveMode = controlledActiveMode ?? defaultActiveMode ?? (effectiveModes.guide ? "guide" : "mingo");
60069
- const [uncontrolledActiveMode, setUncontrolledActiveMode] = useState126(initialActiveMode);
60191
+ const [uncontrolledActiveMode, setUncontrolledActiveMode] = useState127(initialActiveMode);
60070
60192
  const activeMode = controlledActiveMode ?? uncontrolledActiveMode;
60071
60193
  const handleActiveModeChange = useCallback60(
60072
60194
  (next) => {
@@ -60129,7 +60251,7 @@ function EmbeddableChatInner({
60129
60251
  loadMoreMessages
60130
60252
  } = useUnifiedChat({ modes: effectiveModes, activeMode, mingoStateOverride: mingoState });
60131
60253
  const guidePromptSentRef = useRef83(false);
60132
- useEffect95(() => {
60254
+ useEffect96(() => {
60133
60255
  if (!guidePendingPrompt) {
60134
60256
  guidePromptSentRef.current = false;
60135
60257
  return;
@@ -60150,15 +60272,15 @@ function EmbeddableChatInner({
60150
60272
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
60151
60273
  const contextMaxItems = contextPicker?.maxItems ?? 10;
60152
60274
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
60153
- const [contextItems, setContextItems] = useState126([]);
60154
- const [contextPickerOpen, setContextPickerOpen] = useState126(false);
60155
- const [mentionQuery, setMentionQuery] = useState126(null);
60275
+ const [contextItems, setContextItems] = useState127([]);
60276
+ const [contextPickerOpen, setContextPickerOpen] = useState127(false);
60277
+ const [mentionQuery, setMentionQuery] = useState127(null);
60156
60278
  const mentionActiveRef = useRef83(false);
60157
- useEffect95(() => {
60279
+ useEffect96(() => {
60158
60280
  mentionActiveRef.current = mentionQuery !== null;
60159
60281
  }, [mentionQuery]);
60160
60282
  const mentionKeysRef = useRef83(/* @__PURE__ */ new Set());
60161
- useEffect95(() => {
60283
+ useEffect96(() => {
60162
60284
  setContextItems([]);
60163
60285
  setMentionQuery(null);
60164
60286
  mentionKeysRef.current.clear();
@@ -60251,7 +60373,7 @@ function EmbeddableChatInner({
60251
60373
  [discussRef, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
60252
60374
  );
60253
60375
  const mingoAssistantIcon = useMemo56(
60254
- () => effectiveAssistantIcon ? /* @__PURE__ */ jsx389(EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ jsx389(MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
60376
+ () => effectiveAssistantIcon ? /* @__PURE__ */ jsx390(EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ jsx390(MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
60255
60377
  [effectiveAssistantIcon]
60256
60378
  );
60257
60379
  const timestampCacheRef = useRef83(/* @__PURE__ */ new Map());
@@ -60392,7 +60514,7 @@ function EmbeddableChatInner({
60392
60514
  });
60393
60515
  const handleOpen = useCallback60(() => setIsOpen(true), [setIsOpen]);
60394
60516
  useCloseOnNavigation(handleNavigationClose, null);
60395
- useEffect95(() => {
60517
+ useEffect96(() => {
60396
60518
  const handler = (e) => {
60397
60519
  const detail = e.detail;
60398
60520
  if (!detail || detail.source !== source) return;
@@ -60402,7 +60524,7 @@ function EmbeddableChatInner({
60402
60524
  window.addEventListener("ask-ai:open-with-ref", handler);
60403
60525
  return () => window.removeEventListener("ask-ai:open-with-ref", handler);
60404
60526
  }, [source, discussRef, setIsOpen]);
60405
- useEffect95(() => {
60527
+ useEffect96(() => {
60406
60528
  const handler = (e) => {
60407
60529
  const detail = e.detail;
60408
60530
  if (!detail || detail.source !== source) return;
@@ -60419,7 +60541,7 @@ function EmbeddableChatInner({
60419
60541
  const contentViewKey = hasConversation ? "conversation" : activeMode;
60420
60542
  const isGuideEmpty = !hasConversation && activeMode === "guide";
60421
60543
  const isQuickActionEmpty = !hasConversation && (activeMode === "guide" || activeMode === "mingo");
60422
- useEffect95(() => {
60544
+ useEffect96(() => {
60423
60545
  if (!isQuickActionEmpty) setQuickActionPreview(null);
60424
60546
  }, [isQuickActionEmpty]);
60425
60547
  const guideCanReturnToMingo = isGuideEmpty && hasMingoMode;
@@ -60461,11 +60583,11 @@ function EmbeddableChatInner({
60461
60583
  const uncited = sources.filter((s) => !seenOrder.has(s.index));
60462
60584
  return { cited, uncited };
60463
60585
  }, [lastAssistantMsg, chatLoading]);
60464
- const [portalHost, setPortalHost] = useState126(null);
60465
- const [panelBoundary, setPanelBoundary] = useState126(null);
60466
- const [panelWidth, setPanelWidth] = useState126(0);
60586
+ const [portalHost, setPortalHost] = useState127(null);
60587
+ const [panelBoundary, setPanelBoundary] = useState127(null);
60588
+ const [panelWidth, setPanelWidth] = useState127(0);
60467
60589
  const panelMeasureRef = useRef83(null);
60468
- useEffect95(() => {
60590
+ useEffect96(() => {
60469
60591
  const el = panelMeasureRef.current;
60470
60592
  if (!el || typeof ResizeObserver === "undefined") return;
60471
60593
  const ro = new ResizeObserver((entries) => {
@@ -60480,8 +60602,8 @@ function EmbeddableChatInner({
60480
60602
  panelMeasureRef.current = node;
60481
60603
  setPanelBoundary(node);
60482
60604
  }, []);
60483
- const [railCollapsed, setRailCollapsed] = useState126(false);
60484
- useEffect95(() => {
60605
+ const [railCollapsed, setRailCollapsed] = useState127(false);
60606
+ useEffect96(() => {
60485
60607
  try {
60486
60608
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1")
60487
60609
  setRailCollapsed(true);
@@ -60498,15 +60620,15 @@ function EmbeddableChatInner({
60498
60620
  return next;
60499
60621
  });
60500
60622
  }, []);
60501
- const [railSearchOpen, setRailSearchOpen] = useState126(false);
60623
+ const [railSearchOpen, setRailSearchOpen] = useState127(false);
60502
60624
  const splitEligible = activeMode === "mingo";
60503
60625
  const canSplit = panelWidth >= SPLIT_MIN_WIDTH;
60504
60626
  const wideMingo = splitEligible && canSplit && !previewMode;
60505
60627
  const splitActive = wideMingo && !railCollapsed;
60506
60628
  const railPresence = useRailPresence(splitActive);
60507
60629
  const showWideHeader = wideMingo || railPresence.mounted;
60508
- const [composeOpen, setComposeOpen] = useState126(false);
60509
- useEffect95(() => {
60630
+ const [composeOpen, setComposeOpen] = useState127(false);
60631
+ useEffect96(() => {
60510
60632
  if (hasConversation) setComposeOpen(false);
60511
60633
  }, [hasConversation]);
60512
60634
  const isMingoMode = activeMode === "mingo";
@@ -60562,17 +60684,17 @@ function EmbeddableChatInner({
60562
60684
  onArchive: headerOnArchive,
60563
60685
  onOpenArchive: headerOnOpenArchive
60564
60686
  };
60565
- const body = /* @__PURE__ */ jsx389(PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ jsxs308(CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
60566
- /* @__PURE__ */ jsx389(
60687
+ const body = /* @__PURE__ */ jsx390(PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ jsxs309(CollisionBoundaryContext.Provider, { value: panelBoundary, children: [
60688
+ /* @__PURE__ */ jsx390(
60567
60689
  "div",
60568
60690
  {
60569
60691
  ref: setPanelNode,
60570
60692
  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" : ""}`,
60571
- children: archiveOpen && !splitActive ? /* @__PURE__ */ jsx389(
60693
+ children: archiveOpen && !splitActive ? /* @__PURE__ */ jsx390(
60572
60694
  "div",
60573
60695
  {
60574
60696
  className: "flex flex-1 min-h-0 flex-col animate-in fade-in-0 duration-200",
60575
- children: /* @__PURE__ */ jsx389(
60697
+ children: /* @__PURE__ */ jsx390(
60576
60698
  ChatArchivePage,
60577
60699
  {
60578
60700
  dialogs: archivedDialogs,
@@ -60589,7 +60711,7 @@ function EmbeddableChatInner({
60589
60711
  )
60590
60712
  },
60591
60713
  "archive-view"
60592
- ) : /* @__PURE__ */ jsxs308(
60714
+ ) : /* @__PURE__ */ jsxs309(
60593
60715
  "div",
60594
60716
  {
60595
60717
  className: "flex flex-1 min-h-0 flex-col animate-in fade-in-0 duration-200",
@@ -60607,8 +60729,8 @@ function EmbeddableChatInner({
60607
60729
  // the viewport `md` breakpoint — otherwise a 720–799px panel on a
60608
60730
  // sub-`md` viewport would split the body yet drop to the mobile
60609
60731
  // single-bar header (no rail search / collapse controls).
60610
- /* @__PURE__ */ jsxs308("div", { className: "flex h-14 w-full flex-shrink-0 overflow-hidden border-b border-ods-border bg-ods-card", children: [
60611
- railPresence.mounted && /* @__PURE__ */ jsx389(
60732
+ /* @__PURE__ */ jsxs309("div", { className: "flex h-14 w-full flex-shrink-0 overflow-hidden border-b border-ods-border bg-ods-card", children: [
60733
+ railPresence.mounted && /* @__PURE__ */ jsx390(
60612
60734
  RailSlot,
60613
60735
  {
60614
60736
  active: railPresence.active,
@@ -60619,50 +60741,50 @@ function EmbeddableChatInner({
60619
60741
  // renders in the rail below); the chat block is untouched.
60620
60742
  // Back is a full-height leading cell, matching the other
60621
60743
  // header cells (not a small inline chevron).
60622
- /* @__PURE__ */ jsxs308(Fragment89, { children: [
60623
- /* @__PURE__ */ jsx389(
60744
+ /* @__PURE__ */ jsxs309(Fragment89, { children: [
60745
+ /* @__PURE__ */ jsx390(
60624
60746
  ChatHeaderIconButton,
60625
60747
  {
60626
60748
  divider: "right",
60627
60749
  onClick: closeArchive,
60628
60750
  "aria-label": "Back to chats",
60629
- children: /* @__PURE__ */ jsx389(Chevron02LeftIcon, { size: 24 })
60751
+ children: /* @__PURE__ */ jsx390(Chevron02LeftIcon, { size: 24 })
60630
60752
  }
60631
60753
  ),
60632
- /* @__PURE__ */ jsx389("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx389("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Chat Archive" }) })
60754
+ /* @__PURE__ */ jsx390("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx390("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Chat Archive" }) })
60633
60755
  ] })
60634
60756
  ) : (
60635
60757
  // "Current Chats" rail header — title fills, then the
60636
60758
  // search + archive controls. When search is open the
60637
60759
  // inline field takes over the title area in place
60638
60760
  // (Figma 116:51217) and the magnifier toggle is hidden.
60639
- /* @__PURE__ */ jsxs308(Fragment89, { children: [
60640
- railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx389(
60761
+ /* @__PURE__ */ jsxs309(Fragment89, { children: [
60762
+ railSearchOpen && mingoCaps.onSearchChange ? /* @__PURE__ */ jsx390(
60641
60763
  ChatHeaderSearchField,
60642
60764
  {
60643
60765
  initialValue: mingoCaps.searchQuery,
60644
60766
  onSearchChange: mingoCaps.onSearchChange,
60645
60767
  onCollapse: () => setRailSearchOpen(false)
60646
60768
  }
60647
- ) : /* @__PURE__ */ jsxs308(Fragment89, { children: [
60648
- /* @__PURE__ */ jsx389("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx389("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Current Chats" }) }),
60649
- mingoCaps.onSearchChange && /* @__PURE__ */ jsx389(
60769
+ ) : /* @__PURE__ */ jsxs309(Fragment89, { children: [
60770
+ /* @__PURE__ */ jsx390("div", { className: "flex min-w-0 flex-1 items-center px-[var(--spacing-system-mf)]", children: /* @__PURE__ */ jsx390("span", { className: "min-w-0 flex-1 truncate text-h3 text-ods-text-primary", children: "Current Chats" }) }),
60771
+ mingoCaps.onSearchChange && /* @__PURE__ */ jsx390(
60650
60772
  ChatHeaderIconButton,
60651
60773
  {
60652
60774
  onClick: () => setRailSearchOpen((o) => !o),
60653
60775
  "aria-label": "Search chats",
60654
60776
  "aria-pressed": railSearchOpen,
60655
- children: /* @__PURE__ */ jsx389(SearchIcon, { size: 24 })
60777
+ children: /* @__PURE__ */ jsx390(SearchIcon, { size: 24 })
60656
60778
  }
60657
60779
  )
60658
60780
  ] }),
60659
- headerOnOpenArchive && /* @__PURE__ */ jsx389(ChatHeaderIconButton, { onClick: headerOnOpenArchive, "aria-label": "Chat archive", children: /* @__PURE__ */ jsx389(ClockHistoryIcon, { size: 24 }) })
60781
+ headerOnOpenArchive && /* @__PURE__ */ jsx390(ChatHeaderIconButton, { onClick: headerOnOpenArchive, "aria-label": "Chat archive", children: /* @__PURE__ */ jsx390(ClockHistoryIcon, { size: 24 }) })
60660
60782
  ] })
60661
60783
  )
60662
60784
  }
60663
60785
  ),
60664
- /* @__PURE__ */ jsxs308("div", { className: "flex flex-1 min-w-0", children: [
60665
- /* @__PURE__ */ jsx389(
60786
+ /* @__PURE__ */ jsxs309("div", { className: "flex flex-1 min-w-0", children: [
60787
+ /* @__PURE__ */ jsx390(
60666
60788
  "button",
60667
60789
  {
60668
60790
  type: "button",
@@ -60670,17 +60792,17 @@ function EmbeddableChatInner({
60670
60792
  "aria-label": splitActive ? "Collapse chat list" : "Show chat list",
60671
60793
  "aria-pressed": !splitActive,
60672
60794
  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",
60673
- children: splitActive ? /* @__PURE__ */ jsx389(Arrow02RightIcon, { size: 24 }) : /* @__PURE__ */ jsx389(Arrow02LeftIcon, { size: 24 })
60795
+ children: splitActive ? /* @__PURE__ */ jsx390(Arrow02RightIcon, { size: 24 }) : /* @__PURE__ */ jsx390(Arrow02LeftIcon, { size: 24 })
60674
60796
  }
60675
60797
  ),
60676
- /* @__PURE__ */ jsxs308("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: [
60677
- /* @__PURE__ */ jsxs308("div", { className: "flex min-w-0 flex-col", children: [
60678
- /* @__PURE__ */ jsx389("p", { className: "truncate text-h3 leading-tight text-ods-text-primary", children: headerShowBack ? headerTitle : "New Chat" }),
60679
- headerPersonName && /* @__PURE__ */ jsx389("p", { className: "truncate text-h6 leading-tight text-ods-text-secondary", children: headerPersonName })
60798
+ /* @__PURE__ */ jsxs309("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: [
60799
+ /* @__PURE__ */ jsxs309("div", { className: "flex min-w-0 flex-col", children: [
60800
+ /* @__PURE__ */ jsx390("p", { className: "truncate text-h3 leading-tight text-ods-text-primary", children: headerShowBack ? headerTitle : "New Chat" }),
60801
+ headerPersonName && /* @__PURE__ */ jsx390("p", { className: "truncate text-h6 leading-tight text-ods-text-secondary", children: headerPersonName })
60680
60802
  ] }),
60681
60803
  headerAvatar ? (
60682
60804
  // Owner avatar at the title cell's right edge (Figma 113:63273).
60683
- /* @__PURE__ */ jsx389(
60805
+ /* @__PURE__ */ jsx390(
60684
60806
  SquareAvatar,
60685
60807
  {
60686
60808
  variant: "round",
@@ -60695,17 +60817,17 @@ function EmbeddableChatInner({
60695
60817
  )
60696
60818
  ) : null
60697
60819
  ] }),
60698
- isViewingArchived && headerOnRestore && /* @__PURE__ */ jsx389(ChatHeaderIconButton, { onClick: headerOnRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ jsx389(Refresh01LeftIcon, { size: 24 }) }),
60699
- headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ jsx389(
60820
+ isViewingArchived && headerOnRestore && /* @__PURE__ */ jsx390(ChatHeaderIconButton, { onClick: headerOnRestore, "aria-label": "Unarchive chat", children: /* @__PURE__ */ jsx390(Refresh01LeftIcon, { size: 24 }) }),
60821
+ headerShowBack && !isViewingArchived && splitHeaderMenuItems.length > 0 && /* @__PURE__ */ jsx390(
60700
60822
  ActionsMenuDropdown,
60701
60823
  {
60702
60824
  triggerAriaLabel: "Chat actions",
60703
60825
  onCloseAutoFocus: (e) => e.preventDefault(),
60704
60826
  groups: [{ items: splitHeaderMenuItems }],
60705
- customTrigger: /* @__PURE__ */ jsx389(ChatHeaderIconButton, { "aria-label": "Chat actions", children: /* @__PURE__ */ jsx389(Ellipsis01Icon, { size: 24 }) })
60827
+ customTrigger: /* @__PURE__ */ jsx390(ChatHeaderIconButton, { "aria-label": "Chat actions", children: /* @__PURE__ */ jsx390(Ellipsis01Icon, { size: 24 }) })
60706
60828
  }
60707
60829
  ),
60708
- /* @__PURE__ */ jsx389(ChatHeaderIconButton, { onClick: handleClose, "aria-label": "Close", children: /* @__PURE__ */ jsx389(XmarkIcon, { size: 24 }) })
60830
+ /* @__PURE__ */ jsx390(ChatHeaderIconButton, { onClick: handleClose, "aria-label": "Close", children: /* @__PURE__ */ jsx390(XmarkIcon, { size: 24 }) })
60709
60831
  ] })
60710
60832
  ] })
60711
60833
  ) : (
@@ -60713,11 +60835,11 @@ function EmbeddableChatInner({
60713
60835
  // guide, resolved into `narrowHeaderProps` above. (Wide layouts,
60714
60836
  // including rail-collapsed, use the wide header above.) Embedded
60715
60837
  // previews (hero demo tabs) force the compact bar via `compact`.
60716
- /* @__PURE__ */ jsx389(ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
60838
+ /* @__PURE__ */ jsx390(ChatPanelHeader, { ...narrowHeaderProps, compact: previewMode })
60717
60839
  ),
60718
- activeMode === "guide" && hasMingoMode && /* @__PURE__ */ jsx389(GuideModeBanner, { className: "animate-in fade-in-0 duration-200" }),
60719
- /* @__PURE__ */ jsxs308("div", { className: "flex flex-1 min-h-0 overflow-hidden", children: [
60720
- railPresence.mounted && /* @__PURE__ */ jsx389(
60840
+ activeMode === "guide" && hasMingoMode && /* @__PURE__ */ jsx390(GuideModeBanner, { className: "animate-in fade-in-0 duration-200" }),
60841
+ /* @__PURE__ */ jsxs309("div", { className: "flex flex-1 min-h-0 overflow-hidden", children: [
60842
+ railPresence.mounted && /* @__PURE__ */ jsx390(
60721
60843
  RailSlot,
60722
60844
  {
60723
60845
  active: railPresence.active,
@@ -60725,7 +60847,7 @@ function EmbeddableChatInner({
60725
60847
  children: archiveOpen ? (
60726
60848
  // Archive list inside the rail (header lives in the split
60727
60849
  // header's left cell above). Right chat block stays put.
60728
- /* @__PURE__ */ jsx389(
60850
+ /* @__PURE__ */ jsx390(
60729
60851
  ChatArchivePage,
60730
60852
  {
60731
60853
  embedded: true,
@@ -60739,7 +60861,7 @@ function EmbeddableChatInner({
60739
60861
  }
60740
60862
  }
60741
60863
  )
60742
- ) : /* @__PURE__ */ jsx389(
60864
+ ) : /* @__PURE__ */ jsx390(
60743
60865
  MingoHistoryRail,
60744
60866
  {
60745
60867
  dialogs,
@@ -60763,11 +60885,11 @@ function EmbeddableChatInner({
60763
60885
  )
60764
60886
  }
60765
60887
  ),
60766
- /* @__PURE__ */ jsx389("div", { className: "flex flex-1 flex-col min-h-0 min-w-0", children: stackedListView ? (
60888
+ /* @__PURE__ */ jsx390("div", { className: "flex flex-1 flex-col min-h-0 min-w-0", children: stackedListView ? (
60767
60889
  // Narrow "Current Chats" list (Figma 341:36190) — the default
60768
60890
  // single-column view. No composer here; "Start New Chat" opens
60769
60891
  // the compose view.
60770
- /* @__PURE__ */ jsx389(
60892
+ /* @__PURE__ */ jsx390(
60771
60893
  MingoHistoryRail,
60772
60894
  {
60773
60895
  className: "animate-in fade-in-0 duration-200",
@@ -60790,17 +60912,17 @@ function EmbeddableChatInner({
60790
60912
  onRetry: reloadDialogs
60791
60913
  }
60792
60914
  )
60793
- ) : /* @__PURE__ */ jsxs308(Fragment89, { children: [
60794
- /* @__PURE__ */ jsx389(
60915
+ ) : /* @__PURE__ */ jsxs309(Fragment89, { children: [
60916
+ /* @__PURE__ */ jsx390(
60795
60917
  "div",
60796
60918
  {
60797
60919
  ref: galleryPanelRef,
60798
60920
  className: "flex-1 flex flex-col min-h-0 p-[var(--spacing-system-m)]",
60799
- children: /* @__PURE__ */ jsx389(
60921
+ children: /* @__PURE__ */ jsx390(
60800
60922
  "div",
60801
60923
  {
60802
60924
  className: "flex-1 flex flex-col min-h-0 animate-in fade-in-0 duration-200",
60803
- children: hasConversation ? /* @__PURE__ */ jsxs308("div", { className: "flex-1 flex flex-col min-h-0", children: [
60925
+ children: hasConversation ? /* @__PURE__ */ jsxs309("div", { className: "flex-1 flex flex-col min-h-0", children: [
60804
60926
  messagesInitialLoading ? (
60805
60927
  // Match the real list's `fullWidth` layout so swapping
60806
60928
  // skeleton → bubbles doesn't shift the column. The panel
@@ -60812,7 +60934,7 @@ function EmbeddableChatInner({
60812
60934
  // skeleton overflows a short panel and grows its OWN
60813
60935
  // scrollbar — ugly. `fill` top-anchors + clips overflow so
60814
60936
  // it reads as "the whole panel is loading" and never scrolls.
60815
- /* @__PURE__ */ jsx389(
60937
+ /* @__PURE__ */ jsx390(
60816
60938
  ChatMessageListSkeleton,
60817
60939
  {
60818
60940
  fullWidth: true,
@@ -60820,7 +60942,7 @@ function EmbeddableChatInner({
60820
60942
  className: "flex-1"
60821
60943
  }
60822
60944
  )
60823
- ) : /* @__PURE__ */ jsx389(
60945
+ ) : /* @__PURE__ */ jsx390(
60824
60946
  ChatMessageList,
60825
60947
  {
60826
60948
  messages,
@@ -60845,7 +60967,7 @@ function EmbeddableChatInner({
60845
60967
  onLoadMore: loadMoreMessages
60846
60968
  }
60847
60969
  ),
60848
- lastSources && (lastSources.cited.length > 0 || lastSources.uncited.length > 0) && !chatLoading && /* @__PURE__ */ jsx389("div", { className: "flex-shrink-0 pb-2", children: /* @__PURE__ */ jsx389(
60970
+ lastSources && (lastSources.cited.length > 0 || lastSources.uncited.length > 0) && !chatLoading && /* @__PURE__ */ jsx390("div", { className: "flex-shrink-0 pb-2", children: /* @__PURE__ */ jsx390(
60849
60971
  SourceChips,
60850
60972
  {
60851
60973
  cited: lastSources.cited,
@@ -60861,7 +60983,7 @@ function EmbeddableChatInner({
60861
60983
  centred greeting + capability grid + Guide-chat promo +
60862
60984
  quick-action chips. Guide mode keeps the slash-command
60863
60985
  onboarding list below. */
60864
- /* @__PURE__ */ jsx389(
60986
+ /* @__PURE__ */ jsx390(
60865
60987
  MingoWelcome,
60866
60988
  {
60867
60989
  onStartGuideChat: effectiveModes.guide ? () => handleActiveModeChange("guide") : void 0,
@@ -60876,7 +60998,7 @@ function EmbeddableChatInner({
60876
60998
  /* Figma node 7532:328214 — Guide-mode empty state: greeting
60877
60999
  + slash-command onboarding list share one scroll region,
60878
61000
  with a pinned quick-action chip row above the composer. */
60879
- /* @__PURE__ */ jsx389(
61001
+ /* @__PURE__ */ jsx390(
60880
61002
  GuideWelcome,
60881
61003
  {
60882
61004
  subtitle: effectiveGreeting ?? void 0,
@@ -60892,8 +61014,8 @@ function EmbeddableChatInner({
60892
61014
  onQuickActionHover: (action) => setQuickActionPreview(action.prompt ?? action.label),
60893
61015
  onQuickActionHoverEnd: () => setQuickActionPreview(null),
60894
61016
  agentSlug: activeAgentSlug,
60895
- children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ jsxs308("div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
60896
- !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ jsx389(
61017
+ children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ jsxs309("div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
61018
+ !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ jsx390(
60897
61019
  MingoOnboardingCardSkeleton,
60898
61020
  {
60899
61021
  titleWidth: variant.titleWidth,
@@ -60915,10 +61037,10 @@ function EmbeddableChatInner({
60915
61037
  chatInputRef
60916
61038
  )
60917
61039
  }));
60918
- return /* @__PURE__ */ jsx389(
61040
+ return /* @__PURE__ */ jsx390(
60919
61041
  MingoOnboardingCard,
60920
61042
  {
60921
- icon: /* @__PURE__ */ jsx389(Icon2, { size: 16 }),
61043
+ icon: /* @__PURE__ */ jsx390(Icon2, { size: 16 }),
60922
61044
  title: label,
60923
61045
  slashCommand: `/${cmdId}`,
60924
61046
  description: cmd.description,
@@ -60936,7 +61058,7 @@ function EmbeddableChatInner({
60936
61058
  )
60937
61059
  }
60938
61060
  ),
60939
- /* @__PURE__ */ jsx389(
61061
+ /* @__PURE__ */ jsx390(
60940
61062
  ChatAttachmentChipStrip,
60941
61063
  {
60942
61064
  attachments: stagedAttachments,
@@ -60944,7 +61066,7 @@ function EmbeddableChatInner({
60944
61066
  disabled: chatLoading
60945
61067
  }
60946
61068
  ),
60947
- /* @__PURE__ */ jsx389(
61069
+ /* @__PURE__ */ jsx390(
60948
61070
  ChatComposer,
60949
61071
  {
60950
61072
  archived: isViewingArchived,
@@ -60993,7 +61115,7 @@ function EmbeddableChatInner({
60993
61115
  }
60994
61116
  ),
60995
61117
  galleryModal,
60996
- /* @__PURE__ */ jsx389(
61118
+ /* @__PURE__ */ jsx390(
60997
61119
  ChatDialogModals,
60998
61120
  {
60999
61121
  renameTarget,
@@ -61007,15 +61129,15 @@ function EmbeddableChatInner({
61007
61129
  onConfirmRestore: handleConfirmRestore
61008
61130
  }
61009
61131
  ),
61010
- /* @__PURE__ */ jsx389("div", { ref: setPortalHost, style: { display: "contents" } })
61132
+ /* @__PURE__ */ jsx390("div", { ref: setPortalHost, style: { display: "contents" } })
61011
61133
  ] }) });
61012
- const panel = shellLess ? /* @__PURE__ */ jsxs308(ChatPanelContext.Provider, { value: chatPanelHandle, children: [
61013
- /* @__PURE__ */ jsx389(VisuallyHidden, { children: /* @__PURE__ */ jsxs308(DialogPrimitive5.Title, { children: [
61134
+ const panel = shellLess ? /* @__PURE__ */ jsxs309(ChatPanelContext.Provider, { value: chatPanelHandle, children: [
61135
+ /* @__PURE__ */ jsx390(VisuallyHidden, { children: /* @__PURE__ */ jsxs309(DialogPrimitive5.Title, { children: [
61014
61136
  sourceLabel,
61015
61137
  " AI Assistant"
61016
61138
  ] }) }),
61017
61139
  body
61018
- ] }) : /* @__PURE__ */ jsx389(Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ jsx389(ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ jsxs308(
61140
+ ] }) : /* @__PURE__ */ jsx390(Drawer, { open: isOpen, onOpenChange: (o) => !o && handleClose(), children: /* @__PURE__ */ jsx390(ChatPanelContext.Provider, { value: chatPanelHandle, children: /* @__PURE__ */ jsxs309(
61019
61141
  DrawerContent,
61020
61142
  {
61021
61143
  side: "right",
@@ -61030,7 +61152,7 @@ function EmbeddableChatInner({
61030
61152
  "aria-describedby": void 0,
61031
61153
  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 ",
61032
61154
  children: [
61033
- /* @__PURE__ */ jsx389(VisuallyHidden, { children: /* @__PURE__ */ jsxs308(DialogPrimitive5.Title, { children: [
61155
+ /* @__PURE__ */ jsx390(VisuallyHidden, { children: /* @__PURE__ */ jsxs309(DialogPrimitive5.Title, { children: [
61034
61156
  sourceLabel,
61035
61157
  " AI Assistant"
61036
61158
  ] }) }),
@@ -61038,17 +61160,17 @@ function EmbeddableChatInner({
61038
61160
  ]
61039
61161
  }
61040
61162
  ) }) });
61041
- return /* @__PURE__ */ jsxs308(Fragment89, { children: [
61042
- showInternalTrigger && !shellLess && /* @__PURE__ */ jsx389(
61163
+ return /* @__PURE__ */ jsxs309(Fragment89, { children: [
61164
+ showInternalTrigger && !shellLess && /* @__PURE__ */ jsx390(
61043
61165
  "div",
61044
61166
  {
61045
61167
  "aria-hidden": isOpen,
61046
61168
  className: `sticky bottom-0 h-0 z-[9990] pointer-events-none ${isOpen ? "opacity-0" : "opacity-100"}`,
61047
- children: /* @__PURE__ */ jsx389("div", { className: "absolute bottom-4 md:bottom-6 right-4 md:right-6", children: /* @__PURE__ */ jsx389(
61169
+ children: /* @__PURE__ */ jsx390("div", { className: "absolute bottom-4 md:bottom-6 right-4 md:right-6", children: /* @__PURE__ */ jsx390(
61048
61170
  Button,
61049
61171
  {
61050
61172
  onClick: handleOpen,
61051
- leftIcon: /* @__PURE__ */ jsx389(MingoIcon, { className: "h-5 w-5", color: "currentColor" }),
61173
+ leftIcon: /* @__PURE__ */ jsx390(MingoIcon, { className: "h-5 w-5", color: "currentColor" }),
61052
61174
  tabIndex: isOpen ? -1 : 0,
61053
61175
  className: `shadow-lg !w-auto pointer-events-auto ${isOpen ? "!pointer-events-none" : ""}`,
61054
61176
  children: "Ask AI"
@@ -62110,6 +62232,7 @@ export {
62110
62232
  TicketNoteCard,
62111
62233
  TicketNotesSection,
62112
62234
  TicketInfoSection,
62235
+ TakeOverTicketModal,
62113
62236
  FilterPillRow,
62114
62237
  MingoAiButton,
62115
62238
  MOBILE_NAV_PANEL_ID,
@@ -62154,4 +62277,4 @@ export {
62154
62277
  LogsList,
62155
62278
  assets
62156
62279
  };
62157
- //# sourceMappingURL=chunk-6SV4XZMD.js.map
62280
+ //# sourceMappingURL=chunk-7EHGP4QK.js.map