@flamingo-stack/openframe-frontend-core 0.0.685 → 0.0.686-2463.7461.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 (174) hide show
  1. package/dist/{chunk-T6KWNJDW.js → chunk-22RSJ57Z.js} +470 -465
  2. package/dist/chunk-22RSJ57Z.js.map +1 -0
  3. package/dist/{chunk-65KTXRBY.js → chunk-2G2CB7ZZ.js} +6 -6
  4. package/dist/{chunk-K2HZG4RM.cjs → chunk-2OD2PPNO.cjs} +32 -32
  5. package/dist/{chunk-K2HZG4RM.cjs.map → chunk-2OD2PPNO.cjs.map} +1 -1
  6. package/dist/{chunk-HMXUOLZR.cjs → chunk-3DO76UAB.cjs} +20 -20
  7. package/dist/{chunk-HMXUOLZR.cjs.map → chunk-3DO76UAB.cjs.map} +1 -1
  8. package/dist/{chunk-XW7MUIW4.js → chunk-3NIZ2VLQ.js} +3 -3
  9. package/dist/{chunk-5LJZPJHX.cjs → chunk-4LBCUBVL.cjs} +59 -59
  10. package/dist/{chunk-5LJZPJHX.cjs.map → chunk-4LBCUBVL.cjs.map} +1 -1
  11. package/dist/{chunk-ZF4Z36G4.js → chunk-4RJQMOQW.js} +7 -7
  12. package/dist/{chunk-TJI5V5BR.cjs → chunk-AF4XOURN.cjs} +7 -7
  13. package/dist/{chunk-TJI5V5BR.cjs.map → chunk-AF4XOURN.cjs.map} +1 -1
  14. package/dist/{chunk-7XF63THA.js → chunk-ASBBGP36.js} +6 -6
  15. package/dist/{chunk-O7LOZW4R.js → chunk-C5TFPMOM.js} +5 -5
  16. package/dist/{chunk-CMQXPD5C.cjs → chunk-GETQTNRV.cjs} +28 -28
  17. package/dist/{chunk-CMQXPD5C.cjs.map → chunk-GETQTNRV.cjs.map} +1 -1
  18. package/dist/{chunk-TUG7IT6H.js → chunk-HLEXYTOE.js} +2 -2
  19. package/dist/{chunk-M4HYIXP6.cjs → chunk-IBUFFKAK.cjs} +399 -383
  20. package/dist/chunk-IBUFFKAK.cjs.map +1 -0
  21. package/dist/{chunk-GXV6UEVY.js → chunk-IELOPDTA.js} +3 -3
  22. package/dist/{chunk-T4DUTP5C.cjs → chunk-II5GVLTN.cjs} +5 -5
  23. package/dist/{chunk-T4DUTP5C.cjs.map → chunk-II5GVLTN.cjs.map} +1 -1
  24. package/dist/{chunk-B32YLOYQ.js → chunk-JBJZL5PI.js} +4 -4
  25. package/dist/{chunk-UT333EOT.js → chunk-LCOMNQLX.js} +4 -4
  26. package/dist/{chunk-VDPCK437.js → chunk-MHTB67ZH.js} +21 -5
  27. package/dist/{chunk-VDPCK437.js.map → chunk-MHTB67ZH.js.map} +1 -1
  28. package/dist/{chunk-EFBMNVSH.cjs → chunk-MZAZUSPQ.cjs} +15 -15
  29. package/dist/{chunk-EFBMNVSH.cjs.map → chunk-MZAZUSPQ.cjs.map} +1 -1
  30. package/dist/{chunk-C3B36OYZ.cjs → chunk-N3I53B5W.cjs} +3 -3
  31. package/dist/{chunk-C3B36OYZ.cjs.map → chunk-N3I53B5W.cjs.map} +1 -1
  32. package/dist/{chunk-WJK2EETW.js → chunk-NINO3PI7.js} +2 -2
  33. package/dist/{chunk-YCTVLN47.cjs → chunk-P4SBHO7U.cjs} +10 -10
  34. package/dist/{chunk-YCTVLN47.cjs.map → chunk-P4SBHO7U.cjs.map} +1 -1
  35. package/dist/{chunk-PSQKD6ZN.js → chunk-PG65AE3I.js} +3 -3
  36. package/dist/{chunk-DQOQ3KTP.cjs → chunk-QNWQQ4RT.cjs} +78 -73
  37. package/dist/chunk-QNWQQ4RT.cjs.map +1 -0
  38. package/dist/{chunk-BZ2XOEHW.js → chunk-QOH45QSE.js} +3 -3
  39. package/dist/{chunk-DWXWEGGO.cjs → chunk-QTXDXHMD.cjs} +22 -22
  40. package/dist/{chunk-DWXWEGGO.cjs.map → chunk-QTXDXHMD.cjs.map} +1 -1
  41. package/dist/{chunk-B25CF3PO.cjs → chunk-RBCMBRI7.cjs} +30 -30
  42. package/dist/{chunk-B25CF3PO.cjs.map → chunk-RBCMBRI7.cjs.map} +1 -1
  43. package/dist/{chunk-QHLJSB2J.cjs → chunk-RKH7DEDF.cjs} +12 -12
  44. package/dist/{chunk-QHLJSB2J.cjs.map → chunk-RKH7DEDF.cjs.map} +1 -1
  45. package/dist/{chunk-Y7ZYOQNB.js → chunk-RSMAVO2Z.js} +3 -3
  46. package/dist/{chunk-A3CSQB4A.cjs → chunk-SI77HF4U.cjs} +1247 -805
  47. package/dist/chunk-SI77HF4U.cjs.map +1 -0
  48. package/dist/{chunk-GHLGXFNU.js → chunk-U6JC3RS2.js} +3 -3
  49. package/dist/{chunk-B5N3AHPG.cjs → chunk-UBXEETWQ.cjs} +81 -81
  50. package/dist/{chunk-B5N3AHPG.cjs.map → chunk-UBXEETWQ.cjs.map} +1 -1
  51. package/dist/{chunk-N4Z6X5BV.js → chunk-WFH52OVQ.js} +5 -5
  52. package/dist/{chunk-U3IXG7TR.cjs → chunk-WJX3ZSOE.cjs} +33 -33
  53. package/dist/{chunk-U3IXG7TR.cjs.map → chunk-WJX3ZSOE.cjs.map} +1 -1
  54. package/dist/{chunk-XGX6JSEU.js → chunk-YPXXXX6R.js} +2086 -1644
  55. package/dist/chunk-YPXXXX6R.js.map +1 -0
  56. package/dist/{chunk-P2ASEPA2.cjs → chunk-ZS3YCJYY.cjs} +6 -6
  57. package/dist/{chunk-P2ASEPA2.cjs.map → chunk-ZS3YCJYY.cjs.map} +1 -1
  58. package/dist/components/case-studies/index.cjs +16 -16
  59. package/dist/components/case-studies/index.js +4 -4
  60. package/dist/components/chat/ai-assistant-info.d.ts.map +1 -1
  61. package/dist/components/chat/approval-request-message.d.ts.map +1 -1
  62. package/dist/components/chat/chat-appearance-context.d.ts +9 -0
  63. package/dist/components/chat/chat-appearance-context.d.ts.map +1 -0
  64. package/dist/components/chat/chat-input.d.ts.map +1 -1
  65. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  66. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  67. package/dist/components/chat/chat-nav-sidebar.d.ts +50 -0
  68. package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -0
  69. package/dist/components/chat/chat-top-navigation.d.ts +29 -0
  70. package/dist/components/chat/chat-top-navigation.d.ts.map +1 -0
  71. package/dist/components/chat/error-message-display.d.ts.map +1 -1
  72. package/dist/components/chat/index.cjs +21 -3
  73. package/dist/components/chat/index.cjs.map +1 -1
  74. package/dist/components/chat/index.d.ts +6 -0
  75. package/dist/components/chat/index.d.ts.map +1 -1
  76. package/dist/components/chat/index.js +20 -2
  77. package/dist/components/chat/msp-organization-card.d.ts +7 -1
  78. package/dist/components/chat/msp-organization-card.d.ts.map +1 -1
  79. package/dist/components/chat/onboarding-carousel.d.ts +29 -0
  80. package/dist/components/chat/onboarding-carousel.d.ts.map +1 -0
  81. package/dist/components/chat/system-event-message.d.ts +14 -0
  82. package/dist/components/chat/system-event-message.d.ts.map +1 -0
  83. package/dist/components/chat/types/chat.types.d.ts +13 -0
  84. package/dist/components/chat/types/chat.types.d.ts.map +1 -1
  85. package/dist/components/chat/types/component.types.d.ts +20 -1
  86. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  87. package/dist/components/contact/index.cjs +5 -5
  88. package/dist/components/contact/index.js +4 -4
  89. package/dist/components/docs/index.cjs +8 -8
  90. package/dist/components/docs/index.js +7 -7
  91. package/dist/components/embeds/index.cjs +5 -5
  92. package/dist/components/embeds/index.js +4 -4
  93. package/dist/components/faq/index.cjs +5 -5
  94. package/dist/components/faq/index.js +4 -4
  95. package/dist/components/features/index.cjs +4 -4
  96. package/dist/components/features/index.js +3 -3
  97. package/dist/components/help-center-pages/index.cjs +91 -91
  98. package/dist/components/help-center-pages/index.js +15 -15
  99. package/dist/components/index.cjs +73 -55
  100. package/dist/components/index.cjs.map +1 -1
  101. package/dist/components/index.js +33 -15
  102. package/dist/components/index.js.map +1 -1
  103. package/dist/components/meeting-scheduler/index.cjs +41 -41
  104. package/dist/components/meeting-scheduler/index.js +3 -3
  105. package/dist/components/navigation/index.cjs +7 -7
  106. package/dist/components/navigation/index.js +6 -6
  107. package/dist/components/onboarding-guides/index.cjs +7 -7
  108. package/dist/components/onboarding-guides/index.js +6 -6
  109. package/dist/components/related-content/index.cjs +3 -3
  110. package/dist/components/related-content/index.js +2 -2
  111. package/dist/components/tickets/index.cjs +8 -8
  112. package/dist/components/tickets/index.js +7 -7
  113. package/dist/components/ui/avatar-stack.d.ts +5 -1
  114. package/dist/components/ui/avatar-stack.d.ts.map +1 -1
  115. package/dist/components/ui/index.cjs +22 -4
  116. package/dist/components/ui/index.cjs.map +1 -1
  117. package/dist/components/ui/index.js +21 -3
  118. package/dist/components/ui/reopen-ticket-request-modal.d.ts +4 -1
  119. package/dist/components/ui/reopen-ticket-request-modal.d.ts.map +1 -1
  120. package/dist/components/ui/tab-navigation.d.ts +7 -0
  121. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  122. package/dist/index.cjs +27 -9
  123. package/dist/index.cjs.map +1 -1
  124. package/dist/index.js +25 -7
  125. package/dist/index.js.map +1 -1
  126. package/package.json +1 -1
  127. package/src/components/chat/__tests__/chat-appearance.test.tsx +79 -0
  128. package/src/components/chat/__tests__/onboarding-carousel.test.tsx +56 -0
  129. package/src/components/chat/ai-assistant-info.tsx +7 -1
  130. package/src/components/chat/approval-request-message.tsx +6 -1
  131. package/src/components/chat/chat-appearance-context.tsx +15 -0
  132. package/src/components/chat/chat-input.tsx +26 -1
  133. package/src/components/chat/chat-message-enhanced.tsx +180 -142
  134. package/src/components/chat/chat-message-list.tsx +169 -164
  135. package/src/components/chat/chat-nav-sidebar.tsx +163 -0
  136. package/src/components/chat/chat-top-navigation.tsx +109 -0
  137. package/src/components/chat/error-message-display.tsx +21 -3
  138. package/src/components/chat/index.ts +6 -0
  139. package/src/components/chat/msp-organization-card.tsx +35 -0
  140. package/src/components/chat/onboarding-carousel.tsx +162 -0
  141. package/src/components/chat/system-event-message.tsx +54 -0
  142. package/src/components/chat/types/chat.types.ts +15 -0
  143. package/src/components/chat/types/component.types.ts +20 -0
  144. package/src/components/ui/__tests__/avatar-stack.test.tsx +25 -0
  145. package/src/components/ui/__tests__/tab-navigation.test.tsx +56 -2
  146. package/src/components/ui/avatar-stack.tsx +15 -5
  147. package/src/components/ui/reopen-ticket-request-modal.tsx +6 -2
  148. package/src/components/ui/tab-navigation.tsx +23 -0
  149. package/src/stories/FaeLayoutV2.stories.tsx +150 -0
  150. package/src/stories/FaeOnboardingV2.stories.tsx +68 -0
  151. package/src/stories/FaeThreadV2.stories.tsx +192 -0
  152. package/src/stories/fae-brand-decorator.tsx +28 -0
  153. package/src/styles/ods-colors.css +10 -0
  154. package/src/styles/ods-effects.css +13 -0
  155. package/dist/chunk-A3CSQB4A.cjs.map +0 -1
  156. package/dist/chunk-DQOQ3KTP.cjs.map +0 -1
  157. package/dist/chunk-M4HYIXP6.cjs.map +0 -1
  158. package/dist/chunk-T6KWNJDW.js.map +0 -1
  159. package/dist/chunk-XGX6JSEU.js.map +0 -1
  160. /package/dist/{chunk-65KTXRBY.js.map → chunk-2G2CB7ZZ.js.map} +0 -0
  161. /package/dist/{chunk-XW7MUIW4.js.map → chunk-3NIZ2VLQ.js.map} +0 -0
  162. /package/dist/{chunk-ZF4Z36G4.js.map → chunk-4RJQMOQW.js.map} +0 -0
  163. /package/dist/{chunk-7XF63THA.js.map → chunk-ASBBGP36.js.map} +0 -0
  164. /package/dist/{chunk-O7LOZW4R.js.map → chunk-C5TFPMOM.js.map} +0 -0
  165. /package/dist/{chunk-TUG7IT6H.js.map → chunk-HLEXYTOE.js.map} +0 -0
  166. /package/dist/{chunk-GXV6UEVY.js.map → chunk-IELOPDTA.js.map} +0 -0
  167. /package/dist/{chunk-B32YLOYQ.js.map → chunk-JBJZL5PI.js.map} +0 -0
  168. /package/dist/{chunk-UT333EOT.js.map → chunk-LCOMNQLX.js.map} +0 -0
  169. /package/dist/{chunk-WJK2EETW.js.map → chunk-NINO3PI7.js.map} +0 -0
  170. /package/dist/{chunk-PSQKD6ZN.js.map → chunk-PG65AE3I.js.map} +0 -0
  171. /package/dist/{chunk-BZ2XOEHW.js.map → chunk-QOH45QSE.js.map} +0 -0
  172. /package/dist/{chunk-Y7ZYOQNB.js.map → chunk-RSMAVO2Z.js.map} +0 -0
  173. /package/dist/{chunk-GHLGXFNU.js.map → chunk-U6JC3RS2.js.map} +0 -0
  174. /package/dist/{chunk-N4Z6X5BV.js.map → chunk-WFH52OVQ.js.map} +0 -0
@@ -963,6 +963,82 @@ function DepartmentBadge({
963
963
  );
964
964
  }
965
965
 
966
+ // src/components/ui/avatar-stack.tsx
967
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
968
+ var SIZE_PX = { xs: 24, sm: 32, md: 40, lg: 48 };
969
+ var OVERLAP_PX = { xs: 8, sm: 12, md: 12, lg: 12 };
970
+ var OVERFLOW_CIRCLE_SIZE = {
971
+ xs: "h-6 min-w-6",
972
+ sm: "h-8 min-w-8",
973
+ md: "h-10 min-w-10",
974
+ lg: "h-12 min-w-12"
975
+ };
976
+ function AvatarStack({
977
+ people,
978
+ max = 3,
979
+ slots,
980
+ total,
981
+ size = "md",
982
+ ringClassName = "ring-ods-card",
983
+ label = "Assignees",
984
+ className
985
+ }) {
986
+ if (people.length === 0) return null;
987
+ const groupSize = Math.max(total ?? people.length, people.length);
988
+ const faces = slots ? groupSize > slots ? slots - 1 : slots : max;
989
+ const visible = people.slice(0, faces);
990
+ const overflow = people.slice(faces);
991
+ const overflowCount = groupSize - visible.length;
992
+ const names = people.map((p) => p.name).join(", ");
993
+ const unnamed = groupSize - people.length;
994
+ const compact = size === "xs";
995
+ return /* @__PURE__ */ jsxs5(
996
+ "div",
997
+ {
998
+ className: cn("flex items-center", slots && "shrink-0", className),
999
+ style: slots ? { width: SIZE_PX[size] + (slots - 1) * (SIZE_PX[size] - OVERLAP_PX[size]) } : void 0,
1000
+ role: "group",
1001
+ "aria-label": `${label}: ${names}${unnamed > 0 ? ` and ${unnamed} more` : ""}`,
1002
+ children: [
1003
+ visible.map((person, i) => /* @__PURE__ */ jsx9(
1004
+ SquareAvatar,
1005
+ {
1006
+ variant: "round",
1007
+ size,
1008
+ src: person.avatarUrl ?? void 0,
1009
+ alt: person.name,
1010
+ fallback: person.name,
1011
+ title: person.name,
1012
+ className: cn("relative ring-2", ringClassName, i > 0 && (compact ? "-ml-2" : "-ml-3")),
1013
+ style: { zIndex: visible.length - i }
1014
+ },
1015
+ person.key ?? `${person.name}-${i}`
1016
+ )),
1017
+ overflowCount > 0 && /* @__PURE__ */ jsxs5(
1018
+ "span",
1019
+ {
1020
+ title: overflow.length > 0 ? overflow.map((p) => p.name).join(", ") : `${overflowCount} more`,
1021
+ className: cn(
1022
+ "relative z-0 flex shrink-0 items-center justify-center rounded-full bg-ods-bg text-ods-text-secondary ring-2",
1023
+ ringClassName,
1024
+ // The circle tucks under the last face like every other avatar, so
1025
+ // its left edge is covered: the left padding equals that overlap,
1026
+ // centering "+N" in the part that shows. `min-w` (not a fixed
1027
+ // width) lets a two-digit count widen the circle instead of clipping.
1028
+ compact ? "-ml-2 pl-2 pr-1 text-badge" : "-ml-3 pl-3 pr-1.5 text-h6",
1029
+ OVERFLOW_CIRCLE_SIZE[size]
1030
+ ),
1031
+ children: [
1032
+ "+",
1033
+ overflowCount
1034
+ ]
1035
+ }
1036
+ )
1037
+ ]
1038
+ }
1039
+ );
1040
+ }
1041
+
966
1042
  // src/utils/image-proxy.ts
967
1043
  function getProxiedImageUrl(imageUrl, options) {
968
1044
  if (!imageUrl) return null;
@@ -1059,7 +1135,7 @@ function buildAnchorProps(href, isNewTab) {
1059
1135
  }
1060
1136
 
1061
1137
  // src/components/chat/entity-cards/entity-author-card.tsx
1062
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
1138
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
1063
1139
  var EMPTY_AUTHOR_PLACEHOLDER = {
1064
1140
  full_name: "\u2014",
1065
1141
  avatar_url: null,
@@ -1071,9 +1147,9 @@ function EntityMetadataValueCell({
1071
1147
  className,
1072
1148
  uppercase = true
1073
1149
  }) {
1074
- return /* @__PURE__ */ jsx9("div", { className: `flex flex-col gap-3 bg-ods-card p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-0", children: [
1075
- typeof value === "string" ? /* @__PURE__ */ jsx9("p", { className: "text-ods-text-primary text-h4", children: uppercase ? value.toLocaleUpperCase() : value }) : /* @__PURE__ */ jsx9("div", { className: "flex min-h-6 items-center", children: value }),
1076
- /* @__PURE__ */ jsx9("p", { className: "text-ods-text-secondary text-h6", children: label })
1150
+ return /* @__PURE__ */ jsx10("div", { className: `flex flex-col gap-3 bg-ods-card p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-0", children: [
1151
+ typeof value === "string" ? /* @__PURE__ */ jsx10("p", { className: "text-ods-text-primary text-h4", children: uppercase ? value.toLocaleUpperCase() : value }) : /* @__PURE__ */ jsx10("div", { className: "flex min-h-6 items-center", children: value }),
1152
+ /* @__PURE__ */ jsx10("p", { className: "text-ods-text-secondary text-h6", children: label })
1077
1153
  ] }) });
1078
1154
  }
1079
1155
  function EntityMetadataAuthorCell({
@@ -1084,8 +1160,8 @@ function EntityMetadataAuthorCell({
1084
1160
  }) {
1085
1161
  const trimmedName = typeof author.full_name === "string" ? author.full_name.trim() : "";
1086
1162
  const fullName = trimmedName || "Unknown Author";
1087
- return /* @__PURE__ */ jsxs5("div", { className: `flex items-center gap-3 bg-ods-card p-4 ${className ?? ""}`, children: [
1088
- /* @__PURE__ */ jsx9(
1163
+ return /* @__PURE__ */ jsxs6("div", { className: `flex items-center gap-3 bg-ods-card p-4 ${className ?? ""}`, children: [
1164
+ /* @__PURE__ */ jsx10(
1089
1165
  SquareAvatar,
1090
1166
  {
1091
1167
  src: author.avatar_url || "",
@@ -1095,9 +1171,9 @@ function EntityMetadataAuthorCell({
1095
1171
  variant: "round"
1096
1172
  }
1097
1173
  ),
1098
- /* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-1 flex-col gap-0", children: [
1099
- /* @__PURE__ */ jsx9("p", { className: "truncate text-ods-text-primary text-h3", title: fullName, children: authorHref && trimmedName ? /* @__PURE__ */ jsx9(next_link_default, { href: authorHref, className: "transition-colors hover:text-ods-accent", children: fullName }) : fullName }),
1100
- /* @__PURE__ */ jsx9("p", { className: "text-ods-text-secondary text-h6", children: author.job_title || roleLabel })
1174
+ /* @__PURE__ */ jsxs6("div", { className: "flex min-w-0 flex-1 flex-col gap-0", children: [
1175
+ /* @__PURE__ */ jsx10("p", { className: "truncate text-ods-text-primary text-h3", title: fullName, children: authorHref && trimmedName ? /* @__PURE__ */ jsx10(next_link_default, { href: authorHref, className: "transition-colors hover:text-ods-accent", children: fullName }) : fullName }),
1176
+ /* @__PURE__ */ jsx10("p", { className: "text-ods-text-secondary text-h6", children: author.job_title || roleLabel })
1101
1177
  ] })
1102
1178
  ] });
1103
1179
  }
@@ -1121,12 +1197,12 @@ function EntityAuthorCard({
1121
1197
  const totalCells = extras.length + (showDateCell ? 1 : 0) + 1;
1122
1198
  const gridColsClass = totalCells >= 4 ? "md:grid-cols-4" : totalCells === 3 ? "md:grid-cols-3" : totalCells === 2 ? "md:grid-cols-2" : "md:grid-cols-1";
1123
1199
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
1124
- return /* @__PURE__ */ jsxs5(
1200
+ return /* @__PURE__ */ jsxs6(
1125
1201
  "div",
1126
1202
  {
1127
1203
  className: `grid grid-cols-1 ${gridColsClass} w-full overflow-hidden rounded-md border border-ods-border ${className ?? ""}`,
1128
1204
  children: [
1129
- extras.map((cell, i) => /* @__PURE__ */ jsx9(
1205
+ extras.map((cell, i) => /* @__PURE__ */ jsx10(
1130
1206
  EntityMetadataValueCell,
1131
1207
  {
1132
1208
  value: cell.value,
@@ -1136,18 +1212,18 @@ function EntityAuthorCard({
1136
1212
  },
1137
1213
  `${cell.label}-${i}`
1138
1214
  )),
1139
- showDateCell && /* @__PURE__ */ jsx9(EntityMetadataValueCell, { value: dateLabel, label: publishedLabel, uppercase: false, className: dividerClass }),
1140
- /* @__PURE__ */ jsx9(EntityMetadataAuthorCell, { author: effectiveAuthor, roleLabel, authorHref })
1215
+ showDateCell && /* @__PURE__ */ jsx10(EntityMetadataValueCell, { value: dateLabel, label: publishedLabel, uppercase: false, className: dividerClass }),
1216
+ /* @__PURE__ */ jsx10(EntityMetadataAuthorCell, { author: effectiveAuthor, roleLabel, authorHref })
1141
1217
  ]
1142
1218
  }
1143
1219
  );
1144
1220
  }
1145
1221
 
1146
1222
  // src/components/chat/entity-cards/blog-image-placeholder.tsx
1147
- import { jsx as jsx10 } from "react/jsx-runtime";
1223
+ import { jsx as jsx11 } from "react/jsx-runtime";
1148
1224
  function BlogImagePlaceholder({ imageUrl, title, className = "" }) {
1149
1225
  if (!imageUrl) return null;
1150
- return /* @__PURE__ */ jsx10("span", { className: `relative block h-full w-full overflow-hidden bg-ods-bg ${className}`, children: /* @__PURE__ */ jsx10(
1226
+ return /* @__PURE__ */ jsx11("span", { className: `relative block h-full w-full overflow-hidden bg-ods-bg ${className}`, children: /* @__PURE__ */ jsx11(
1151
1227
  next_image_default,
1152
1228
  {
1153
1229
  src: imageUrl,
@@ -1183,7 +1259,7 @@ var hideOnError = (e) => {
1183
1259
 
1184
1260
  // src/components/chat/entity-cards/entity-portrait-card.tsx
1185
1261
  import { useState as useState3 } from "react";
1186
- import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
1262
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
1187
1263
  var MIN_WIDE_RATIO = 1.3;
1188
1264
  function EntityPortraitCard({
1189
1265
  href,
@@ -1208,13 +1284,13 @@ function EntityPortraitCard({
1208
1284
  }
1209
1285
  };
1210
1286
  const edgeColor = useImageEdgeColor(isWide === false ? src : null, "var(--color-bg-surface)");
1211
- return /* @__PURE__ */ jsx11("a", { href, target, rel, className: cn("block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ jsxs6(Card, { className: "flex h-full flex-col gap-6 overflow-hidden border border-ods-border bg-ods-card p-6 transition-all duration-200 hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08]", children: [
1212
- /* @__PURE__ */ jsx11(
1287
+ return /* @__PURE__ */ jsx12("a", { href, target, rel, className: cn("block h-full", className), "aria-label": `Open ${title}`, children: /* @__PURE__ */ jsxs7(Card, { className: "flex h-full flex-col gap-6 overflow-hidden border border-ods-border bg-ods-card p-6 transition-all duration-200 hover:border-ods-accent hover:shadow-lg hover:shadow-ods-accent/[0.08]", children: [
1288
+ /* @__PURE__ */ jsx12(
1213
1289
  "div",
1214
1290
  {
1215
1291
  className: "relative flex aspect-[1200/630] w-full shrink-0 items-center justify-center overflow-hidden rounded-sm bg-ods-bg transition-colors duration-300",
1216
1292
  style: isWide === false ? { backgroundColor: edgeColor } : void 0,
1217
- children: src && /* @__PURE__ */ jsx11(
1293
+ children: src && /* @__PURE__ */ jsx12(
1218
1294
  next_image_default,
1219
1295
  {
1220
1296
  src,
@@ -1229,8 +1305,8 @@ function EntityPortraitCard({
1229
1305
  )
1230
1306
  }
1231
1307
  ),
1232
- /* @__PURE__ */ jsxs6("div", { className: "flex h-[72px] shrink-0 flex-col justify-center gap-1.5", children: [
1233
- typeLabel && /* @__PURE__ */ jsx11(
1308
+ /* @__PURE__ */ jsxs7("div", { className: "flex h-[72px] shrink-0 flex-col justify-center gap-1.5", children: [
1309
+ typeLabel && /* @__PURE__ */ jsx12(
1234
1310
  StatusBadge,
1235
1311
  {
1236
1312
  variant: "button",
@@ -1240,7 +1316,7 @@ function EntityPortraitCard({
1240
1316
  className: "self-start"
1241
1317
  }
1242
1318
  ),
1243
- /* @__PURE__ */ jsx11(
1319
+ /* @__PURE__ */ jsx12(
1244
1320
  "h3",
1245
1321
  {
1246
1322
  className: cn(
@@ -1252,9 +1328,9 @@ function EntityPortraitCard({
1252
1328
  }
1253
1329
  )
1254
1330
  ] }),
1255
- /* @__PURE__ */ jsx11("div", { className: "flex h-[60px] shrink-0 items-center", children: person && /* @__PURE__ */ jsxs6("div", { className: "flex w-full min-w-0 items-center gap-3", children: [
1256
- /* @__PURE__ */ jsxs6("div", { className: "relative h-12 w-12 shrink-0", children: [
1257
- person.avatarUrl ? /* @__PURE__ */ jsx11(
1331
+ /* @__PURE__ */ jsx12("div", { className: "flex h-[60px] shrink-0 items-center", children: person && /* @__PURE__ */ jsxs7("div", { className: "flex w-full min-w-0 items-center gap-3", children: [
1332
+ /* @__PURE__ */ jsxs7("div", { className: "relative h-12 w-12 shrink-0", children: [
1333
+ person.avatarUrl ? /* @__PURE__ */ jsx12(
1258
1334
  next_image_default,
1259
1335
  {
1260
1336
  src: person.avatarUrl,
@@ -1264,8 +1340,8 @@ function EntityPortraitCard({
1264
1340
  height: 48,
1265
1341
  unoptimized: true
1266
1342
  }
1267
- ) : /* @__PURE__ */ jsx11("div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx11("span", { className: "text-ods-text-secondary text-h4", children: person.name.charAt(0).toUpperCase() }) }),
1268
- person.iconOverlayUrl && /* @__PURE__ */ jsx11("div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ jsx11(
1343
+ ) : /* @__PURE__ */ jsx12("div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx12("span", { className: "text-ods-text-secondary text-h4", children: person.name.charAt(0).toUpperCase() }) }),
1344
+ person.iconOverlayUrl && /* @__PURE__ */ jsx12("div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ jsx12(
1269
1345
  next_image_default,
1270
1346
  {
1271
1347
  src: person.iconOverlayUrl,
@@ -1277,9 +1353,9 @@ function EntityPortraitCard({
1277
1353
  }
1278
1354
  ) })
1279
1355
  ] }),
1280
- /* @__PURE__ */ jsxs6("div", { className: "flex min-w-0 flex-col", children: [
1281
- /* @__PURE__ */ jsx11("span", { className: "truncate font-bold text-ods-text-primary text-h6", children: person.name }),
1282
- person.subtitle && /* @__PURE__ */ jsx11("span", { className: "truncate text-ods-text-secondary text-h6", children: person.subtitle })
1356
+ /* @__PURE__ */ jsxs7("div", { className: "flex min-w-0 flex-col", children: [
1357
+ /* @__PURE__ */ jsx12("span", { className: "truncate font-bold text-ods-text-primary text-h6", children: person.name }),
1358
+ person.subtitle && /* @__PURE__ */ jsx12("span", { className: "truncate text-ods-text-secondary text-h6", children: person.subtitle })
1283
1359
  ] })
1284
1360
  ] }) })
1285
1361
  ] }) });
@@ -1289,14 +1365,14 @@ function EntityPortraitCard({
1289
1365
  import { Globe } from "lucide-react";
1290
1366
 
1291
1367
  // src/components/flamingo-logo.tsx
1292
- import { jsx as jsx12 } from "react/jsx-runtime";
1368
+ import { jsx as jsx13 } from "react/jsx-runtime";
1293
1369
  function FlamingoLogo({
1294
1370
  className = "",
1295
1371
  color = "var(--ods-flamingo-pink-base)",
1296
1372
  size = 120,
1297
1373
  ...props
1298
1374
  }) {
1299
- return /* @__PURE__ */ jsx12(
1375
+ return /* @__PURE__ */ jsx13(
1300
1376
  "svg",
1301
1377
  {
1302
1378
  width: size,
@@ -1305,7 +1381,7 @@ function FlamingoLogo({
1305
1381
  xmlns: "http://www.w3.org/2000/svg",
1306
1382
  className,
1307
1383
  ...props,
1308
- children: /* @__PURE__ */ jsx12(
1384
+ children: /* @__PURE__ */ jsx13(
1309
1385
  "path",
1310
1386
  {
1311
1387
  fillRule: "evenodd",
@@ -1319,7 +1395,7 @@ function FlamingoLogo({
1319
1395
  }
1320
1396
 
1321
1397
  // src/components/openmsp-logo.tsx
1322
- import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
1398
+ import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
1323
1399
  function OpenmspLogo({
1324
1400
  className = "",
1325
1401
  frontBubbleColor = "#000000",
@@ -1327,7 +1403,7 @@ function OpenmspLogo({
1327
1403
  backBubbleColor = "#ffffff",
1328
1404
  ...props
1329
1405
  }) {
1330
- return /* @__PURE__ */ jsxs7(
1406
+ return /* @__PURE__ */ jsxs8(
1331
1407
  "svg",
1332
1408
  {
1333
1409
  width: "97",
@@ -1338,35 +1414,35 @@ function OpenmspLogo({
1338
1414
  className,
1339
1415
  ...props,
1340
1416
  children: [
1341
- /* @__PURE__ */ jsx13(
1417
+ /* @__PURE__ */ jsx14(
1342
1418
  "path",
1343
1419
  {
1344
1420
  d: "M73.933 0C75.7003 0 77.133 1.43269 77.133 3.2V54.4C77.133 56.1673 75.7003 57.6 73.933 57.6H3.53301C1.7657 57.6 0.333008 56.1673 0.333008 54.4V3.2C0.333008 1.43269 1.7657 0 3.53301 0H73.933ZM10.1076 47.6494C10.1076 48.0912 10.4658 48.4494 10.9076 48.4494H66.5584C67.0002 48.4494 67.3584 48.0912 67.3584 47.6494V9.95059C67.3584 9.50876 67.0002 9.15059 66.5584 9.15059H10.9076C10.4658 9.15059 10.1076 9.50876 10.1076 9.95059V47.6494Z",
1345
1421
  fill: backBubbleColor
1346
1422
  }
1347
1423
  ),
1348
- /* @__PURE__ */ jsx13(
1424
+ /* @__PURE__ */ jsx14(
1349
1425
  "path",
1350
1426
  {
1351
1427
  d: "M19.5332 22.4C19.5332 20.6326 20.9659 19.2 22.7332 19.2H93.1332C94.9005 19.2 96.3332 20.6326 96.3332 22.4V76.8C96.3332 78.2222 95.3945 79.4737 94.0292 79.8719L39.7572 95.7013C39.2452 95.8506 38.7332 95.4666 38.7332 94.9333V80C38.7332 79.5581 38.375 79.2 37.9332 79.2H22.7332C20.9659 79.2 19.5332 77.7673 19.5332 76V22.4Z",
1352
1428
  fill: innerFrontBubbleColor
1353
1429
  }
1354
1430
  ),
1355
- /* @__PURE__ */ jsx13(
1431
+ /* @__PURE__ */ jsx14(
1356
1432
  "path",
1357
1433
  {
1358
1434
  d: "M93.1332 19.2C94.9005 19.2 96.3332 20.6326 96.3332 22.4V76.8C96.3332 78.2222 95.3945 79.4737 94.0292 79.8719L39.7572 95.7013C39.2452 95.8506 38.7332 95.4666 38.7332 94.9333V80C38.7332 79.5581 38.375 79.2 37.9332 79.2H22.7332C20.9659 79.2 19.5332 77.7673 19.5332 76V22.4C19.5332 20.6326 20.9659 19.2 22.7332 19.2H93.1332ZM48.3377 82.1286C48.3355 82.6633 48.8484 83.0497 49.3617 82.9L86.1572 72.1672C86.4985 72.0676 86.7332 71.7547 86.7332 71.3992V29.6C86.7332 29.1581 86.375 28.8 85.9332 28.8H29.9332C29.4914 28.8 29.1332 29.1581 29.1332 29.6V68.8C29.1332 69.2418 29.4914 69.6 29.9332 69.6H47.5869C48.03 69.6 48.3887 69.9602 48.3869 70.4033L48.3377 82.1286Z",
1359
1435
  fill: frontBubbleColor
1360
1436
  }
1361
1437
  ),
1362
- /* @__PURE__ */ jsx13("circle", { cx: "45.1334", cy: "44.8", r: "6.4", fill: frontBubbleColor })
1438
+ /* @__PURE__ */ jsx14("circle", { cx: "45.1334", cy: "44.8", r: "6.4", fill: frontBubbleColor })
1363
1439
  ]
1364
1440
  }
1365
1441
  );
1366
1442
  }
1367
1443
 
1368
1444
  // src/components/features/platform-badge.tsx
1369
- import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
1445
+ import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
1370
1446
  var sizeClasses = {
1371
1447
  xs: {
1372
1448
  container: "gap-1 px-1.5 py-0.5",
@@ -1389,7 +1465,7 @@ var PlatformIcon = ({ platform, className }) => {
1389
1465
  const size = sizeMatch ? parseInt(sizeMatch[1]) * 4 : 16;
1390
1466
  switch (platform) {
1391
1467
  case "openmsp":
1392
- return /* @__PURE__ */ jsx14(
1468
+ return /* @__PURE__ */ jsx15(
1393
1469
  OpenmspLogo,
1394
1470
  {
1395
1471
  className,
@@ -1400,19 +1476,19 @@ var PlatformIcon = ({ platform, className }) => {
1400
1476
  );
1401
1477
  case "flamingo":
1402
1478
  case "flamingo-teaser":
1403
- return /* @__PURE__ */ jsx14(FlamingoLogo, { className });
1479
+ return /* @__PURE__ */ jsx15(FlamingoLogo, { className });
1404
1480
  case "openframe":
1405
- return /* @__PURE__ */ jsx14(OpenFrameLogo, { className });
1481
+ return /* @__PURE__ */ jsx15(OpenFrameLogo, { className });
1406
1482
  case "tmcg":
1407
- return /* @__PURE__ */ jsx14(MiamiCyberGangLogoFaceOnly, { size, className });
1483
+ return /* @__PURE__ */ jsx15(MiamiCyberGangLogoFaceOnly, { size, className });
1408
1484
  case "company-hub":
1409
1485
  case "marketing-hub":
1410
1486
  case "product-hub":
1411
1487
  case "revenue-hub":
1412
1488
  case "people-hub":
1413
- return /* @__PURE__ */ jsx14(FlamingoLogo, { className, fill: "currentColor" });
1489
+ return /* @__PURE__ */ jsx15(FlamingoLogo, { className, fill: "currentColor" });
1414
1490
  default:
1415
- return /* @__PURE__ */ jsx14(Globe, { className });
1491
+ return /* @__PURE__ */ jsx15(Globe, { className });
1416
1492
  }
1417
1493
  };
1418
1494
  function PlatformBadge({ platform, size = "sm", showLabel = true, className }) {
@@ -1421,7 +1497,7 @@ function PlatformBadge({ platform, size = "sm", showLabel = true, className }) {
1421
1497
  }
1422
1498
  const sizes = sizeClasses[size];
1423
1499
  const colors = getPlatformBrandClasses(platform.name);
1424
- return /* @__PURE__ */ jsxs8(
1500
+ return /* @__PURE__ */ jsxs9(
1425
1501
  "div",
1426
1502
  {
1427
1503
  className: cn(
@@ -1434,8 +1510,8 @@ function PlatformBadge({ platform, size = "sm", showLabel = true, className }) {
1434
1510
  className
1435
1511
  ),
1436
1512
  children: [
1437
- /* @__PURE__ */ jsx14(PlatformIcon, { platform: platform.name, className: sizes.icon }),
1438
- showLabel && /* @__PURE__ */ jsx14("span", { className: sizes.text, children: platform.display_name || platform.name })
1513
+ /* @__PURE__ */ jsx15(PlatformIcon, { platform: platform.name, className: sizes.icon }),
1514
+ showLabel && /* @__PURE__ */ jsx15("span", { className: sizes.text, children: platform.display_name || platform.name })
1439
1515
  ]
1440
1516
  }
1441
1517
  );
@@ -1443,7 +1519,7 @@ function PlatformBadge({ platform, size = "sm", showLabel = true, className }) {
1443
1519
 
1444
1520
  // src/components/chat/entity-cards/admin-content-card.tsx
1445
1521
  import { useState as useState4 } from "react";
1446
- import { Fragment as Fragment2, jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
1522
+ import { Fragment as Fragment2, jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
1447
1523
  function AdminContentCard({
1448
1524
  imageUrl,
1449
1525
  placeholderUrl,
@@ -1462,7 +1538,7 @@ function AdminContentCard({
1462
1538
  const displayUrl = imageUrl && !imageError ? imageUrl : placeholderUrl;
1463
1539
  const imageLoaded = Boolean(displayUrl) && loadedUrl === displayUrl;
1464
1540
  const imageBgColor = useImageEdgeColor(displayUrl || null, "transparent");
1465
- return /* @__PURE__ */ jsxs9(
1541
+ return /* @__PURE__ */ jsxs10(
1466
1542
  "article",
1467
1543
  {
1468
1544
  className: cn(
@@ -1475,9 +1551,9 @@ function AdminContentCard({
1475
1551
  className
1476
1552
  ),
1477
1553
  children: [
1478
- /* @__PURE__ */ jsx15("div", { className: "relative aspect-[3/2] w-full shrink-0 overflow-hidden", style: { backgroundColor: imageBgColor }, children: displayUrl ? /* @__PURE__ */ jsxs9(Fragment2, { children: [
1479
- !imageLoaded && /* @__PURE__ */ jsx15("div", { className: "absolute inset-0 animate-pulse bg-ods-border/20" }),
1480
- /* @__PURE__ */ jsx15(
1554
+ /* @__PURE__ */ jsx16("div", { className: "relative aspect-[3/2] w-full shrink-0 overflow-hidden", style: { backgroundColor: imageBgColor }, children: displayUrl ? /* @__PURE__ */ jsxs10(Fragment2, { children: [
1555
+ !imageLoaded && /* @__PURE__ */ jsx16("div", { className: "absolute inset-0 animate-pulse bg-ods-border/20" }),
1556
+ /* @__PURE__ */ jsx16(
1481
1557
  next_image_default,
1482
1558
  {
1483
1559
  src: displayUrl,
@@ -1495,13 +1571,13 @@ function AdminContentCard({
1495
1571
  onError: () => setImageError(true)
1496
1572
  }
1497
1573
  )
1498
- ] }) : /* @__PURE__ */ jsx15("div", { className: "absolute inset-0 bg-ods-bg" }) }),
1499
- /* @__PURE__ */ jsxs9("div", { className: "flex flex-1 flex-col gap-3 p-5", children: [
1500
- /* @__PURE__ */ jsx15("h3", { className: cn("line-clamp-2 break-words text-ods-text-primary text-h3", reserveRows && "min-h-[2lh]"), children: title }),
1501
- (subtitle || reserveRows) && /* @__PURE__ */ jsx15("p", { className: cn("truncate text-ods-text-secondary text-h6", reserveRows && "min-h-[1lh]"), children: subtitle }),
1502
- (summary || reserveRows) && /* @__PURE__ */ jsx15("p", { className: cn("line-clamp-2 text-ods-text-secondary text-h6", reserveRows && "min-h-[2lh]"), children: summary }),
1503
- (Number(platforms?.length) > 0 || badges || reserveRows) && /* @__PURE__ */ jsxs9("div", { className: cn("flex flex-wrap items-center gap-2", reserveRows && "min-h-7"), children: [
1504
- platforms?.map((p) => /* @__PURE__ */ jsx15(
1574
+ ] }) : /* @__PURE__ */ jsx16("div", { className: "absolute inset-0 bg-ods-bg" }) }),
1575
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-1 flex-col gap-3 p-5", children: [
1576
+ /* @__PURE__ */ jsx16("h3", { className: cn("line-clamp-2 break-words text-ods-text-primary text-h3", reserveRows && "min-h-[2lh]"), children: title }),
1577
+ (subtitle || reserveRows) && /* @__PURE__ */ jsx16("p", { className: cn("truncate text-ods-text-secondary text-h6", reserveRows && "min-h-[1lh]"), children: subtitle }),
1578
+ (summary || reserveRows) && /* @__PURE__ */ jsx16("p", { className: cn("line-clamp-2 text-ods-text-secondary text-h6", reserveRows && "min-h-[2lh]"), children: summary }),
1579
+ (Number(platforms?.length) > 0 || badges || reserveRows) && /* @__PURE__ */ jsxs10("div", { className: cn("flex flex-wrap items-center gap-2", reserveRows && "min-h-7"), children: [
1580
+ platforms?.map((p) => /* @__PURE__ */ jsx16(
1505
1581
  PlatformBadge,
1506
1582
  {
1507
1583
  platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
@@ -1511,8 +1587,8 @@ function AdminContentCard({
1511
1587
  )),
1512
1588
  badges
1513
1589
  ] }),
1514
- (meta || reserveRows) && /* @__PURE__ */ jsx15("div", { className: cn("flex items-center gap-3 text-ods-text-secondary text-h6", reserveRows && "min-h-[1lh]"), children: meta }),
1515
- actions && /* @__PURE__ */ jsx15("div", { className: "mt-auto flex items-center justify-between border-t border-ods-border pt-3", children: actions })
1590
+ (meta || reserveRows) && /* @__PURE__ */ jsx16("div", { className: cn("flex items-center gap-3 text-ods-text-secondary text-h6", reserveRows && "min-h-[1lh]"), children: meta }),
1591
+ actions && /* @__PURE__ */ jsx16("div", { className: "mt-auto flex items-center justify-between border-t border-ods-border pt-3", children: actions })
1516
1592
  ] })
1517
1593
  ]
1518
1594
  }
@@ -1535,7 +1611,7 @@ function getProxiedImageUrl2(imageUrl) {
1535
1611
  }
1536
1612
 
1537
1613
  // src/components/chat/entity-cards/employee-entry-card.tsx
1538
- import { Fragment as Fragment3, jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
1614
+ import { Fragment as Fragment3, jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1539
1615
  var STATUS_BADGE_SCHEME = {
1540
1616
  published: "success",
1541
1617
  draft: "warning",
@@ -1548,7 +1624,7 @@ var STATUS_BADGE_SCHEME = {
1548
1624
  abandoned: "default"
1549
1625
  };
1550
1626
  function EmployeeEntryBadge({ children }) {
1551
- return /* @__PURE__ */ jsx16(StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
1627
+ return /* @__PURE__ */ jsx17(StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
1552
1628
  }
1553
1629
  function EmployeeEntryCard({
1554
1630
  entry,
@@ -1560,15 +1636,15 @@ function EmployeeEntryCard({
1560
1636
  anchorProps,
1561
1637
  className
1562
1638
  }) {
1563
- const card = /* @__PURE__ */ jsx16(
1639
+ const card = /* @__PURE__ */ jsx17(
1564
1640
  AdminContentCard,
1565
1641
  {
1566
1642
  imageUrl: entry.featured_image || entry.main_video_thumbnail,
1567
1643
  placeholderUrl,
1568
1644
  title: entry.title || untitledLabel,
1569
1645
  summary: (entry.summary ?? "").slice(0, 140) || "No description",
1570
- badges: entry.status || extraBadges ? /* @__PURE__ */ jsxs10(Fragment3, { children: [
1571
- entry.status ? /* @__PURE__ */ jsx16(
1646
+ badges: entry.status || extraBadges ? /* @__PURE__ */ jsxs11(Fragment3, { children: [
1647
+ entry.status ? /* @__PURE__ */ jsx17(
1572
1648
  StatusBadge,
1573
1649
  {
1574
1650
  text: entry.status,
@@ -1579,9 +1655,9 @@ function EmployeeEntryCard({
1579
1655
  ) : null,
1580
1656
  extraBadges
1581
1657
  ] }) : null,
1582
- meta: /* @__PURE__ */ jsxs10(Fragment3, { children: [
1583
- /* @__PURE__ */ jsxs10("span", { className: "flex min-w-0 items-center gap-2", children: [
1584
- entry.author?.avatar_url ? /* @__PURE__ */ jsx16(
1658
+ meta: /* @__PURE__ */ jsxs11(Fragment3, { children: [
1659
+ /* @__PURE__ */ jsxs11("span", { className: "flex min-w-0 items-center gap-2", children: [
1660
+ entry.author?.avatar_url ? /* @__PURE__ */ jsx17(
1585
1661
  next_image_default,
1586
1662
  {
1587
1663
  src: getProxiedImageUrl2(entry.author.avatar_url) ?? entry.author.avatar_url,
@@ -1592,30 +1668,30 @@ function EmployeeEntryCard({
1592
1668
  unoptimized: true
1593
1669
  }
1594
1670
  ) : null,
1595
- /* @__PURE__ */ jsx16("span", { className: "truncate", children: entry.author?.full_name ?? "" })
1671
+ /* @__PURE__ */ jsx17("span", { className: "truncate", children: entry.author?.full_name ?? "" })
1596
1672
  ] }),
1597
- dateLabel ? /* @__PURE__ */ jsx16("span", { children: dateLabel }) : null
1673
+ dateLabel ? /* @__PURE__ */ jsx17("span", { children: dateLabel }) : null
1598
1674
  ] }),
1599
1675
  actions,
1600
1676
  className
1601
1677
  }
1602
1678
  );
1603
- return anchorProps ? /* @__PURE__ */ jsx16("a", { ...anchorProps, className: "block h-full", children: card }) : card;
1679
+ return anchorProps ? /* @__PURE__ */ jsx17("a", { ...anchorProps, className: "block h-full", children: card }) : card;
1604
1680
  }
1605
1681
  function EmployeeEntryCardSkeleton({ className }) {
1606
- return /* @__PURE__ */ jsxs10(
1682
+ return /* @__PURE__ */ jsxs11(
1607
1683
  "div",
1608
1684
  {
1609
1685
  className: `group flex h-full animate-pulse flex-col overflow-hidden rounded-2xl border border-ods-border bg-ods-card ${className ?? ""}`,
1610
1686
  children: [
1611
- /* @__PURE__ */ jsx16("div", { className: "aspect-[3/2] bg-ods-bg" }),
1612
- /* @__PURE__ */ jsxs10("div", { className: "flex flex-grow flex-col space-y-3 p-4", children: [
1613
- /* @__PURE__ */ jsx16("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
1614
- /* @__PURE__ */ jsx16("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
1615
- /* @__PURE__ */ jsx16("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" }),
1616
- /* @__PURE__ */ jsxs10("div", { className: "mt-auto flex items-center gap-2", children: [
1617
- /* @__PURE__ */ jsx16("div", { className: "h-8 w-8 rounded-full bg-ods-bg" }),
1618
- /* @__PURE__ */ jsx16("div", { className: "h-3 w-24 rounded bg-ods-bg/60" })
1687
+ /* @__PURE__ */ jsx17("div", { className: "aspect-[3/2] bg-ods-bg" }),
1688
+ /* @__PURE__ */ jsxs11("div", { className: "flex flex-grow flex-col space-y-3 p-4", children: [
1689
+ /* @__PURE__ */ jsx17("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
1690
+ /* @__PURE__ */ jsx17("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
1691
+ /* @__PURE__ */ jsx17("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" }),
1692
+ /* @__PURE__ */ jsxs11("div", { className: "mt-auto flex items-center gap-2", children: [
1693
+ /* @__PURE__ */ jsx17("div", { className: "h-8 w-8 rounded-full bg-ods-bg" }),
1694
+ /* @__PURE__ */ jsx17("div", { className: "h-3 w-24 rounded bg-ods-bg/60" })
1619
1695
  ] })
1620
1696
  ] })
1621
1697
  ]
@@ -1624,9 +1700,9 @@ function EmployeeEntryCardSkeleton({ className }) {
1624
1700
  }
1625
1701
 
1626
1702
  // src/components/chat/entity-cards/what-i-shipped-card.tsx
1627
- import { jsx as jsx17 } from "react/jsx-runtime";
1703
+ import { jsx as jsx18 } from "react/jsx-runtime";
1628
1704
  function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, className }) {
1629
- return /* @__PURE__ */ jsx17(
1705
+ return /* @__PURE__ */ jsx18(
1630
1706
  EmployeeEntryCard,
1631
1707
  {
1632
1708
  entry,
@@ -1641,17 +1717,17 @@ function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, classNa
1641
1717
  var WhatIShippedCardSkeleton = EmployeeEntryCardSkeleton;
1642
1718
 
1643
1719
  // src/components/chat/entity-cards/how-i-work-card.tsx
1644
- import { jsx as jsx18 } from "react/jsx-runtime";
1720
+ import { jsx as jsx19 } from "react/jsx-runtime";
1645
1721
  function disciplineLabel(discipline) {
1646
1722
  return discipline.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase());
1647
1723
  }
1648
1724
  function HowIWorkCard({ entry, placeholderUrl, actions, anchorProps, className }) {
1649
- return /* @__PURE__ */ jsx18(
1725
+ return /* @__PURE__ */ jsx19(
1650
1726
  EmployeeEntryCard,
1651
1727
  {
1652
1728
  entry,
1653
1729
  dateLabel: entry.session_date ? formatDateUTC(entry.session_date, { fallback: "" }) || null : null,
1654
- extraBadges: entry.discipline ? /* @__PURE__ */ jsx18(EmployeeEntryBadge, { children: disciplineLabel(entry.discipline) }) : null,
1730
+ extraBadges: entry.discipline ? /* @__PURE__ */ jsx19(EmployeeEntryBadge, { children: disciplineLabel(entry.discipline) }) : null,
1655
1731
  untitledLabel: "Untitled session",
1656
1732
  placeholderUrl,
1657
1733
  actions,
@@ -1663,18 +1739,18 @@ function HowIWorkCard({ entry, placeholderUrl, actions, anchorProps, className }
1663
1739
  var HowIWorkCardSkeleton = EmployeeEntryCardSkeleton;
1664
1740
 
1665
1741
  // src/components/chat/entity-cards/ai-prompt-card.tsx
1666
- import { Fragment as Fragment4, jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
1742
+ import { Fragment as Fragment4, jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
1667
1743
  function AiPromptCard({ entry, placeholderUrl, actions, anchorProps, className }) {
1668
1744
  const departmentName = entry.department?.name?.trim();
1669
1745
  const steps = typeof entry.step_count === "number" ? entry.step_count : 0;
1670
- return /* @__PURE__ */ jsx19(
1746
+ return /* @__PURE__ */ jsx20(
1671
1747
  EmployeeEntryCard,
1672
1748
  {
1673
1749
  entry,
1674
1750
  dateLabel: entry.published_at ? formatDateUTC(entry.published_at, { fallback: "" }) || null : null,
1675
- extraBadges: /* @__PURE__ */ jsxs11(Fragment4, { children: [
1676
- departmentName ? /* @__PURE__ */ jsx19(DepartmentBadge, { department: { name: departmentName, color: entry.department?.color ?? null } }) : null,
1677
- steps > 1 ? /* @__PURE__ */ jsx19(EmployeeEntryBadge, { children: `${steps} steps` }) : null
1751
+ extraBadges: /* @__PURE__ */ jsxs12(Fragment4, { children: [
1752
+ departmentName ? /* @__PURE__ */ jsx20(DepartmentBadge, { department: { name: departmentName, color: entry.department?.color ?? null } }) : null,
1753
+ steps > 1 ? /* @__PURE__ */ jsx20(EmployeeEntryBadge, { children: `${steps} steps` }) : null
1678
1754
  ] }),
1679
1755
  untitledLabel: "Untitled prompt",
1680
1756
  placeholderUrl,
@@ -1711,7 +1787,7 @@ function sortBitesByFeaturedAtDesc(a, b) {
1711
1787
 
1712
1788
  // src/components/shared/product-release/product-release-card.tsx
1713
1789
  import { AlertTriangle, Eye, Package, Play, Sparkles, TrendingUp, Wrench } from "lucide-react";
1714
- import { Fragment as Fragment5, jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
1790
+ import { Fragment as Fragment5, jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
1715
1791
  function ProductReleaseCard({
1716
1792
  title,
1717
1793
  summary,
@@ -1762,10 +1838,10 @@ function ProductReleaseCard({
1762
1838
  "no-underline",
1763
1839
  className
1764
1840
  );
1765
- const innerLayout = /* @__PURE__ */ jsxs12(Fragment5, { children: [
1766
- /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
1767
- /* @__PURE__ */ jsx20("div", { className: "w-full flex-shrink-0 md:w-[256px]", children: /* @__PURE__ */ jsxs12("div", { className: "relative aspect-[1200/630] w-full overflow-hidden rounded-lg bg-ods-bg", children: [
1768
- coverImage ? /* @__PURE__ */ jsx20(
1841
+ const innerLayout = /* @__PURE__ */ jsxs13(Fragment5, { children: [
1842
+ /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
1843
+ /* @__PURE__ */ jsx21("div", { className: "w-full flex-shrink-0 md:w-[256px]", children: /* @__PURE__ */ jsxs13("div", { className: "relative aspect-[1200/630] w-full overflow-hidden rounded-lg bg-ods-bg", children: [
1844
+ coverImage ? /* @__PURE__ */ jsx21(
1769
1845
  next_image_default,
1770
1846
  {
1771
1847
  src: coverImage,
@@ -1775,44 +1851,44 @@ function ProductReleaseCard({
1775
1851
  className: "object-cover",
1776
1852
  unoptimized: true
1777
1853
  }
1778
- ) : /* @__PURE__ */ jsx20("div", { className: "absolute inset-0 flex items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ jsx20(Package, { className: "h-8 w-8" }) }),
1779
- hasVideoCover && coverImage && /* @__PURE__ */ jsx20("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx20(Play, { className: "h-10 w-10 text-ods-text-on-dark", fill: "white" }) })
1854
+ ) : /* @__PURE__ */ jsx21("div", { className: "absolute inset-0 flex items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ jsx21(Package, { className: "h-8 w-8" }) }),
1855
+ hasVideoCover && coverImage && /* @__PURE__ */ jsx21("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx21(Play, { className: "h-10 w-10 text-ods-text-on-dark", fill: "white" }) })
1780
1856
  ] }) }),
1781
- /* @__PURE__ */ jsxs12("div", { className: "flex min-w-0 flex-1 flex-col", children: [
1782
- /* @__PURE__ */ jsx20("div", { className: "mb-3 flex items-center gap-3", children: /* @__PURE__ */ jsxs12("span", { className: "truncate font-semibold text-ods-text-primary text-code", children: [
1857
+ /* @__PURE__ */ jsxs13("div", { className: "flex min-w-0 flex-1 flex-col", children: [
1858
+ /* @__PURE__ */ jsx21("div", { className: "mb-3 flex items-center gap-3", children: /* @__PURE__ */ jsxs13("span", { className: "truncate font-semibold text-ods-text-primary text-code", children: [
1783
1859
  "v",
1784
1860
  version
1785
1861
  ] }) }),
1786
- /* @__PURE__ */ jsx20("div", { className: "mb-3 flex min-h-[60px] items-start md:min-h-[72px]", children: /* @__PURE__ */ jsx20("h3", { className: "line-clamp-2 font-['Azeret_Mono'] text-xl font-semibold leading-tight text-ods-text-primary md:text-2xl", children: title }) }),
1787
- /* @__PURE__ */ jsx20("div", { className: "min-h-[68px] md:min-h-[78px]", children: /* @__PURE__ */ jsx20("p", { className: "line-clamp-3 font-['DM_Sans'] text-sm leading-relaxed text-ods-text-secondary md:text-base", children: summary ?? "" }) })
1862
+ /* @__PURE__ */ jsx21("div", { className: "mb-3 flex min-h-[60px] items-start md:min-h-[72px]", children: /* @__PURE__ */ jsx21("h3", { className: "line-clamp-2 font-['Azeret_Mono'] text-xl font-semibold leading-tight text-ods-text-primary md:text-2xl", children: title }) }),
1863
+ /* @__PURE__ */ jsx21("div", { className: "min-h-[68px] md:min-h-[78px]", children: /* @__PURE__ */ jsx21("p", { className: "line-clamp-3 font-['DM_Sans'] text-sm leading-relaxed text-ods-text-secondary md:text-base", children: summary ?? "" }) })
1788
1864
  ] })
1789
1865
  ] }),
1790
- /* @__PURE__ */ jsx20("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1.5 border-t border-ods-border pt-3 text-ods-text-secondary text-h6", children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ jsxs12(Fragment5, { children: [
1791
- changelogCounts.features > 0 && /* @__PURE__ */ jsxs12("span", { className: "inline-flex items-center gap-1.5", children: [
1792
- /* @__PURE__ */ jsx20(Sparkles, { className: "h-3.5 w-3.5" }),
1866
+ /* @__PURE__ */ jsx21("div", { className: "flex flex-wrap items-center gap-x-4 gap-y-1.5 border-t border-ods-border pt-3 text-ods-text-secondary text-h6", children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ jsxs13(Fragment5, { children: [
1867
+ changelogCounts.features > 0 && /* @__PURE__ */ jsxs13("span", { className: "inline-flex items-center gap-1.5", children: [
1868
+ /* @__PURE__ */ jsx21(Sparkles, { className: "h-3.5 w-3.5" }),
1793
1869
  changelogCounts.features,
1794
1870
  " ",
1795
1871
  changelogCounts.features === 1 ? "feature" : "features"
1796
1872
  ] }),
1797
- changelogCounts.fixes > 0 && /* @__PURE__ */ jsxs12("span", { className: "inline-flex items-center gap-1.5", children: [
1798
- /* @__PURE__ */ jsx20(Wrench, { className: "h-3.5 w-3.5" }),
1873
+ changelogCounts.fixes > 0 && /* @__PURE__ */ jsxs13("span", { className: "inline-flex items-center gap-1.5", children: [
1874
+ /* @__PURE__ */ jsx21(Wrench, { className: "h-3.5 w-3.5" }),
1799
1875
  changelogCounts.fixes,
1800
1876
  " ",
1801
1877
  changelogCounts.fixes === 1 ? "fix" : "fixes"
1802
1878
  ] }),
1803
- changelogCounts.improvements > 0 && /* @__PURE__ */ jsxs12("span", { className: "inline-flex items-center gap-1.5", children: [
1804
- /* @__PURE__ */ jsx20(TrendingUp, { className: "h-3.5 w-3.5" }),
1879
+ changelogCounts.improvements > 0 && /* @__PURE__ */ jsxs13("span", { className: "inline-flex items-center gap-1.5", children: [
1880
+ /* @__PURE__ */ jsx21(TrendingUp, { className: "h-3.5 w-3.5" }),
1805
1881
  changelogCounts.improvements,
1806
1882
  " ",
1807
1883
  changelogCounts.improvements === 1 ? "improvement" : "improvements"
1808
1884
  ] }),
1809
- changelogCounts.breaking > 0 && /* @__PURE__ */ jsxs12("span", { className: "inline-flex items-center gap-1.5 text-ods-warning", children: [
1810
- /* @__PURE__ */ jsx20(AlertTriangle, { className: "h-3.5 w-3.5" }),
1885
+ changelogCounts.breaking > 0 && /* @__PURE__ */ jsxs13("span", { className: "inline-flex items-center gap-1.5 text-ods-warning", children: [
1886
+ /* @__PURE__ */ jsx21(AlertTriangle, { className: "h-3.5 w-3.5" }),
1811
1887
  changelogCounts.breaking,
1812
1888
  " breaking"
1813
1889
  ] })
1814
- ] }) : /* @__PURE__ */ jsx20("span", { className: "text-ods-text-secondary", children: "No changelog entries yet" }) }),
1815
- /* @__PURE__ */ jsxs12(
1890
+ ] }) : /* @__PURE__ */ jsx21("span", { className: "text-ods-text-secondary", children: "No changelog entries yet" }) }),
1891
+ /* @__PURE__ */ jsxs13(
1816
1892
  "div",
1817
1893
  {
1818
1894
  className: cn(
@@ -1821,8 +1897,8 @@ function ProductReleaseCard({
1821
1897
  "w-full overflow-hidden rounded-md border border-ods-border"
1822
1898
  ),
1823
1899
  children: [
1824
- valueCells.map((cell, i) => /* @__PURE__ */ jsx20("div", { className: cn("flex flex-col gap-3 bg-ods-card p-4", dividerClass), children: /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-0", children: [
1825
- cell.colorScheme ? /* @__PURE__ */ jsx20(
1900
+ valueCells.map((cell, i) => /* @__PURE__ */ jsx21("div", { className: cn("flex flex-col gap-3 bg-ods-card p-4", dividerClass), children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-0", children: [
1901
+ cell.colorScheme ? /* @__PURE__ */ jsx21(
1826
1902
  StatusBadge,
1827
1903
  {
1828
1904
  text: cell.value,
@@ -1831,7 +1907,7 @@ function ProductReleaseCard({
1831
1907
  singleLine: true,
1832
1908
  className: "self-start"
1833
1909
  }
1834
- ) : /* @__PURE__ */ jsx20(
1910
+ ) : /* @__PURE__ */ jsx21(
1835
1911
  "p",
1836
1912
  {
1837
1913
  className: cn(
@@ -1843,10 +1919,10 @@ function ProductReleaseCard({
1843
1919
  children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value
1844
1920
  }
1845
1921
  ),
1846
- /* @__PURE__ */ jsx20("p", { className: "text-ods-text-secondary text-h6", children: cell.label })
1922
+ /* @__PURE__ */ jsx21("p", { className: "text-ods-text-secondary text-h6", children: cell.label })
1847
1923
  ] }) }, `${cell.label}-${i}`)),
1848
- /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
1849
- /* @__PURE__ */ jsx20(
1924
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
1925
+ /* @__PURE__ */ jsx21(
1850
1926
  SquareAvatar,
1851
1927
  {
1852
1928
  src: effectiveAuthor.avatar_url ?? void 0,
@@ -1856,29 +1932,29 @@ function ProductReleaseCard({
1856
1932
  variant: "round"
1857
1933
  }
1858
1934
  ),
1859
- /* @__PURE__ */ jsxs12("div", { className: "flex min-w-0 flex-1 flex-col gap-0", children: [
1860
- /* @__PURE__ */ jsx20("p", { className: "truncate tracking-[-0.36px] text-ods-text-primary text-h3", children: effectiveAuthor.full_name }),
1861
- /* @__PURE__ */ jsx20("p", { className: "text-ods-text-secondary text-h6", children: effectiveAuthor.job_title || "Author" })
1935
+ /* @__PURE__ */ jsxs13("div", { className: "flex min-w-0 flex-1 flex-col gap-0", children: [
1936
+ /* @__PURE__ */ jsx21("p", { className: "truncate tracking-[-0.36px] text-ods-text-primary text-h3", children: effectiveAuthor.full_name }),
1937
+ /* @__PURE__ */ jsx21("p", { className: "text-ods-text-secondary text-h6", children: effectiveAuthor.job_title || "Author" })
1862
1938
  ] })
1863
1939
  ] })
1864
1940
  ]
1865
1941
  }
1866
1942
  ),
1867
- typeof viewCount === "number" && viewCount > 0 && /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-1.5 text-ods-text-secondary text-h6", children: [
1868
- /* @__PURE__ */ jsx20(Eye, { className: "h-3.5 w-3.5" }),
1869
- /* @__PURE__ */ jsxs12("span", { children: [
1943
+ typeof viewCount === "number" && viewCount > 0 && /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-1.5 text-ods-text-secondary text-h6", children: [
1944
+ /* @__PURE__ */ jsx21(Eye, { className: "h-3.5 w-3.5" }),
1945
+ /* @__PURE__ */ jsxs13("span", { children: [
1870
1946
  viewCount.toLocaleString(),
1871
1947
  " views"
1872
1948
  ] })
1873
1949
  ] })
1874
1950
  ] });
1875
1951
  if (anchorProps) {
1876
- return /* @__PURE__ */ jsx20("a", { ...anchorProps, className: frameClass, "aria-label": `Open ${title}`, children: innerLayout });
1952
+ return /* @__PURE__ */ jsx21("a", { ...anchorProps, className: frameClass, "aria-label": `Open ${title}`, children: innerLayout });
1877
1953
  }
1878
1954
  if (onClick) {
1879
- return /* @__PURE__ */ jsx20(InteractiveCard, { clickable: true, onClick, className: frameClass, children: innerLayout });
1955
+ return /* @__PURE__ */ jsx21(InteractiveCard, { clickable: true, onClick, className: frameClass, children: innerLayout });
1880
1956
  }
1881
- return /* @__PURE__ */ jsx20("div", { className: cn(frameClass.replace("hover:border-ods-accent", "").replace("hover:translate-y-[-2px]", "")), children: innerLayout });
1957
+ return /* @__PURE__ */ jsx21("div", { className: cn(frameClass.replace("hover:border-ods-accent", "").replace("hover:translate-y-[-2px]", "")), children: innerLayout });
1882
1958
  }
1883
1959
  if (size === "sm") {
1884
1960
  const handleKey = (e) => {
@@ -1905,24 +1981,24 @@ function ProductReleaseCard({
1905
1981
  isInteractive ? "cursor-pointer transition-colors hover:border-ods-text-secondary/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-1 focus-visible:ring-offset-ods-card" : "cursor-default",
1906
1982
  className
1907
1983
  );
1908
- const innerChildren = /* @__PURE__ */ jsxs12(Fragment5, { children: [
1909
- /* @__PURE__ */ jsxs12("span", { className: "relative flex aspect-square h-14 w-14 shrink-0 items-center justify-center self-start overflow-hidden rounded-md bg-ods-bg text-ods-accent", children: [
1910
- coverImage ? /* @__PURE__ */ jsx20(next_image_default, { src: coverImage, alt: title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ jsx20(Package, { className: "h-5 w-5" }),
1911
- hasVideoCover && coverImage && /* @__PURE__ */ jsx20("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx20(Play, { className: "h-4 w-4 text-ods-text-on-dark", fill: "white" }) })
1984
+ const innerChildren = /* @__PURE__ */ jsxs13(Fragment5, { children: [
1985
+ /* @__PURE__ */ jsxs13("span", { className: "relative flex aspect-square h-14 w-14 shrink-0 items-center justify-center self-start overflow-hidden rounded-md bg-ods-bg text-ods-accent", children: [
1986
+ coverImage ? /* @__PURE__ */ jsx21(next_image_default, { src: coverImage, alt: title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ jsx21(Package, { className: "h-5 w-5" }),
1987
+ hasVideoCover && coverImage && /* @__PURE__ */ jsx21("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx21(Play, { className: "h-4 w-4 text-ods-text-on-dark", fill: "white" }) })
1912
1988
  ] }),
1913
- /* @__PURE__ */ jsxs12("span", { className: "flex min-h-14 min-w-0 flex-1 flex-col gap-0.5", children: [
1914
- /* @__PURE__ */ jsxs12("span", { className: "flex h-5 min-w-0 items-center gap-2", children: [
1915
- /* @__PURE__ */ jsx20("span", { className: "min-w-0 truncate font-semibold text-ods-text-primary text-h6", title, children: title }),
1916
- version ? /* @__PURE__ */ jsx20("span", { className: "shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-ods-accent text-code", children: version }) : null
1989
+ /* @__PURE__ */ jsxs13("span", { className: "flex min-h-14 min-w-0 flex-1 flex-col gap-0.5", children: [
1990
+ /* @__PURE__ */ jsxs13("span", { className: "flex h-5 min-w-0 items-center gap-2", children: [
1991
+ /* @__PURE__ */ jsx21("span", { className: "min-w-0 truncate font-semibold text-ods-text-primary text-h6", title, children: title }),
1992
+ version ? /* @__PURE__ */ jsx21("span", { className: "shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-ods-accent text-code", children: version }) : null
1917
1993
  ] }),
1918
- /* @__PURE__ */ jsx20("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx20("span", { className: "truncate text-ods-text-secondary text-h6", children: formattedDate || "Product release" }) }),
1919
- /* @__PURE__ */ jsx20("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx20("span", { className: "truncate text-ods-text-secondary/80 text-h6", title: summary || void 0, children: summary || "\xA0" }) })
1994
+ /* @__PURE__ */ jsx21("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx21("span", { className: "truncate text-ods-text-secondary text-h6", children: formattedDate || "Product release" }) }),
1995
+ /* @__PURE__ */ jsx21("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx21("span", { className: "truncate text-ods-text-secondary/80 text-h6", title: summary || void 0, children: summary || "\xA0" }) })
1920
1996
  ] })
1921
1997
  ] });
1922
1998
  if (anchorProps) {
1923
- return /* @__PURE__ */ jsx20("a", { ...anchorProps, className: outerClassName, children: innerChildren });
1999
+ return /* @__PURE__ */ jsx21("a", { ...anchorProps, className: outerClassName, children: innerChildren });
1924
2000
  }
1925
- return /* @__PURE__ */ jsx20(
2001
+ return /* @__PURE__ */ jsx21(
1926
2002
  "span",
1927
2003
  {
1928
2004
  role: onClick ? "button" : void 0,
@@ -1938,10 +2014,10 @@ function ProductReleaseCard({
1938
2014
  }
1939
2015
 
1940
2016
  // src/components/shared/product-release/product-release-card-skeleton.tsx
1941
- import { jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
2017
+ import { jsx as jsx22, jsxs as jsxs14 } from "react/jsx-runtime";
1942
2018
  function ProductReleaseCardSkeleton({ className, size = "lg" }) {
1943
2019
  if (size === "lg") {
1944
- return /* @__PURE__ */ jsxs13(
2020
+ return /* @__PURE__ */ jsxs14(
1945
2021
  "div",
1946
2022
  {
1947
2023
  className: cn(
@@ -1951,39 +2027,39 @@ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
1951
2027
  className
1952
2028
  ),
1953
2029
  children: [
1954
- /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
1955
- /* @__PURE__ */ jsx21("div", { className: "aspect-[1200/630] w-full flex-shrink-0 rounded-lg bg-ods-border md:w-[256px]" }),
1956
- /* @__PURE__ */ jsxs13("div", { className: "flex min-w-0 flex-1 flex-col", children: [
1957
- /* @__PURE__ */ jsx21("div", { className: "mb-3 flex items-center gap-3", children: /* @__PURE__ */ jsx21("div", { className: "h-7 w-20 rounded bg-ods-border" }) }),
1958
- /* @__PURE__ */ jsxs13("div", { className: "mb-3 flex min-h-[60px] flex-col justify-start gap-1.5 md:min-h-[72px]", children: [
1959
- /* @__PURE__ */ jsx21("div", { className: "h-[25px] w-3/4 rounded bg-ods-border md:h-[30px]" }),
1960
- /* @__PURE__ */ jsx21("div", { className: "h-[25px] w-1/2 rounded bg-ods-border md:h-[30px]" })
2030
+ /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
2031
+ /* @__PURE__ */ jsx22("div", { className: "aspect-[1200/630] w-full flex-shrink-0 rounded-lg bg-ods-border md:w-[256px]" }),
2032
+ /* @__PURE__ */ jsxs14("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2033
+ /* @__PURE__ */ jsx22("div", { className: "mb-3 flex items-center gap-3", children: /* @__PURE__ */ jsx22("div", { className: "h-7 w-20 rounded bg-ods-border" }) }),
2034
+ /* @__PURE__ */ jsxs14("div", { className: "mb-3 flex min-h-[60px] flex-col justify-start gap-1.5 md:min-h-[72px]", children: [
2035
+ /* @__PURE__ */ jsx22("div", { className: "h-[25px] w-3/4 rounded bg-ods-border md:h-[30px]" }),
2036
+ /* @__PURE__ */ jsx22("div", { className: "h-[25px] w-1/2 rounded bg-ods-border md:h-[30px]" })
1961
2037
  ] }),
1962
- /* @__PURE__ */ jsxs13("div", { className: "flex min-h-[68px] flex-col justify-start gap-2 md:min-h-[78px]", children: [
1963
- /* @__PURE__ */ jsx21("div", { className: "h-3 w-full rounded bg-ods-border/70" }),
1964
- /* @__PURE__ */ jsx21("div", { className: "h-3 w-11/12 rounded bg-ods-border/70" }),
1965
- /* @__PURE__ */ jsx21("div", { className: "h-3 w-5/6 rounded bg-ods-border/70" })
2038
+ /* @__PURE__ */ jsxs14("div", { className: "flex min-h-[68px] flex-col justify-start gap-2 md:min-h-[78px]", children: [
2039
+ /* @__PURE__ */ jsx22("div", { className: "h-3 w-full rounded bg-ods-border/70" }),
2040
+ /* @__PURE__ */ jsx22("div", { className: "h-3 w-11/12 rounded bg-ods-border/70" }),
2041
+ /* @__PURE__ */ jsx22("div", { className: "h-3 w-5/6 rounded bg-ods-border/70" })
1966
2042
  ] })
1967
2043
  ] })
1968
2044
  ] }),
1969
- /* @__PURE__ */ jsx21("div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ jsx21("div", { className: "h-5 w-2/3 rounded bg-ods-border/70" }) }),
1970
- /* @__PURE__ */ jsxs13("div", { className: "grid w-full grid-cols-1 overflow-hidden rounded-md border border-ods-border md:grid-cols-4", children: [
1971
- [0, 1, 2].map((i) => /* @__PURE__ */ jsx21(
2045
+ /* @__PURE__ */ jsx22("div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ jsx22("div", { className: "h-5 w-2/3 rounded bg-ods-border/70" }) }),
2046
+ /* @__PURE__ */ jsxs14("div", { className: "grid w-full grid-cols-1 overflow-hidden rounded-md border border-ods-border md:grid-cols-4", children: [
2047
+ [0, 1, 2].map((i) => /* @__PURE__ */ jsx22(
1972
2048
  "div",
1973
2049
  {
1974
2050
  className: "flex flex-col gap-3 border-b border-ods-border bg-ods-card p-4 md:border-b-0 md:border-r",
1975
- children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-2", children: [
1976
- /* @__PURE__ */ jsx21("div", { className: "h-7 w-24 rounded bg-ods-bg" }),
1977
- /* @__PURE__ */ jsx21("div", { className: "h-4 w-16 rounded bg-ods-bg/60" })
2051
+ children: /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-2", children: [
2052
+ /* @__PURE__ */ jsx22("div", { className: "h-7 w-24 rounded bg-ods-bg" }),
2053
+ /* @__PURE__ */ jsx22("div", { className: "h-4 w-16 rounded bg-ods-bg/60" })
1978
2054
  ] })
1979
2055
  },
1980
2056
  `cell-${i}`
1981
2057
  )),
1982
- /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
1983
- /* @__PURE__ */ jsx21("div", { className: "h-10 w-10 shrink-0 rounded-full bg-ods-bg" }),
1984
- /* @__PURE__ */ jsxs13("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
1985
- /* @__PURE__ */ jsx21("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
1986
- /* @__PURE__ */ jsx21("div", { className: "h-4 w-1/2 rounded bg-ods-bg/60" })
2058
+ /* @__PURE__ */ jsxs14("div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
2059
+ /* @__PURE__ */ jsx22("div", { className: "h-10 w-10 shrink-0 rounded-full bg-ods-bg" }),
2060
+ /* @__PURE__ */ jsxs14("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2061
+ /* @__PURE__ */ jsx22("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2062
+ /* @__PURE__ */ jsx22("div", { className: "h-4 w-1/2 rounded bg-ods-bg/60" })
1987
2063
  ] })
1988
2064
  ] })
1989
2065
  ] })
@@ -1992,7 +2068,7 @@ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
1992
2068
  );
1993
2069
  }
1994
2070
  if (size === "sm") {
1995
- return /* @__PURE__ */ jsxs13(
2071
+ return /* @__PURE__ */ jsxs14(
1996
2072
  "span",
1997
2073
  {
1998
2074
  className: cn(
@@ -2001,14 +2077,14 @@ function ProductReleaseCardSkeleton({ className, size = "lg" }) {
2001
2077
  className
2002
2078
  ),
2003
2079
  children: [
2004
- /* @__PURE__ */ jsx21("span", { className: "block aspect-square h-14 w-14 shrink-0 self-start rounded-md bg-ods-bg" }),
2005
- /* @__PURE__ */ jsxs13("span", { className: "flex min-h-14 min-w-0 flex-1 flex-col gap-0.5", children: [
2006
- /* @__PURE__ */ jsxs13("span", { className: "flex h-5 min-w-0 items-center gap-2", children: [
2007
- /* @__PURE__ */ jsx21("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }),
2008
- /* @__PURE__ */ jsx21("span", { className: "h-4 w-12 shrink-0 rounded bg-ods-bg/70" })
2080
+ /* @__PURE__ */ jsx22("span", { className: "block aspect-square h-14 w-14 shrink-0 self-start rounded-md bg-ods-bg" }),
2081
+ /* @__PURE__ */ jsxs14("span", { className: "flex min-h-14 min-w-0 flex-1 flex-col gap-0.5", children: [
2082
+ /* @__PURE__ */ jsxs14("span", { className: "flex h-5 min-w-0 items-center gap-2", children: [
2083
+ /* @__PURE__ */ jsx22("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }),
2084
+ /* @__PURE__ */ jsx22("span", { className: "h-4 w-12 shrink-0 rounded bg-ods-bg/70" })
2009
2085
  ] }),
2010
- /* @__PURE__ */ jsx21("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx21("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) }),
2011
- /* @__PURE__ */ jsx21("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx21("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2086
+ /* @__PURE__ */ jsx22("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx22("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) }),
2087
+ /* @__PURE__ */ jsx22("span", { className: "flex h-4 min-w-0 items-center", children: /* @__PURE__ */ jsx22("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2012
2088
  ] })
2013
2089
  ]
2014
2090
  }
@@ -2187,28 +2263,28 @@ function useEntityCardPlaceholder({
2187
2263
  }
2188
2264
 
2189
2265
  // src/components/chat/entity-cards/blog-card.tsx
2190
- import { Fragment as Fragment6, jsx as jsx22, jsxs as jsxs14 } from "react/jsx-runtime";
2266
+ import { Fragment as Fragment6, jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
2191
2267
  function BlogCardSkeleton({ size = "default" }) {
2192
2268
  if (size === "sm") {
2193
- return /* @__PURE__ */ jsxs14("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2194
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2195
- /* @__PURE__ */ jsxs14("span", { className: COMPACT_CARD_TEXT_COL, children: [
2196
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx22("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2197
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx22("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
2198
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx22("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2269
+ return /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2270
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2271
+ /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_TEXT_COL, children: [
2272
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx23("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2273
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
2274
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2199
2275
  ] })
2200
2276
  ] });
2201
2277
  }
2202
- return /* @__PURE__ */ jsxs14("article", { className: "group flex h-full animate-pulse flex-col overflow-hidden rounded-lg border border-ods-border bg-ods-card", children: [
2203
- /* @__PURE__ */ jsx22("div", { className: "aspect-[1200/630] bg-ods-bg" }),
2204
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-grow flex-col space-y-3 p-4", children: [
2205
- /* @__PURE__ */ jsx22("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2206
- /* @__PURE__ */ jsx22("div", { className: "h-5 w-1/2 rounded bg-ods-bg" }),
2207
- /* @__PURE__ */ jsx22("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
2208
- /* @__PURE__ */ jsx22("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" }),
2209
- /* @__PURE__ */ jsxs14("div", { className: "mt-auto flex items-center gap-2", children: [
2210
- /* @__PURE__ */ jsx22("div", { className: "h-8 w-8 rounded-full bg-ods-bg" }),
2211
- /* @__PURE__ */ jsx22("div", { className: "h-3 w-24 rounded bg-ods-bg/60" })
2278
+ return /* @__PURE__ */ jsxs15("article", { className: "group flex h-full animate-pulse flex-col overflow-hidden rounded-lg border border-ods-border bg-ods-card", children: [
2279
+ /* @__PURE__ */ jsx23("div", { className: "aspect-[1200/630] bg-ods-bg" }),
2280
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-grow flex-col space-y-3 p-4", children: [
2281
+ /* @__PURE__ */ jsx23("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2282
+ /* @__PURE__ */ jsx23("div", { className: "h-5 w-1/2 rounded bg-ods-bg" }),
2283
+ /* @__PURE__ */ jsx23("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
2284
+ /* @__PURE__ */ jsx23("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" }),
2285
+ /* @__PURE__ */ jsxs15("div", { className: "mt-auto flex items-center gap-2", children: [
2286
+ /* @__PURE__ */ jsx23("div", { className: "h-8 w-8 rounded-full bg-ods-bg" }),
2287
+ /* @__PURE__ */ jsx23("div", { className: "h-3 w-24 rounded bg-ods-bg/60" })
2212
2288
  ] })
2213
2289
  ] })
2214
2290
  ] });
@@ -2241,7 +2317,7 @@ function BlogCard({
2241
2317
  if (size === "sm") {
2242
2318
  const dateStr2 = post.published_at ? formatDateWithTimezone(post.published_at, null, "medium") : "";
2243
2319
  const firstCategory = post.categories?.find((c) => c && c.name)?.name;
2244
- return /* @__PURE__ */ jsxs14(
2320
+ return /* @__PURE__ */ jsxs15(
2245
2321
  "a",
2246
2322
  {
2247
2323
  href,
@@ -2250,7 +2326,7 @@ function BlogCard({
2250
2326
  className: cn(COMPACT_CARD_OUTER, className),
2251
2327
  "aria-label": `Read article: ${post.title}`,
2252
2328
  children: [
2253
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_IMAGE_SLOT, children: displayImage ? /* @__PURE__ */ jsx22(
2329
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_IMAGE_SLOT, children: displayImage ? /* @__PURE__ */ jsx23(
2254
2330
  next_image_default,
2255
2331
  {
2256
2332
  src: displayImage,
@@ -2262,17 +2338,17 @@ function BlogCard({
2262
2338
  onError: onImageError
2263
2339
  }
2264
2340
  ) : null }),
2265
- /* @__PURE__ */ jsxs14("span", { className: COMPACT_CARD_TEXT_COL, children: [
2266
- /* @__PURE__ */ jsxs14("span", { className: cn(COMPACT_CARD_TITLE_ROW, "gap-1.5"), children: [
2267
- /* @__PURE__ */ jsx22("span", { className: cn(COMPACT_CARD_TITLE, "font-body"), children: post.title }),
2268
- hasEmbeddedVideo ? /* @__PURE__ */ jsx22(StatusBadge, { text: "Video", variant: "button", colorScheme: "cyan", className: "shrink-0" }) : null
2341
+ /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_TEXT_COL, children: [
2342
+ /* @__PURE__ */ jsxs15("span", { className: cn(COMPACT_CARD_TITLE_ROW, "gap-1.5"), children: [
2343
+ /* @__PURE__ */ jsx23("span", { className: cn(COMPACT_CARD_TITLE, "font-body"), children: post.title }),
2344
+ hasEmbeddedVideo ? /* @__PURE__ */ jsx23(StatusBadge, { text: "Video", variant: "button", colorScheme: "cyan", className: "shrink-0" }) : null
2269
2345
  ] }),
2270
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsxs14("span", { className: COMPACT_CARD_SUBTITLE, children: [
2346
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_SUBTITLE, children: [
2271
2347
  dateStr2,
2272
2348
  dateStr2 && firstCategory ? " \xB7 " : "",
2273
2349
  firstCategory ?? "Blog Post"
2274
2350
  ] }) }),
2275
- /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx22("span", { className: COMPACT_CARD_SUMMARY, children: post.summary || COMPACT_CARD_ROW_FILLER }) })
2351
+ /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_SUMMARY, children: post.summary || COMPACT_CARD_ROW_FILLER }) })
2276
2352
  ] })
2277
2353
  ]
2278
2354
  }
@@ -2280,7 +2356,7 @@ function BlogCard({
2280
2356
  }
2281
2357
  if (size === "portrait") {
2282
2358
  const dateStr2 = post.published_at ? formatDateWithTimezone(post.published_at, null, "medium") : "";
2283
- return /* @__PURE__ */ jsx22(
2359
+ return /* @__PURE__ */ jsx23(
2284
2360
  EntityPortraitCard,
2285
2361
  {
2286
2362
  href,
@@ -2301,7 +2377,7 @@ function BlogCard({
2301
2377
  );
2302
2378
  }
2303
2379
  const dateStr = post.published_at ? formatDateWithTimezone(post.published_at, null, "medium") : "";
2304
- return /* @__PURE__ */ jsx22(
2380
+ return /* @__PURE__ */ jsx23(
2305
2381
  "article",
2306
2382
  {
2307
2383
  className: cn(
@@ -2313,7 +2389,7 @@ function BlogCard({
2313
2389
  className
2314
2390
  ),
2315
2391
  role: "article",
2316
- children: /* @__PURE__ */ jsxs14(
2392
+ children: /* @__PURE__ */ jsxs15(
2317
2393
  "a",
2318
2394
  {
2319
2395
  href,
@@ -2322,7 +2398,7 @@ function BlogCard({
2322
2398
  className: "flex h-full flex-col focus:outline-none",
2323
2399
  "aria-label": `Read article: ${post.title}`,
2324
2400
  children: [
2325
- /* @__PURE__ */ jsx22("div", { className: "relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: displayImage ? /* @__PURE__ */ jsx22(
2401
+ /* @__PURE__ */ jsx23("div", { className: "relative aspect-[1200/630] w-full overflow-hidden bg-ods-bg", children: displayImage ? /* @__PURE__ */ jsx23(
2326
2402
  next_image_default,
2327
2403
  {
2328
2404
  src: displayImage,
@@ -2336,8 +2412,8 @@ function BlogCard({
2336
2412
  onError: onImageError
2337
2413
  }
2338
2414
  ) : null }),
2339
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-grow flex-col p-4", children: [
2340
- /* @__PURE__ */ jsx22("div", { className: "mb-3 flex min-h-[50.4px] items-center md:min-h-[56px] lg:min-h-[61.6px]", children: /* @__PURE__ */ jsx22(
2415
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-grow flex-col p-4", children: [
2416
+ /* @__PURE__ */ jsx23("div", { className: "mb-3 flex min-h-[50.4px] items-center md:min-h-[56px] lg:min-h-[61.6px]", children: /* @__PURE__ */ jsx23(
2341
2417
  "h3",
2342
2418
  {
2343
2419
  className: cn(
@@ -2349,10 +2425,10 @@ function BlogCard({
2349
2425
  children: post.title
2350
2426
  }
2351
2427
  ) }),
2352
- /* @__PURE__ */ jsx22("div", { className: "mb-3 flex min-h-[42px] items-center md:min-h-[45px] lg:min-h-[48px]", children: /* @__PURE__ */ jsx22("p", { className: cn("text-ods-text-primary text-h6", "line-clamp-2"), children: post.summary || "" }) }),
2353
- /* @__PURE__ */ jsxs14("div", { className: "mt-auto flex items-center justify-between gap-2 text-ods-text-secondary text-h6", children: [
2354
- /* @__PURE__ */ jsxs14("div", { className: "flex min-w-0 items-center gap-2", children: [
2355
- post.author_avatar ? /* @__PURE__ */ jsx22(
2428
+ /* @__PURE__ */ jsx23("div", { className: "mb-3 flex min-h-[42px] items-center md:min-h-[45px] lg:min-h-[48px]", children: /* @__PURE__ */ jsx23("p", { className: cn("text-ods-text-primary text-h6", "line-clamp-2"), children: post.summary || "" }) }),
2429
+ /* @__PURE__ */ jsxs15("div", { className: "mt-auto flex items-center justify-between gap-2 text-ods-text-secondary text-h6", children: [
2430
+ /* @__PURE__ */ jsxs15("div", { className: "flex min-w-0 items-center gap-2", children: [
2431
+ post.author_avatar ? /* @__PURE__ */ jsx23(
2356
2432
  next_image_default,
2357
2433
  {
2358
2434
  src: post.author_avatar,
@@ -2363,22 +2439,22 @@ function BlogCard({
2363
2439
  unoptimized: true
2364
2440
  }
2365
2441
  ) : null,
2366
- /* @__PURE__ */ jsxs14("span", { className: "truncate", children: [
2442
+ /* @__PURE__ */ jsxs15("span", { className: "truncate", children: [
2367
2443
  post.author_name || "Anonymous",
2368
- dateStr ? /* @__PURE__ */ jsxs14(Fragment6, { children: [
2444
+ dateStr ? /* @__PURE__ */ jsxs15(Fragment6, { children: [
2369
2445
  " \xB7 ",
2370
2446
  dateStr
2371
2447
  ] }) : null
2372
2448
  ] })
2373
2449
  ] }),
2374
- /* @__PURE__ */ jsxs14(
2450
+ /* @__PURE__ */ jsxs15(
2375
2451
  "div",
2376
2452
  {
2377
2453
  className: "flex shrink-0 items-center gap-1",
2378
2454
  "aria-label": `View count: ${(post.view_count ?? 0).toLocaleString("en-US")} views`,
2379
2455
  children: [
2380
- /* @__PURE__ */ jsx22(Eye2, { className: "h-4 w-4 shrink-0" }),
2381
- /* @__PURE__ */ jsx22("span", { children: (post.view_count ?? 0).toLocaleString("en-US") })
2456
+ /* @__PURE__ */ jsx23(Eye2, { className: "h-4 w-4 shrink-0" }),
2457
+ /* @__PURE__ */ jsx23("span", { children: (post.view_count ?? 0).toLocaleString("en-US") })
2382
2458
  ]
2383
2459
  }
2384
2460
  )
@@ -2392,29 +2468,29 @@ function BlogCard({
2392
2468
  }
2393
2469
 
2394
2470
  // src/components/chat/entity-cards/case-study-card.tsx
2395
- import { jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
2471
+ import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
2396
2472
  function CaseStudyCardSkeleton({ size = "default" }) {
2397
2473
  if (size === "sm") {
2398
- return /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2399
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2400
- /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_TEXT_COL, children: [
2401
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx23("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2402
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
2403
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2474
+ return /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2475
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2476
+ /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_TEXT_COL, children: [
2477
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx24("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2478
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: "h-3 w-1/2 rounded bg-ods-bg/70" }) }),
2479
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2404
2480
  ] })
2405
2481
  ] });
2406
2482
  }
2407
- return /* @__PURE__ */ jsxs15("div", { className: "flex animate-pulse flex-col gap-6 overflow-hidden rounded-lg border border-ods-border bg-ods-card p-6", children: [
2408
- /* @__PURE__ */ jsx23("div", { className: "aspect-[1200/630] w-full rounded-sm bg-ods-bg" }),
2409
- /* @__PURE__ */ jsxs15("div", { className: "flex h-[72px] flex-col gap-2", children: [
2410
- /* @__PURE__ */ jsx23("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2411
- /* @__PURE__ */ jsx23("div", { className: "h-5 w-1/2 rounded bg-ods-bg" })
2483
+ return /* @__PURE__ */ jsxs16("div", { className: "flex animate-pulse flex-col gap-6 overflow-hidden rounded-lg border border-ods-border bg-ods-card p-6", children: [
2484
+ /* @__PURE__ */ jsx24("div", { className: "aspect-[1200/630] w-full rounded-sm bg-ods-bg" }),
2485
+ /* @__PURE__ */ jsxs16("div", { className: "flex h-[72px] flex-col gap-2", children: [
2486
+ /* @__PURE__ */ jsx24("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2487
+ /* @__PURE__ */ jsx24("div", { className: "h-5 w-1/2 rounded bg-ods-bg" })
2412
2488
  ] }),
2413
- /* @__PURE__ */ jsxs15("div", { className: "flex h-[60px] items-center gap-3", children: [
2414
- /* @__PURE__ */ jsx23("div", { className: "h-12 w-12 rounded-full bg-ods-bg" }),
2415
- /* @__PURE__ */ jsxs15("div", { className: "flex-1 space-y-2", children: [
2416
- /* @__PURE__ */ jsx23("div", { className: "h-4 w-2/3 rounded bg-ods-bg" }),
2417
- /* @__PURE__ */ jsx23("div", { className: "h-3 w-1/2 rounded bg-ods-bg/60" })
2489
+ /* @__PURE__ */ jsxs16("div", { className: "flex h-[60px] items-center gap-3", children: [
2490
+ /* @__PURE__ */ jsx24("div", { className: "h-12 w-12 rounded-full bg-ods-bg" }),
2491
+ /* @__PURE__ */ jsxs16("div", { className: "flex-1 space-y-2", children: [
2492
+ /* @__PURE__ */ jsx24("div", { className: "h-4 w-2/3 rounded bg-ods-bg" }),
2493
+ /* @__PURE__ */ jsx24("div", { className: "h-3 w-1/2 rounded bg-ods-bg/60" })
2418
2494
  ] })
2419
2495
  ] })
2420
2496
  ] });
@@ -2443,8 +2519,8 @@ function CaseStudyCard({
2443
2519
  });
2444
2520
  const coverImage = study.featured_image || placeholderUrl || null;
2445
2521
  if (size === "sm") {
2446
- return /* @__PURE__ */ jsxs15("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
2447
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ jsx23(
2522
+ return /* @__PURE__ */ jsxs16("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
2523
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ jsx24(
2448
2524
  next_image_default,
2449
2525
  {
2450
2526
  src: coverImage,
@@ -2456,15 +2532,15 @@ function CaseStudyCard({
2456
2532
  onError: hideOnError
2457
2533
  }
2458
2534
  ) : null }),
2459
- /* @__PURE__ */ jsxs15("span", { className: COMPACT_CARD_TEXT_COL, children: [
2460
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_TITLE, children: study.title }) }),
2461
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_SUBTITLE, children: [study.msp?.name, study.user?.full_name].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
2462
- /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx23("span", { className: COMPACT_CARD_SUMMARY, children: study.summary || COMPACT_CARD_ROW_FILLER }) })
2535
+ /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_TEXT_COL, children: [
2536
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_TITLE, children: study.title }) }),
2537
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_SUBTITLE, children: [study.msp?.name, study.user?.full_name].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
2538
+ /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_SUMMARY, children: study.summary || COMPACT_CARD_ROW_FILLER }) })
2463
2539
  ] })
2464
2540
  ] });
2465
2541
  }
2466
2542
  if (size === "portrait") {
2467
- return /* @__PURE__ */ jsx23(
2543
+ return /* @__PURE__ */ jsx24(
2468
2544
  EntityPortraitCard,
2469
2545
  {
2470
2546
  href,
@@ -2485,8 +2561,8 @@ function CaseStudyCard({
2485
2561
  }
2486
2562
  );
2487
2563
  }
2488
- return /* @__PURE__ */ jsx23("a", { href, target, rel, className: cn("block h-full", className), children: /* @__PURE__ */ jsxs15(Card, { className: "flex flex-col gap-6 overflow-hidden border border-ods-border bg-ods-card p-6 transition-colors hover:border-ods-accent", children: [
2489
- /* @__PURE__ */ jsx23("div", { className: "relative aspect-[1200/630] w-full shrink-0 overflow-hidden rounded-sm bg-ods-bg", children: coverImage && /* @__PURE__ */ jsx23(
2564
+ return /* @__PURE__ */ jsx24("a", { href, target, rel, className: cn("block h-full", className), children: /* @__PURE__ */ jsxs16(Card, { className: "flex flex-col gap-6 overflow-hidden border border-ods-border bg-ods-card p-6 transition-colors hover:border-ods-accent", children: [
2565
+ /* @__PURE__ */ jsx24("div", { className: "relative aspect-[1200/630] w-full shrink-0 overflow-hidden rounded-sm bg-ods-bg", children: coverImage && /* @__PURE__ */ jsx24(
2490
2566
  next_image_default,
2491
2567
  {
2492
2568
  src: coverImage,
@@ -2498,10 +2574,10 @@ function CaseStudyCard({
2498
2574
  onError: hideOnError
2499
2575
  }
2500
2576
  ) }),
2501
- /* @__PURE__ */ jsx23("div", { className: "flex h-[72px] shrink-0 items-center", children: /* @__PURE__ */ jsx23("p", { className: "line-clamp-3 break-words text-ods-text-primary text-h4", children: study.title }) }),
2502
- /* @__PURE__ */ jsx23("div", { className: "flex h-[60px] shrink-0 items-center", children: /* @__PURE__ */ jsxs15("div", { className: "flex w-full min-w-0 items-center gap-3", children: [
2503
- /* @__PURE__ */ jsxs15("div", { className: "relative h-12 w-12 shrink-0", children: [
2504
- study.user?.avatar_url ? /* @__PURE__ */ jsx23(
2577
+ /* @__PURE__ */ jsx24("div", { className: "flex h-[72px] shrink-0 items-center", children: /* @__PURE__ */ jsx24("p", { className: "line-clamp-3 break-words text-ods-text-primary text-h4", children: study.title }) }),
2578
+ /* @__PURE__ */ jsx24("div", { className: "flex h-[60px] shrink-0 items-center", children: /* @__PURE__ */ jsxs16("div", { className: "flex w-full min-w-0 items-center gap-3", children: [
2579
+ /* @__PURE__ */ jsxs16("div", { className: "relative h-12 w-12 shrink-0", children: [
2580
+ study.user?.avatar_url ? /* @__PURE__ */ jsx24(
2505
2581
  next_image_default,
2506
2582
  {
2507
2583
  src: study.user.avatar_url,
@@ -2511,8 +2587,8 @@ function CaseStudyCard({
2511
2587
  height: 48,
2512
2588
  unoptimized: true
2513
2589
  }
2514
- ) : /* @__PURE__ */ jsx23("div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx23("span", { className: "text-ods-text-secondary text-h4", children: (study.user?.full_name || "A").charAt(0).toUpperCase() }) }),
2515
- study.msp?.icon_url && /* @__PURE__ */ jsx23("div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ jsx23(
2590
+ ) : /* @__PURE__ */ jsx24("div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx24("span", { className: "text-ods-text-secondary text-h4", children: (study.user?.full_name || "A").charAt(0).toUpperCase() }) }),
2591
+ study.msp?.icon_url && /* @__PURE__ */ jsx24("div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ jsx24(
2516
2592
  next_image_default,
2517
2593
  {
2518
2594
  src: study.msp.icon_url,
@@ -2524,15 +2600,15 @@ function CaseStudyCard({
2524
2600
  }
2525
2601
  ) })
2526
2602
  ] }),
2527
- /* @__PURE__ */ jsxs15("div", { className: "min-w-0 flex-1", children: [
2528
- /* @__PURE__ */ jsxs15("p", { className: "truncate text-ods-text-primary text-h6", children: [
2603
+ /* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
2604
+ /* @__PURE__ */ jsxs16("p", { className: "truncate text-ods-text-primary text-h6", children: [
2529
2605
  study.user?.full_name || "Anonymous",
2530
- study.msp?.name && /* @__PURE__ */ jsxs15("span", { className: "text-ods-text-secondary", children: [
2606
+ study.msp?.name && /* @__PURE__ */ jsxs16("span", { className: "text-ods-text-secondary", children: [
2531
2607
  " \u2022 ",
2532
2608
  study.msp.name
2533
2609
  ] })
2534
2610
  ] }),
2535
- /* @__PURE__ */ jsx23("p", { className: "truncate text-ods-text-secondary text-h6", children: study.user?.job_title || "\xA0" })
2611
+ /* @__PURE__ */ jsx24("p", { className: "truncate text-ods-text-secondary text-h6", children: study.user?.job_title || "\xA0" })
2536
2612
  ] })
2537
2613
  ] }) })
2538
2614
  ] }) });
@@ -2540,34 +2616,34 @@ function CaseStudyCard({
2540
2616
 
2541
2617
  // src/components/chat/entity-cards/customer-interview-card.tsx
2542
2618
  import { Video } from "lucide-react";
2543
- import { Fragment as Fragment7, jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
2619
+ import { Fragment as Fragment7, jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
2544
2620
  function CustomerInterviewCardSkeleton({ size = "default" }) {
2545
2621
  if (size === "sm") {
2546
- return /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2547
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2548
- /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_TEXT_COL, children: [
2549
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx24("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2550
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
2551
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2622
+ return /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2623
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2624
+ /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_TEXT_COL, children: [
2625
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx25("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2626
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
2627
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2552
2628
  ] })
2553
2629
  ] });
2554
2630
  }
2555
- return /* @__PURE__ */ jsxs16("div", { className: "flex animate-pulse flex-col gap-6 overflow-hidden rounded-lg border border-ods-border bg-ods-card p-6", children: [
2556
- /* @__PURE__ */ jsx24("div", { className: "aspect-[1200/630] w-full rounded-sm bg-ods-bg" }),
2557
- /* @__PURE__ */ jsxs16("div", { className: "space-y-2", children: [
2558
- /* @__PURE__ */ jsx24("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2559
- /* @__PURE__ */ jsx24("div", { className: "h-5 w-1/2 rounded bg-ods-bg" })
2631
+ return /* @__PURE__ */ jsxs17("div", { className: "flex animate-pulse flex-col gap-6 overflow-hidden rounded-lg border border-ods-border bg-ods-card p-6", children: [
2632
+ /* @__PURE__ */ jsx25("div", { className: "aspect-[1200/630] w-full rounded-sm bg-ods-bg" }),
2633
+ /* @__PURE__ */ jsxs17("div", { className: "space-y-2", children: [
2634
+ /* @__PURE__ */ jsx25("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2635
+ /* @__PURE__ */ jsx25("div", { className: "h-5 w-1/2 rounded bg-ods-bg" })
2560
2636
  ] }),
2561
- /* @__PURE__ */ jsxs16("div", { className: "space-y-2", children: [
2562
- /* @__PURE__ */ jsx24("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
2563
- /* @__PURE__ */ jsx24("div", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }),
2564
- /* @__PURE__ */ jsx24("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" })
2637
+ /* @__PURE__ */ jsxs17("div", { className: "space-y-2", children: [
2638
+ /* @__PURE__ */ jsx25("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
2639
+ /* @__PURE__ */ jsx25("div", { className: "h-3 w-5/6 rounded bg-ods-bg/60" }),
2640
+ /* @__PURE__ */ jsx25("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" })
2565
2641
  ] }),
2566
- /* @__PURE__ */ jsxs16("div", { className: "mt-auto flex h-[60px] items-center gap-3", children: [
2567
- /* @__PURE__ */ jsx24("div", { className: "h-12 w-12 rounded-full bg-ods-bg" }),
2568
- /* @__PURE__ */ jsxs16("div", { className: "flex-1 space-y-2", children: [
2569
- /* @__PURE__ */ jsx24("div", { className: "h-4 w-2/3 rounded bg-ods-bg" }),
2570
- /* @__PURE__ */ jsx24("div", { className: "h-3 w-1/2 rounded bg-ods-bg/60" })
2642
+ /* @__PURE__ */ jsxs17("div", { className: "mt-auto flex h-[60px] items-center gap-3", children: [
2643
+ /* @__PURE__ */ jsx25("div", { className: "h-12 w-12 rounded-full bg-ods-bg" }),
2644
+ /* @__PURE__ */ jsxs17("div", { className: "flex-1 space-y-2", children: [
2645
+ /* @__PURE__ */ jsx25("div", { className: "h-4 w-2/3 rounded bg-ods-bg" }),
2646
+ /* @__PURE__ */ jsx25("div", { className: "h-3 w-1/2 rounded bg-ods-bg/60" })
2571
2647
  ] })
2572
2648
  ] })
2573
2649
  ] });
@@ -2596,9 +2672,9 @@ function CustomerInterviewCard({
2596
2672
  });
2597
2673
  const thumbnailUrl = interview.featured_image || placeholderUrl || null;
2598
2674
  if (size === "sm") {
2599
- return /* @__PURE__ */ jsxs16("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
2600
- /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
2601
- thumbnailUrl ? /* @__PURE__ */ jsx24(
2675
+ return /* @__PURE__ */ jsxs17("a", { href, target, rel, className: cn(COMPACT_CARD_OUTER, className), children: [
2676
+ /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
2677
+ thumbnailUrl ? /* @__PURE__ */ jsx25(
2602
2678
  next_image_default,
2603
2679
  {
2604
2680
  src: thumbnailUrl,
@@ -2610,17 +2686,17 @@ function CustomerInterviewCard({
2610
2686
  onError: hideOnError
2611
2687
  }
2612
2688
  ) : null,
2613
- interview.main_video_url ? /* @__PURE__ */ jsx24("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx24(Video, { className: "h-4 w-4 text-ods-text-on-dark" }) }) : null
2689
+ interview.main_video_url ? /* @__PURE__ */ jsx25("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx25(Video, { className: "h-4 w-4 text-ods-text-on-dark" }) }) : null
2614
2690
  ] }),
2615
- /* @__PURE__ */ jsxs16("span", { className: COMPACT_CARD_TEXT_COL, children: [
2616
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_TITLE, children: interview.title }) }),
2617
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_SUBTITLE, children: [interview.user?.full_name, interview.msp?.name].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
2618
- /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx24("span", { className: COMPACT_CARD_SUMMARY, children: interview.video_summary || COMPACT_CARD_ROW_FILLER }) })
2691
+ /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_TEXT_COL, children: [
2692
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_TITLE, children: interview.title }) }),
2693
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_SUBTITLE, children: [interview.user?.full_name, interview.msp?.name].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
2694
+ /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_SUMMARY, children: interview.video_summary || COMPACT_CARD_ROW_FILLER }) })
2619
2695
  ] })
2620
2696
  ] });
2621
2697
  }
2622
2698
  if (size === "portrait") {
2623
- return /* @__PURE__ */ jsx24(
2699
+ return /* @__PURE__ */ jsx25(
2624
2700
  EntityPortraitCard,
2625
2701
  {
2626
2702
  href,
@@ -2641,9 +2717,9 @@ function CustomerInterviewCard({
2641
2717
  }
2642
2718
  );
2643
2719
  }
2644
- return /* @__PURE__ */ jsx24("a", { href, target, rel, className: cn("block h-full", className), children: /* @__PURE__ */ jsxs16(Card, { className: "flex flex-col gap-6 overflow-hidden border border-ods-border bg-ods-card p-6 transition-colors hover:border-ods-accent", children: [
2645
- /* @__PURE__ */ jsx24("div", { className: "relative aspect-[1200/630] w-full shrink-0 overflow-hidden rounded-sm bg-ods-bg", children: thumbnailUrl ? /* @__PURE__ */ jsxs16(Fragment7, { children: [
2646
- /* @__PURE__ */ jsx24(
2720
+ return /* @__PURE__ */ jsx25("a", { href, target, rel, className: cn("block h-full", className), children: /* @__PURE__ */ jsxs17(Card, { className: "flex flex-col gap-6 overflow-hidden border border-ods-border bg-ods-card p-6 transition-colors hover:border-ods-accent", children: [
2721
+ /* @__PURE__ */ jsx25("div", { className: "relative aspect-[1200/630] w-full shrink-0 overflow-hidden rounded-sm bg-ods-bg", children: thumbnailUrl ? /* @__PURE__ */ jsxs17(Fragment7, { children: [
2722
+ /* @__PURE__ */ jsx25(
2647
2723
  next_image_default,
2648
2724
  {
2649
2725
  src: thumbnailUrl,
@@ -2655,13 +2731,13 @@ function CustomerInterviewCard({
2655
2731
  onError: hideOnError
2656
2732
  }
2657
2733
  ),
2658
- interview.main_video_url && /* @__PURE__ */ jsx24("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40", children: /* @__PURE__ */ jsx24("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent/90", children: /* @__PURE__ */ jsx24(Video, { className: "h-8 w-8 text-ods-text-on-accent" }) }) })
2659
- ] }) : /* @__PURE__ */ jsx24("div", { className: "flex h-full w-full items-center justify-center bg-ods-bg", children: /* @__PURE__ */ jsx24(Video, { className: "h-12 w-12 text-ods-text-secondary" }) }) }),
2660
- /* @__PURE__ */ jsx24("div", { className: "shrink-0", children: /* @__PURE__ */ jsx24("h3", { className: "line-clamp-2 break-words text-ods-text-primary text-h3", children: interview.title }) }),
2661
- interview.video_summary && /* @__PURE__ */ jsx24("div", { className: "shrink-0", children: /* @__PURE__ */ jsx24("p", { className: "line-clamp-3 text-ods-text-secondary text-h6", children: interview.video_summary }) }),
2662
- /* @__PURE__ */ jsx24("div", { className: "mt-auto flex h-[60px] shrink-0 items-center", children: /* @__PURE__ */ jsxs16("div", { className: "flex w-full min-w-0 items-center gap-3", children: [
2663
- /* @__PURE__ */ jsxs16("div", { className: "relative h-12 w-12 shrink-0", children: [
2664
- interview.user?.avatar_url ? /* @__PURE__ */ jsx24(
2734
+ interview.main_video_url && /* @__PURE__ */ jsx25("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40", children: /* @__PURE__ */ jsx25("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent/90", children: /* @__PURE__ */ jsx25(Video, { className: "h-8 w-8 text-ods-text-on-accent" }) }) })
2735
+ ] }) : /* @__PURE__ */ jsx25("div", { className: "flex h-full w-full items-center justify-center bg-ods-bg", children: /* @__PURE__ */ jsx25(Video, { className: "h-12 w-12 text-ods-text-secondary" }) }) }),
2736
+ /* @__PURE__ */ jsx25("div", { className: "shrink-0", children: /* @__PURE__ */ jsx25("h3", { className: "line-clamp-2 break-words text-ods-text-primary text-h3", children: interview.title }) }),
2737
+ interview.video_summary && /* @__PURE__ */ jsx25("div", { className: "shrink-0", children: /* @__PURE__ */ jsx25("p", { className: "line-clamp-3 text-ods-text-secondary text-h6", children: interview.video_summary }) }),
2738
+ /* @__PURE__ */ jsx25("div", { className: "mt-auto flex h-[60px] shrink-0 items-center", children: /* @__PURE__ */ jsxs17("div", { className: "flex w-full min-w-0 items-center gap-3", children: [
2739
+ /* @__PURE__ */ jsxs17("div", { className: "relative h-12 w-12 shrink-0", children: [
2740
+ interview.user?.avatar_url ? /* @__PURE__ */ jsx25(
2665
2741
  next_image_default,
2666
2742
  {
2667
2743
  src: interview.user.avatar_url,
@@ -2671,8 +2747,8 @@ function CustomerInterviewCard({
2671
2747
  height: 48,
2672
2748
  unoptimized: true
2673
2749
  }
2674
- ) : /* @__PURE__ */ jsx24("div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx24("span", { className: "text-ods-text-secondary text-h4", children: (interview.user?.full_name || "A").charAt(0).toUpperCase() }) }),
2675
- interview.msp?.icon_url && /* @__PURE__ */ jsx24("div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ jsx24(
2750
+ ) : /* @__PURE__ */ jsx25("div", { className: "flex h-12 w-12 items-center justify-center rounded-full border border-ods-border bg-ods-bg", children: /* @__PURE__ */ jsx25("span", { className: "text-ods-text-secondary text-h4", children: (interview.user?.full_name || "A").charAt(0).toUpperCase() }) }),
2751
+ interview.msp?.icon_url && /* @__PURE__ */ jsx25("div", { className: "absolute -bottom-1 -right-1 flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-ods-text-primary ring-1 ring-ods-bg", children: /* @__PURE__ */ jsx25(
2676
2752
  next_image_default,
2677
2753
  {
2678
2754
  src: interview.msp.icon_url,
@@ -2684,15 +2760,15 @@ function CustomerInterviewCard({
2684
2760
  }
2685
2761
  ) })
2686
2762
  ] }),
2687
- /* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
2688
- /* @__PURE__ */ jsxs16("p", { className: "truncate text-ods-text-primary text-h6", children: [
2763
+ /* @__PURE__ */ jsxs17("div", { className: "min-w-0 flex-1", children: [
2764
+ /* @__PURE__ */ jsxs17("p", { className: "truncate text-ods-text-primary text-h6", children: [
2689
2765
  interview.user?.full_name || "Anonymous",
2690
- interview.msp?.name && /* @__PURE__ */ jsxs16("span", { className: "text-ods-text-secondary", children: [
2766
+ interview.msp?.name && /* @__PURE__ */ jsxs17("span", { className: "text-ods-text-secondary", children: [
2691
2767
  " \u2022 ",
2692
2768
  interview.msp.name
2693
2769
  ] })
2694
2770
  ] }),
2695
- /* @__PURE__ */ jsx24("p", { className: "truncate text-ods-text-secondary text-h6", children: interview.user?.job_title || " " })
2771
+ /* @__PURE__ */ jsx25("p", { className: "truncate text-ods-text-secondary text-h6", children: interview.user?.job_title || " " })
2696
2772
  ] })
2697
2773
  ] }) })
2698
2774
  ] }) });
@@ -2709,28 +2785,28 @@ function formatInvestorUpdatePeriod(start, end, options) {
2709
2785
 
2710
2786
  // src/components/chat/entity-cards/investor-update-card.tsx
2711
2787
  import { Calendar } from "lucide-react";
2712
- import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
2788
+ import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
2713
2789
  function InvestorUpdateCardSkeleton({ size = "default" }) {
2714
2790
  if (size === "sm") {
2715
- return /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2716
- /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2717
- /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_TEXT_COL, children: [
2718
- /* @__PURE__ */ jsxs17("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`, children: [
2719
- /* @__PURE__ */ jsx25("span", { className: "h-3.5 w-1/2 rounded bg-ods-bg" }),
2720
- /* @__PURE__ */ jsx25("span", { className: "h-4 w-8 shrink-0 rounded bg-ods-bg/70" })
2791
+ return /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2792
+ /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2793
+ /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_TEXT_COL, children: [
2794
+ /* @__PURE__ */ jsxs18("span", { className: `${COMPACT_CARD_TITLE_ROW} flex-nowrap gap-2`, children: [
2795
+ /* @__PURE__ */ jsx26("span", { className: "h-3.5 w-1/2 rounded bg-ods-bg" }),
2796
+ /* @__PURE__ */ jsx26("span", { className: "h-4 w-8 shrink-0 rounded bg-ods-bg/70" })
2721
2797
  ] }),
2722
- /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) }),
2723
- /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2798
+ /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: "h-3 w-1/3 rounded bg-ods-bg/70" }) }),
2799
+ /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2724
2800
  ] })
2725
2801
  ] });
2726
2802
  }
2727
- return /* @__PURE__ */ jsxs17("div", { className: "h-full animate-pulse overflow-hidden rounded-lg border border-ods-border bg-ods-card", children: [
2728
- /* @__PURE__ */ jsx25("div", { className: "aspect-[1200/630] bg-ods-bg" }),
2729
- /* @__PURE__ */ jsxs17("div", { className: "space-y-3 p-4", children: [
2730
- /* @__PURE__ */ jsx25("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2731
- /* @__PURE__ */ jsx25("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
2732
- /* @__PURE__ */ jsx25("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" }),
2733
- /* @__PURE__ */ jsx25("div", { className: "h-4 w-1/3 rounded bg-ods-bg/60" })
2803
+ return /* @__PURE__ */ jsxs18("div", { className: "h-full animate-pulse overflow-hidden rounded-lg border border-ods-border bg-ods-card", children: [
2804
+ /* @__PURE__ */ jsx26("div", { className: "aspect-[1200/630] bg-ods-bg" }),
2805
+ /* @__PURE__ */ jsxs18("div", { className: "space-y-3 p-4", children: [
2806
+ /* @__PURE__ */ jsx26("div", { className: "h-5 w-3/4 rounded bg-ods-bg" }),
2807
+ /* @__PURE__ */ jsx26("div", { className: "h-3 w-full rounded bg-ods-bg/60" }),
2808
+ /* @__PURE__ */ jsx26("div", { className: "h-3 w-4/5 rounded bg-ods-bg/60" }),
2809
+ /* @__PURE__ */ jsx26("div", { className: "h-4 w-1/3 rounded bg-ods-bg/60" })
2734
2810
  ] })
2735
2811
  ] });
2736
2812
  }
@@ -2759,8 +2835,8 @@ function InvestorUpdateCard({
2759
2835
  const coverImage = update.featured_image || placeholderUrl || null;
2760
2836
  if (size === "sm") {
2761
2837
  const periodText = formatInvestorUpdatePeriod(update.period_start, update.period_end);
2762
- return /* @__PURE__ */ jsxs17("a", { href, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: [
2763
- /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ jsx25(
2838
+ return /* @__PURE__ */ jsxs18("a", { href, target, rel, className: `${COMPACT_CARD_OUTER} ${className ?? ""}`, children: [
2839
+ /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_IMAGE_SLOT, children: coverImage ? /* @__PURE__ */ jsx26(
2764
2840
  next_image_default,
2765
2841
  {
2766
2842
  src: coverImage,
@@ -2774,23 +2850,23 @@ function InvestorUpdateCard({
2774
2850
  img.style.display = "none";
2775
2851
  }
2776
2852
  }
2777
- ) : /* @__PURE__ */ jsx25("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ jsx25(Calendar, { className: "h-4 w-4" }) }) }),
2778
- /* @__PURE__ */ jsxs17("span", { className: COMPACT_CARD_TEXT_COL, children: [
2779
- /* @__PURE__ */ jsxs17("span", { className: `${COMPACT_CARD_TITLE_ROW} gap-2`, children: [
2780
- /* @__PURE__ */ jsx25("span", { className: `${COMPACT_CARD_TITLE} min-w-0`, children: update.title || `Update #${update.update_number ?? "?"}` }),
2781
- update.update_number ? /* @__PURE__ */ jsxs17("span", { className: "shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-ods-accent text-h6", children: [
2853
+ ) : /* @__PURE__ */ jsx26("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ jsx26(Calendar, { className: "h-4 w-4" }) }) }),
2854
+ /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_TEXT_COL, children: [
2855
+ /* @__PURE__ */ jsxs18("span", { className: `${COMPACT_CARD_TITLE_ROW} gap-2`, children: [
2856
+ /* @__PURE__ */ jsx26("span", { className: `${COMPACT_CARD_TITLE} min-w-0`, children: update.title || `Update #${update.update_number ?? "?"}` }),
2857
+ update.update_number ? /* @__PURE__ */ jsxs18("span", { className: "shrink-0 rounded bg-ods-accent/10 px-1.5 py-0.5 text-ods-accent text-h6", children: [
2782
2858
  "#",
2783
2859
  update.update_number
2784
2860
  ] }) : null
2785
2861
  ] }),
2786
- /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_SUBTITLE, children: periodText || "Investor update" }) }),
2787
- /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx25("span", { className: COMPACT_CARD_SUMMARY, children: (update.strategic_update || update.content || "").slice(0, 120) || COMPACT_CARD_ROW_FILLER }) })
2862
+ /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_SUBTITLE, children: periodText || "Investor update" }) }),
2863
+ /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_SUMMARY, children: (update.strategic_update || update.content || "").slice(0, 120) || COMPACT_CARD_ROW_FILLER }) })
2788
2864
  ] })
2789
2865
  ] });
2790
2866
  }
2791
2867
  if (size === "portrait") {
2792
2868
  const periodText = formatInvestorUpdatePeriod(update.period_start, update.period_end);
2793
- return /* @__PURE__ */ jsx25(
2869
+ return /* @__PURE__ */ jsx26(
2794
2870
  EntityPortraitCard,
2795
2871
  {
2796
2872
  href,
@@ -2806,20 +2882,20 @@ function InvestorUpdateCard({
2806
2882
  }
2807
2883
  );
2808
2884
  }
2809
- return /* @__PURE__ */ jsx25("a", { href, target, rel, className: `block h-full ${className ?? ""}`, children: /* @__PURE__ */ jsx25(
2885
+ return /* @__PURE__ */ jsx26("a", { href, target, rel, className: `block h-full ${className ?? ""}`, children: /* @__PURE__ */ jsx26(
2810
2886
  AdminContentCard,
2811
2887
  {
2812
2888
  imageUrl: update.featured_image,
2813
2889
  placeholderUrl,
2814
2890
  title: update.title || `Update #${update.update_number || "?"}`,
2815
2891
  summary: update.strategic_update?.slice(0, 120) || update.content?.slice(0, 120) || "No description",
2816
- badges: update.update_number ? /* @__PURE__ */ jsxs17("span", { className: "rounded bg-ods-accent/10 px-2 py-0.5 text-xs font-medium text-ods-accent", children: [
2892
+ badges: update.update_number ? /* @__PURE__ */ jsxs18("span", { className: "rounded bg-ods-accent/10 px-2 py-0.5 text-xs font-medium text-ods-accent", children: [
2817
2893
  "#",
2818
2894
  update.update_number
2819
2895
  ] }) : void 0,
2820
- meta: update.period_start || update.period_end ? /* @__PURE__ */ jsxs17("div", { className: "flex items-center gap-1", children: [
2821
- /* @__PURE__ */ jsx25(Calendar, { className: "h-3 w-3" }),
2822
- /* @__PURE__ */ jsx25("span", { children: formatInvestorUpdatePeriod(update.period_start, update.period_end) })
2896
+ meta: update.period_start || update.period_end ? /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1", children: [
2897
+ /* @__PURE__ */ jsx26(Calendar, { className: "h-3 w-3" }),
2898
+ /* @__PURE__ */ jsx26("span", { children: formatInvestorUpdatePeriod(update.period_start, update.period_end) })
2823
2899
  ] }) : void 0
2824
2900
  }
2825
2901
  ) });
@@ -2827,7 +2903,7 @@ function InvestorUpdateCard({
2827
2903
 
2828
2904
  // src/components/chat/entity-cards/onboarding-guide-card.tsx
2829
2905
  import { Clock, ExternalLink, GraduationCap, Play as Play2 } from "lucide-react";
2830
- import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
2906
+ import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
2831
2907
  function stripMarkdownPreview(text) {
2832
2908
  return text.replace(/```[\s\S]*?```/g, " ").replace(/^#{1,6}\s+/gm, "").replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/[*_~`>]/g, "").replace(/^\s*[-+]\s+/gm, "").replace(/-{3,}/g, " ").replace(/\s+/g, " ").trim().replace(/^([\s\S]{240})[\s\S]+$/, "$1\u2026");
2833
2909
  }
@@ -2841,64 +2917,64 @@ var HORIZONTAL_SIZE_TOKENS = {
2841
2917
  };
2842
2918
  function OnboardingGuideCardSkeleton({ size = "default" }) {
2843
2919
  if (size === "catalog") {
2844
- return /* @__PURE__ */ jsxs18("div", { className: "flex animate-pulse flex-col gap-4 overflow-hidden rounded-lg border border-ods-border bg-ods-card p-6", children: [
2845
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
2846
- /* @__PURE__ */ jsx26("div", { className: "aspect-[1200/630] w-full flex-shrink-0 rounded-lg bg-ods-border md:w-[256px]" }),
2847
- /* @__PURE__ */ jsxs18("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2848
- /* @__PURE__ */ jsxs18("div", { className: "mb-3 flex min-h-[60px] flex-col justify-start gap-1.5 md:min-h-[72px]", children: [
2849
- /* @__PURE__ */ jsx26("div", { className: "h-[25px] w-3/4 rounded bg-ods-border md:h-[30px]" }),
2850
- /* @__PURE__ */ jsx26("div", { className: "h-[25px] w-1/2 rounded bg-ods-border md:h-[30px]" })
2920
+ return /* @__PURE__ */ jsxs19("div", { className: "flex animate-pulse flex-col gap-4 overflow-hidden rounded-lg border border-ods-border bg-ods-card p-6", children: [
2921
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
2922
+ /* @__PURE__ */ jsx27("div", { className: "aspect-[1200/630] w-full flex-shrink-0 rounded-lg bg-ods-border md:w-[256px]" }),
2923
+ /* @__PURE__ */ jsxs19("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2924
+ /* @__PURE__ */ jsxs19("div", { className: "mb-3 flex min-h-[60px] flex-col justify-start gap-1.5 md:min-h-[72px]", children: [
2925
+ /* @__PURE__ */ jsx27("div", { className: "h-[25px] w-3/4 rounded bg-ods-border md:h-[30px]" }),
2926
+ /* @__PURE__ */ jsx27("div", { className: "h-[25px] w-1/2 rounded bg-ods-border md:h-[30px]" })
2851
2927
  ] }),
2852
- /* @__PURE__ */ jsxs18("div", { className: "flex min-h-[46px] flex-col justify-start gap-2 md:min-h-[52px]", children: [
2853
- /* @__PURE__ */ jsx26("div", { className: "h-3 w-full rounded bg-ods-border/70" }),
2854
- /* @__PURE__ */ jsx26("div", { className: "h-3 w-5/6 rounded bg-ods-border/70" })
2928
+ /* @__PURE__ */ jsxs19("div", { className: "flex min-h-[46px] flex-col justify-start gap-2 md:min-h-[52px]", children: [
2929
+ /* @__PURE__ */ jsx27("div", { className: "h-3 w-full rounded bg-ods-border/70" }),
2930
+ /* @__PURE__ */ jsx27("div", { className: "h-3 w-5/6 rounded bg-ods-border/70" })
2855
2931
  ] })
2856
2932
  ] })
2857
2933
  ] }),
2858
- /* @__PURE__ */ jsxs18("div", { className: "grid w-full grid-cols-1 overflow-hidden rounded-md border border-ods-border md:grid-cols-3", children: [
2859
- [0, 1].map((i) => /* @__PURE__ */ jsx26(
2934
+ /* @__PURE__ */ jsxs19("div", { className: "grid w-full grid-cols-1 overflow-hidden rounded-md border border-ods-border md:grid-cols-3", children: [
2935
+ [0, 1].map((i) => /* @__PURE__ */ jsx27(
2860
2936
  "div",
2861
2937
  {
2862
2938
  className: "flex flex-col gap-3 border-b border-ods-border bg-ods-card p-4 md:border-b-0 md:border-r",
2863
- children: /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-2", children: [
2864
- /* @__PURE__ */ jsx26("div", { className: "h-6 w-32 rounded bg-ods-bg" }),
2865
- /* @__PURE__ */ jsx26("div", { className: "h-3 w-20 rounded bg-ods-bg/60" })
2939
+ children: /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-2", children: [
2940
+ /* @__PURE__ */ jsx27("div", { className: "h-6 w-32 rounded bg-ods-bg" }),
2941
+ /* @__PURE__ */ jsx27("div", { className: "h-3 w-20 rounded bg-ods-bg/60" })
2866
2942
  ] })
2867
2943
  },
2868
2944
  `cell-${i}`
2869
2945
  )),
2870
- /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
2871
- /* @__PURE__ */ jsx26("div", { className: "h-10 w-10 shrink-0 rounded-full bg-ods-bg" }),
2872
- /* @__PURE__ */ jsxs18("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2873
- /* @__PURE__ */ jsx26("div", { className: "h-4 w-3/4 rounded bg-ods-bg" }),
2874
- /* @__PURE__ */ jsx26("div", { className: "h-3 w-1/2 rounded bg-ods-bg/60" })
2946
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-3 bg-ods-card p-4", children: [
2947
+ /* @__PURE__ */ jsx27("div", { className: "h-10 w-10 shrink-0 rounded-full bg-ods-bg" }),
2948
+ /* @__PURE__ */ jsxs19("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2949
+ /* @__PURE__ */ jsx27("div", { className: "h-4 w-3/4 rounded bg-ods-bg" }),
2950
+ /* @__PURE__ */ jsx27("div", { className: "h-3 w-1/2 rounded bg-ods-bg/60" })
2875
2951
  ] })
2876
2952
  ] })
2877
2953
  ] })
2878
2954
  ] });
2879
2955
  }
2880
2956
  if (size === "sm") {
2881
- return /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2882
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2883
- /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_TEXT_COL, children: [
2884
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx26("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2885
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
2886
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2957
+ return /* @__PURE__ */ jsxs19("span", { className: COMPACT_CARD_SKELETON_OUTER, children: [
2958
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_SKELETON_IMAGE_SLOT }),
2959
+ /* @__PURE__ */ jsxs19("span", { className: COMPACT_CARD_TEXT_COL, children: [
2960
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx27("span", { className: "h-3.5 w-3/5 rounded bg-ods-bg" }) }),
2961
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx27("span", { className: "h-3 w-2/5 rounded bg-ods-bg/70" }) }),
2962
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx27("span", { className: "h-3 w-11/12 rounded bg-ods-bg/40" }) })
2887
2963
  ] }),
2888
- /* @__PURE__ */ jsx26("span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ jsx26("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
2964
+ /* @__PURE__ */ jsx27("span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ jsx27("span", { className: "h-3.5 w-3.5 rounded bg-ods-bg" }) })
2889
2965
  ] });
2890
2966
  }
2891
2967
  const t = HORIZONTAL_SIZE_TOKENS.default;
2892
- return /* @__PURE__ */ jsxs18(
2968
+ return /* @__PURE__ */ jsxs19(
2893
2969
  "span",
2894
2970
  {
2895
2971
  className: `flex items-start gap-3 rounded-md border border-ods-border bg-ods-card ${t.padding} animate-pulse`,
2896
2972
  children: [
2897
- /* @__PURE__ */ jsx26("span", { className: `inline-flex shrink-0 items-center justify-center rounded-full bg-ods-bg ${t.step}` }),
2898
- /* @__PURE__ */ jsxs18("span", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2899
- /* @__PURE__ */ jsx26("span", { className: "block h-4 w-2/3 rounded bg-ods-bg" }),
2900
- /* @__PURE__ */ jsx26("span", { className: "block h-3 w-1/3 rounded bg-ods-bg/70" }),
2901
- /* @__PURE__ */ jsx26("span", { className: "block h-3 w-full rounded bg-ods-bg/40" })
2973
+ /* @__PURE__ */ jsx27("span", { className: `inline-flex shrink-0 items-center justify-center rounded-full bg-ods-bg ${t.step}` }),
2974
+ /* @__PURE__ */ jsxs19("span", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
2975
+ /* @__PURE__ */ jsx27("span", { className: "block h-4 w-2/3 rounded bg-ods-bg" }),
2976
+ /* @__PURE__ */ jsx27("span", { className: "block h-3 w-1/3 rounded bg-ods-bg/70" }),
2977
+ /* @__PURE__ */ jsx27("span", { className: "block h-3 w-full rounded bg-ods-bg/40" })
2902
2978
  ] })
2903
2979
  ]
2904
2980
  }
@@ -2928,7 +3004,7 @@ function OnboardingGuideCard({
2928
3004
  });
2929
3005
  if (size === "portrait") {
2930
3006
  const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
2931
- return /* @__PURE__ */ jsx26(
3007
+ return /* @__PURE__ */ jsx27(
2932
3008
  EntityPortraitCard,
2933
3009
  {
2934
3010
  href,
@@ -2949,7 +3025,7 @@ function OnboardingGuideCard({
2949
3025
  const hasVideoCover = !!(guide.main_video_thumbnail || guide.highlight_video_thumbnail);
2950
3026
  const stepLabel = typeof guide.step_order === "number" ? String(guide.step_order).padStart(2, "0") : "\u2014";
2951
3027
  const durationLabel = typeof guide.highlight_video_duration_ms === "number" && guide.highlight_video_duration_ms > 0 ? formatDurationMMSS(Math.floor(guide.highlight_video_duration_ms / 1e3)) : "";
2952
- return /* @__PURE__ */ jsx26(
3028
+ return /* @__PURE__ */ jsx27(
2953
3029
  next_link_default,
2954
3030
  {
2955
3031
  href,
@@ -2965,10 +3041,10 @@ function OnboardingGuideCard({
2965
3041
  className
2966
3042
  ),
2967
3043
  "aria-label": `Open ${guide.title}`,
2968
- children: /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-4 p-6", children: [
2969
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
2970
- /* @__PURE__ */ jsx26("div", { className: "w-full flex-shrink-0 md:w-[256px]", children: /* @__PURE__ */ jsxs18("div", { className: "relative aspect-[1200/630] w-full overflow-hidden rounded-lg bg-ods-bg", children: [
2971
- coverImage ? /* @__PURE__ */ jsx26(
3044
+ children: /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-4 p-6", children: [
3045
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-4 md:flex-row md:gap-6", children: [
3046
+ /* @__PURE__ */ jsx27("div", { className: "w-full flex-shrink-0 md:w-[256px]", children: /* @__PURE__ */ jsxs19("div", { className: "relative aspect-[1200/630] w-full overflow-hidden rounded-lg bg-ods-bg", children: [
3047
+ coverImage ? /* @__PURE__ */ jsx27(
2972
3048
  next_image_default,
2973
3049
  {
2974
3050
  src: coverImage,
@@ -2978,7 +3054,7 @@ function OnboardingGuideCard({
2978
3054
  className: "object-cover",
2979
3055
  unoptimized: true
2980
3056
  }
2981
- ) : /* @__PURE__ */ jsx26(
3057
+ ) : /* @__PURE__ */ jsx27(
2982
3058
  BlogImagePlaceholder,
2983
3059
  {
2984
3060
  title: guide.title,
@@ -2986,18 +3062,18 @@ function OnboardingGuideCard({
2986
3062
  className: "absolute inset-0"
2987
3063
  }
2988
3064
  ),
2989
- hasVideoCover && coverImage && /* @__PURE__ */ jsx26("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx26(Play2, { className: "h-10 w-10 text-ods-text-on-dark", fill: "white" }) }),
2990
- durationLabel && /* @__PURE__ */ jsxs18("span", { className: "absolute bottom-2 right-2 inline-flex items-center gap-1 rounded bg-black/60 px-2 py-1 text-ods-text-on-dark text-code", children: [
2991
- /* @__PURE__ */ jsx26(Clock, { className: "h-3 w-3" }),
3065
+ hasVideoCover && coverImage && /* @__PURE__ */ jsx27("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx27(Play2, { className: "h-10 w-10 text-ods-text-on-dark", fill: "white" }) }),
3066
+ durationLabel && /* @__PURE__ */ jsxs19("span", { className: "absolute bottom-2 right-2 inline-flex items-center gap-1 rounded bg-black/60 px-2 py-1 text-ods-text-on-dark text-code", children: [
3067
+ /* @__PURE__ */ jsx27(Clock, { className: "h-3 w-3" }),
2992
3068
  durationLabel
2993
3069
  ] })
2994
3070
  ] }) }),
2995
- /* @__PURE__ */ jsxs18("div", { className: "flex min-w-0 flex-1 flex-col", children: [
2996
- /* @__PURE__ */ jsx26("div", { className: "mb-3 flex min-h-[60px] items-start md:min-h-[72px]", children: /* @__PURE__ */ jsx26("h3", { className: "line-clamp-2 text-ods-text-primary text-h2", children: guide.title }) }),
2997
- /* @__PURE__ */ jsx26("div", { className: "min-h-[46px] md:min-h-[52px]", children: /* @__PURE__ */ jsx26("p", { className: "line-clamp-2 text-ods-text-secondary text-h6", children: stripMarkdownPreview(guide.video_summary || guide.content || "") }) })
3071
+ /* @__PURE__ */ jsxs19("div", { className: "flex min-w-0 flex-1 flex-col", children: [
3072
+ /* @__PURE__ */ jsx27("div", { className: "mb-3 flex min-h-[60px] items-start md:min-h-[72px]", children: /* @__PURE__ */ jsx27("h3", { className: "line-clamp-2 text-ods-text-primary text-h2", children: guide.title }) }),
3073
+ /* @__PURE__ */ jsx27("div", { className: "min-h-[46px] md:min-h-[52px]", children: /* @__PURE__ */ jsx27("p", { className: "line-clamp-2 text-ods-text-secondary text-h6", children: stripMarkdownPreview(guide.video_summary || guide.content || "") }) })
2998
3074
  ] })
2999
3075
  ] }),
3000
- /* @__PURE__ */ jsx26(
3076
+ /* @__PURE__ */ jsx27(
3001
3077
  EntityAuthorCard,
3002
3078
  {
3003
3079
  author: guide.author,
@@ -3025,22 +3101,22 @@ function OnboardingGuideCard({
3025
3101
  const subtitleParts = [`Step ${guide.step_order}`, guide.section, author].filter(
3026
3102
  (s) => typeof s === "string" && s.length > 0
3027
3103
  );
3028
- return /* @__PURE__ */ jsxs18(next_link_default, { href, target, rel, prefetch: false, className: cn(COMPACT_CARD_OUTER, className), children: [
3029
- /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
3030
- compactCover ? /* @__PURE__ */ jsx26(next_image_default, { src: compactCover, alt: guide.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ jsx26("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ jsx26(GraduationCap, { className: "h-4 w-4" }) }),
3031
- hasVideoCover && compactCover && /* @__PURE__ */ jsx26("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx26(Play2, { className: "h-4 w-4 text-ods-text-on-dark", fill: "white" }) })
3104
+ return /* @__PURE__ */ jsxs19(next_link_default, { href, target, rel, prefetch: false, className: cn(COMPACT_CARD_OUTER, className), children: [
3105
+ /* @__PURE__ */ jsxs19("span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
3106
+ compactCover ? /* @__PURE__ */ jsx27(next_image_default, { src: compactCover, alt: guide.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ jsx27("span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ jsx27(GraduationCap, { className: "h-4 w-4" }) }),
3107
+ hasVideoCover && compactCover && /* @__PURE__ */ jsx27("span", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ jsx27(Play2, { className: "h-4 w-4 text-ods-text-on-dark", fill: "white" }) })
3032
3108
  ] }),
3033
- /* @__PURE__ */ jsxs18("span", { className: COMPACT_CARD_TEXT_COL, children: [
3034
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx26("span", { className: cn(COMPACT_CARD_TITLE, "font-heading"), children: guide.title }) }),
3035
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
3036
- /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx26("span", { className: COMPACT_CARD_SUMMARY, children: summary2 || COMPACT_CARD_ROW_FILLER }) })
3109
+ /* @__PURE__ */ jsxs19("span", { className: COMPACT_CARD_TEXT_COL, children: [
3110
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ jsx27("span", { className: cn(COMPACT_CARD_TITLE, "font-heading"), children: guide.title }) }),
3111
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx27("span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
3112
+ /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ jsx27("span", { className: COMPACT_CARD_SUMMARY, children: summary2 || COMPACT_CARD_ROW_FILLER }) })
3037
3113
  ] }),
3038
- /* @__PURE__ */ jsx26("span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ jsx26(ExternalLink, { className: "h-3.5 w-3.5" }) })
3114
+ /* @__PURE__ */ jsx27("span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ jsx27(ExternalLink, { className: "h-3.5 w-3.5" }) })
3039
3115
  ] });
3040
3116
  }
3041
3117
  const t = HORIZONTAL_SIZE_TOKENS.default;
3042
3118
  const summary = stripMarkdownPreview(guide.video_summary || guide.content || "");
3043
- return /* @__PURE__ */ jsxs18(
3119
+ return /* @__PURE__ */ jsxs19(
3044
3120
  next_link_default,
3045
3121
  {
3046
3122
  href,
@@ -3052,7 +3128,7 @@ function OnboardingGuideCard({
3052
3128
  className
3053
3129
  ),
3054
3130
  children: [
3055
- /* @__PURE__ */ jsx26(
3131
+ /* @__PURE__ */ jsx27(
3056
3132
  "span",
3057
3133
  {
3058
3134
  className: `inline-flex shrink-0 items-center justify-center rounded-full bg-ods-accent/10 font-semibold text-ods-accent ${t.step}`,
@@ -3060,90 +3136,19 @@ function OnboardingGuideCard({
3060
3136
  children: guide.step_order
3061
3137
  }
3062
3138
  ),
3063
- /* @__PURE__ */ jsxs18("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
3064
- /* @__PURE__ */ jsx26("span", { className: `block ${t.title} truncate text-ods-text-primary`, children: guide.title }),
3065
- /* @__PURE__ */ jsxs18("span", { className: "inline-flex items-center gap-1 text-ods-text-secondary text-h6", children: [
3066
- /* @__PURE__ */ jsx26(GraduationCap, { className: "h-3 w-3 shrink-0" }),
3067
- /* @__PURE__ */ jsx26("span", { className: "truncate", children: guide.section })
3139
+ /* @__PURE__ */ jsxs19("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
3140
+ /* @__PURE__ */ jsx27("span", { className: `block ${t.title} truncate text-ods-text-primary`, children: guide.title }),
3141
+ /* @__PURE__ */ jsxs19("span", { className: "inline-flex items-center gap-1 text-ods-text-secondary text-h6", children: [
3142
+ /* @__PURE__ */ jsx27(GraduationCap, { className: "h-3 w-3 shrink-0" }),
3143
+ /* @__PURE__ */ jsx27("span", { className: "truncate", children: guide.section })
3068
3144
  ] }),
3069
- summary && /* @__PURE__ */ jsx26("span", { className: `text-ods-text-secondary text-h6 ${t.summaryClamp}`, children: summary })
3145
+ summary && /* @__PURE__ */ jsx27("span", { className: `text-ods-text-secondary text-h6 ${t.summaryClamp}`, children: summary })
3070
3146
  ] })
3071
3147
  ]
3072
3148
  }
3073
3149
  );
3074
3150
  }
3075
3151
 
3076
- // src/components/ui/avatar-stack.tsx
3077
- import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
3078
- var SIZE_PX = { xs: 24, sm: 32, md: 40, lg: 48 };
3079
- var OVERLAP_PX = { xs: 8, sm: 12, md: 12, lg: 12 };
3080
- var OVERFLOW_CIRCLE_SIZE = {
3081
- xs: "h-6 min-w-6",
3082
- sm: "h-8 min-w-8",
3083
- md: "h-10 min-w-10",
3084
- lg: "h-12 min-w-12"
3085
- };
3086
- function AvatarStack({
3087
- people,
3088
- max = 3,
3089
- slots,
3090
- size = "md",
3091
- ringClassName = "ring-ods-card",
3092
- label = "Assignees",
3093
- className
3094
- }) {
3095
- if (people.length === 0) return null;
3096
- const faces = slots ? people.length > slots ? slots - 1 : slots : max;
3097
- const visible = people.slice(0, faces);
3098
- const overflow = people.slice(faces);
3099
- const compact = size === "xs";
3100
- return /* @__PURE__ */ jsxs19(
3101
- "div",
3102
- {
3103
- className: cn("flex items-center", slots && "shrink-0", className),
3104
- style: slots ? { width: SIZE_PX[size] + (slots - 1) * (SIZE_PX[size] - OVERLAP_PX[size]) } : void 0,
3105
- role: "group",
3106
- "aria-label": `${label}: ${people.map((p) => p.name).join(", ")}`,
3107
- children: [
3108
- visible.map((person, i) => /* @__PURE__ */ jsx27(
3109
- SquareAvatar,
3110
- {
3111
- variant: "round",
3112
- size,
3113
- src: person.avatarUrl ?? void 0,
3114
- alt: person.name,
3115
- fallback: person.name,
3116
- title: person.name,
3117
- className: cn("relative ring-2", ringClassName, i > 0 && (compact ? "-ml-2" : "-ml-3")),
3118
- style: { zIndex: visible.length - i }
3119
- },
3120
- person.key ?? `${person.name}-${i}`
3121
- )),
3122
- overflow.length > 0 && /* @__PURE__ */ jsxs19(
3123
- "span",
3124
- {
3125
- title: overflow.map((p) => p.name).join(", "),
3126
- className: cn(
3127
- "relative z-0 flex shrink-0 items-center justify-center rounded-full bg-ods-bg text-ods-text-secondary ring-2",
3128
- ringClassName,
3129
- // The circle tucks under the last face like every other avatar, so
3130
- // its left edge is covered: the left padding equals that overlap,
3131
- // centering "+N" in the part that shows. `min-w` (not a fixed
3132
- // width) lets a two-digit count widen the circle instead of clipping.
3133
- compact ? "-ml-2 pl-2 pr-1 text-badge" : "-ml-3 pl-3 pr-1.5 text-h6",
3134
- OVERFLOW_CIRCLE_SIZE[size]
3135
- ),
3136
- children: [
3137
- "+",
3138
- overflow.length
3139
- ]
3140
- }
3141
- )
3142
- ]
3143
- }
3144
- );
3145
- }
3146
-
3147
3152
  // src/components/chat/utils/agent-status-message.ts
3148
3153
  function getStatusColorScheme(status) {
3149
3154
  const s = status?.toLowerCase() || "";
@@ -4240,6 +4245,7 @@ export {
4240
4245
  pickBadgePaletteColor,
4241
4246
  PaletteBadge,
4242
4247
  DepartmentBadge,
4248
+ AvatarStack,
4243
4249
  getProxiedImageUrl,
4244
4250
  urlPathLooksLikeSvg,
4245
4251
  shouldProxyImage,
@@ -4313,7 +4319,6 @@ export {
4313
4319
  InvestorUpdateCard,
4314
4320
  OnboardingGuideCardSkeleton,
4315
4321
  OnboardingGuideCard,
4316
- AvatarStack,
4317
4322
  getStatusColorScheme,
4318
4323
  CUSTOM_ITEM_ID,
4319
4324
  getTaskTypeLabel,
@@ -4364,4 +4369,4 @@ export {
4364
4369
  canonicalContentRefType,
4365
4370
  buildListUrl
4366
4371
  };
4367
- //# sourceMappingURL=chunk-T6KWNJDW.js.map
4372
+ //# sourceMappingURL=chunk-22RSJ57Z.js.map