@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.
- package/dist/{chunk-T6KWNJDW.js → chunk-22RSJ57Z.js} +470 -465
- package/dist/chunk-22RSJ57Z.js.map +1 -0
- package/dist/{chunk-65KTXRBY.js → chunk-2G2CB7ZZ.js} +6 -6
- package/dist/{chunk-K2HZG4RM.cjs → chunk-2OD2PPNO.cjs} +32 -32
- package/dist/{chunk-K2HZG4RM.cjs.map → chunk-2OD2PPNO.cjs.map} +1 -1
- package/dist/{chunk-HMXUOLZR.cjs → chunk-3DO76UAB.cjs} +20 -20
- package/dist/{chunk-HMXUOLZR.cjs.map → chunk-3DO76UAB.cjs.map} +1 -1
- package/dist/{chunk-XW7MUIW4.js → chunk-3NIZ2VLQ.js} +3 -3
- package/dist/{chunk-5LJZPJHX.cjs → chunk-4LBCUBVL.cjs} +59 -59
- package/dist/{chunk-5LJZPJHX.cjs.map → chunk-4LBCUBVL.cjs.map} +1 -1
- package/dist/{chunk-ZF4Z36G4.js → chunk-4RJQMOQW.js} +7 -7
- package/dist/{chunk-TJI5V5BR.cjs → chunk-AF4XOURN.cjs} +7 -7
- package/dist/{chunk-TJI5V5BR.cjs.map → chunk-AF4XOURN.cjs.map} +1 -1
- package/dist/{chunk-7XF63THA.js → chunk-ASBBGP36.js} +6 -6
- package/dist/{chunk-O7LOZW4R.js → chunk-C5TFPMOM.js} +5 -5
- package/dist/{chunk-CMQXPD5C.cjs → chunk-GETQTNRV.cjs} +28 -28
- package/dist/{chunk-CMQXPD5C.cjs.map → chunk-GETQTNRV.cjs.map} +1 -1
- package/dist/{chunk-TUG7IT6H.js → chunk-HLEXYTOE.js} +2 -2
- package/dist/{chunk-M4HYIXP6.cjs → chunk-IBUFFKAK.cjs} +399 -383
- package/dist/chunk-IBUFFKAK.cjs.map +1 -0
- package/dist/{chunk-GXV6UEVY.js → chunk-IELOPDTA.js} +3 -3
- package/dist/{chunk-T4DUTP5C.cjs → chunk-II5GVLTN.cjs} +5 -5
- package/dist/{chunk-T4DUTP5C.cjs.map → chunk-II5GVLTN.cjs.map} +1 -1
- package/dist/{chunk-B32YLOYQ.js → chunk-JBJZL5PI.js} +4 -4
- package/dist/{chunk-UT333EOT.js → chunk-LCOMNQLX.js} +4 -4
- package/dist/{chunk-VDPCK437.js → chunk-MHTB67ZH.js} +21 -5
- package/dist/{chunk-VDPCK437.js.map → chunk-MHTB67ZH.js.map} +1 -1
- package/dist/{chunk-EFBMNVSH.cjs → chunk-MZAZUSPQ.cjs} +15 -15
- package/dist/{chunk-EFBMNVSH.cjs.map → chunk-MZAZUSPQ.cjs.map} +1 -1
- package/dist/{chunk-C3B36OYZ.cjs → chunk-N3I53B5W.cjs} +3 -3
- package/dist/{chunk-C3B36OYZ.cjs.map → chunk-N3I53B5W.cjs.map} +1 -1
- package/dist/{chunk-WJK2EETW.js → chunk-NINO3PI7.js} +2 -2
- package/dist/{chunk-YCTVLN47.cjs → chunk-P4SBHO7U.cjs} +10 -10
- package/dist/{chunk-YCTVLN47.cjs.map → chunk-P4SBHO7U.cjs.map} +1 -1
- package/dist/{chunk-PSQKD6ZN.js → chunk-PG65AE3I.js} +3 -3
- package/dist/{chunk-DQOQ3KTP.cjs → chunk-QNWQQ4RT.cjs} +78 -73
- package/dist/chunk-QNWQQ4RT.cjs.map +1 -0
- package/dist/{chunk-BZ2XOEHW.js → chunk-QOH45QSE.js} +3 -3
- package/dist/{chunk-DWXWEGGO.cjs → chunk-QTXDXHMD.cjs} +22 -22
- package/dist/{chunk-DWXWEGGO.cjs.map → chunk-QTXDXHMD.cjs.map} +1 -1
- package/dist/{chunk-B25CF3PO.cjs → chunk-RBCMBRI7.cjs} +30 -30
- package/dist/{chunk-B25CF3PO.cjs.map → chunk-RBCMBRI7.cjs.map} +1 -1
- package/dist/{chunk-QHLJSB2J.cjs → chunk-RKH7DEDF.cjs} +12 -12
- package/dist/{chunk-QHLJSB2J.cjs.map → chunk-RKH7DEDF.cjs.map} +1 -1
- package/dist/{chunk-Y7ZYOQNB.js → chunk-RSMAVO2Z.js} +3 -3
- package/dist/{chunk-A3CSQB4A.cjs → chunk-SI77HF4U.cjs} +1247 -805
- package/dist/chunk-SI77HF4U.cjs.map +1 -0
- package/dist/{chunk-GHLGXFNU.js → chunk-U6JC3RS2.js} +3 -3
- package/dist/{chunk-B5N3AHPG.cjs → chunk-UBXEETWQ.cjs} +81 -81
- package/dist/{chunk-B5N3AHPG.cjs.map → chunk-UBXEETWQ.cjs.map} +1 -1
- package/dist/{chunk-N4Z6X5BV.js → chunk-WFH52OVQ.js} +5 -5
- package/dist/{chunk-U3IXG7TR.cjs → chunk-WJX3ZSOE.cjs} +33 -33
- package/dist/{chunk-U3IXG7TR.cjs.map → chunk-WJX3ZSOE.cjs.map} +1 -1
- package/dist/{chunk-XGX6JSEU.js → chunk-YPXXXX6R.js} +2086 -1644
- package/dist/chunk-YPXXXX6R.js.map +1 -0
- package/dist/{chunk-P2ASEPA2.cjs → chunk-ZS3YCJYY.cjs} +6 -6
- package/dist/{chunk-P2ASEPA2.cjs.map → chunk-ZS3YCJYY.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +16 -16
- package/dist/components/case-studies/index.js +4 -4
- package/dist/components/chat/ai-assistant-info.d.ts.map +1 -1
- package/dist/components/chat/approval-request-message.d.ts.map +1 -1
- package/dist/components/chat/chat-appearance-context.d.ts +9 -0
- package/dist/components/chat/chat-appearance-context.d.ts.map +1 -0
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-list.d.ts.map +1 -1
- package/dist/components/chat/chat-nav-sidebar.d.ts +50 -0
- package/dist/components/chat/chat-nav-sidebar.d.ts.map +1 -0
- package/dist/components/chat/chat-top-navigation.d.ts +29 -0
- package/dist/components/chat/chat-top-navigation.d.ts.map +1 -0
- package/dist/components/chat/error-message-display.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +21 -3
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +6 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +20 -2
- package/dist/components/chat/msp-organization-card.d.ts +7 -1
- package/dist/components/chat/msp-organization-card.d.ts.map +1 -1
- package/dist/components/chat/onboarding-carousel.d.ts +29 -0
- package/dist/components/chat/onboarding-carousel.d.ts.map +1 -0
- package/dist/components/chat/system-event-message.d.ts +14 -0
- package/dist/components/chat/system-event-message.d.ts.map +1 -0
- package/dist/components/chat/types/chat.types.d.ts +13 -0
- package/dist/components/chat/types/chat.types.d.ts.map +1 -1
- package/dist/components/chat/types/component.types.d.ts +20 -1
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/docs/index.js +7 -7
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/help-center-pages/index.cjs +91 -91
- package/dist/components/help-center-pages/index.js +15 -15
- package/dist/components/index.cjs +73 -55
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +33 -15
- package/dist/components/index.js.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +41 -41
- package/dist/components/meeting-scheduler/index.js +3 -3
- package/dist/components/navigation/index.cjs +7 -7
- package/dist/components/navigation/index.js +6 -6
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +8 -8
- package/dist/components/tickets/index.js +7 -7
- package/dist/components/ui/avatar-stack.d.ts +5 -1
- package/dist/components/ui/avatar-stack.d.ts.map +1 -1
- package/dist/components/ui/index.cjs +22 -4
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +21 -3
- package/dist/components/ui/reopen-ticket-request-modal.d.ts +4 -1
- package/dist/components/ui/reopen-ticket-request-modal.d.ts.map +1 -1
- package/dist/components/ui/tab-navigation.d.ts +7 -0
- package/dist/components/ui/tab-navigation.d.ts.map +1 -1
- package/dist/index.cjs +27 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +25 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/__tests__/chat-appearance.test.tsx +79 -0
- package/src/components/chat/__tests__/onboarding-carousel.test.tsx +56 -0
- package/src/components/chat/ai-assistant-info.tsx +7 -1
- package/src/components/chat/approval-request-message.tsx +6 -1
- package/src/components/chat/chat-appearance-context.tsx +15 -0
- package/src/components/chat/chat-input.tsx +26 -1
- package/src/components/chat/chat-message-enhanced.tsx +180 -142
- package/src/components/chat/chat-message-list.tsx +169 -164
- package/src/components/chat/chat-nav-sidebar.tsx +163 -0
- package/src/components/chat/chat-top-navigation.tsx +109 -0
- package/src/components/chat/error-message-display.tsx +21 -3
- package/src/components/chat/index.ts +6 -0
- package/src/components/chat/msp-organization-card.tsx +35 -0
- package/src/components/chat/onboarding-carousel.tsx +162 -0
- package/src/components/chat/system-event-message.tsx +54 -0
- package/src/components/chat/types/chat.types.ts +15 -0
- package/src/components/chat/types/component.types.ts +20 -0
- package/src/components/ui/__tests__/avatar-stack.test.tsx +25 -0
- package/src/components/ui/__tests__/tab-navigation.test.tsx +56 -2
- package/src/components/ui/avatar-stack.tsx +15 -5
- package/src/components/ui/reopen-ticket-request-modal.tsx +6 -2
- package/src/components/ui/tab-navigation.tsx +23 -0
- package/src/stories/FaeLayoutV2.stories.tsx +150 -0
- package/src/stories/FaeOnboardingV2.stories.tsx +68 -0
- package/src/stories/FaeThreadV2.stories.tsx +192 -0
- package/src/stories/fae-brand-decorator.tsx +28 -0
- package/src/styles/ods-colors.css +10 -0
- package/src/styles/ods-effects.css +13 -0
- package/dist/chunk-A3CSQB4A.cjs.map +0 -1
- package/dist/chunk-DQOQ3KTP.cjs.map +0 -1
- package/dist/chunk-M4HYIXP6.cjs.map +0 -1
- package/dist/chunk-T6KWNJDW.js.map +0 -1
- package/dist/chunk-XGX6JSEU.js.map +0 -1
- /package/dist/{chunk-65KTXRBY.js.map → chunk-2G2CB7ZZ.js.map} +0 -0
- /package/dist/{chunk-XW7MUIW4.js.map → chunk-3NIZ2VLQ.js.map} +0 -0
- /package/dist/{chunk-ZF4Z36G4.js.map → chunk-4RJQMOQW.js.map} +0 -0
- /package/dist/{chunk-7XF63THA.js.map → chunk-ASBBGP36.js.map} +0 -0
- /package/dist/{chunk-O7LOZW4R.js.map → chunk-C5TFPMOM.js.map} +0 -0
- /package/dist/{chunk-TUG7IT6H.js.map → chunk-HLEXYTOE.js.map} +0 -0
- /package/dist/{chunk-GXV6UEVY.js.map → chunk-IELOPDTA.js.map} +0 -0
- /package/dist/{chunk-B32YLOYQ.js.map → chunk-JBJZL5PI.js.map} +0 -0
- /package/dist/{chunk-UT333EOT.js.map → chunk-LCOMNQLX.js.map} +0 -0
- /package/dist/{chunk-WJK2EETW.js.map → chunk-NINO3PI7.js.map} +0 -0
- /package/dist/{chunk-PSQKD6ZN.js.map → chunk-PG65AE3I.js.map} +0 -0
- /package/dist/{chunk-BZ2XOEHW.js.map → chunk-QOH45QSE.js.map} +0 -0
- /package/dist/{chunk-Y7ZYOQNB.js.map → chunk-RSMAVO2Z.js.map} +0 -0
- /package/dist/{chunk-GHLGXFNU.js.map → chunk-U6JC3RS2.js.map} +0 -0
- /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
|
|
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__ */
|
|
1075
|
-
typeof value === "string" ? /* @__PURE__ */
|
|
1076
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1088
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1099
|
-
/* @__PURE__ */
|
|
1100
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1140
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
1212
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1233
|
-
typeLabel && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1256
|
-
/* @__PURE__ */
|
|
1257
|
-
person.avatarUrl ? /* @__PURE__ */
|
|
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__ */
|
|
1268
|
-
person.iconOverlayUrl && /* @__PURE__ */
|
|
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__ */
|
|
1281
|
-
/* @__PURE__ */
|
|
1282
|
-
person.subtitle && /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1479
|
+
return /* @__PURE__ */ jsx15(FlamingoLogo, { className });
|
|
1404
1480
|
case "openframe":
|
|
1405
|
-
return /* @__PURE__ */
|
|
1481
|
+
return /* @__PURE__ */ jsx15(OpenFrameLogo, { className });
|
|
1406
1482
|
case "tmcg":
|
|
1407
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
1489
|
+
return /* @__PURE__ */ jsx15(FlamingoLogo, { className, fill: "currentColor" });
|
|
1414
1490
|
default:
|
|
1415
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1438
|
-
showLabel && /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1479
|
-
!imageLoaded && /* @__PURE__ */
|
|
1480
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1499
|
-
/* @__PURE__ */
|
|
1500
|
-
/* @__PURE__ */
|
|
1501
|
-
(subtitle || reserveRows) && /* @__PURE__ */
|
|
1502
|
-
(summary || reserveRows) && /* @__PURE__ */
|
|
1503
|
-
(Number(platforms?.length) > 0 || badges || reserveRows) && /* @__PURE__ */
|
|
1504
|
-
platforms?.map((p) => /* @__PURE__ */
|
|
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__ */
|
|
1515
|
-
actions && /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1571
|
-
entry.status ? /* @__PURE__ */
|
|
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__ */
|
|
1583
|
-
/* @__PURE__ */
|
|
1584
|
-
entry.author?.avatar_url ? /* @__PURE__ */
|
|
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__ */
|
|
1671
|
+
/* @__PURE__ */ jsx17("span", { className: "truncate", children: entry.author?.full_name ?? "" })
|
|
1596
1672
|
] }),
|
|
1597
|
-
dateLabel ? /* @__PURE__ */
|
|
1673
|
+
dateLabel ? /* @__PURE__ */ jsx17("span", { children: dateLabel }) : null
|
|
1598
1674
|
] }),
|
|
1599
1675
|
actions,
|
|
1600
1676
|
className
|
|
1601
1677
|
}
|
|
1602
1678
|
);
|
|
1603
|
-
return anchorProps ? /* @__PURE__ */
|
|
1679
|
+
return anchorProps ? /* @__PURE__ */ jsx17("a", { ...anchorProps, className: "block h-full", children: card }) : card;
|
|
1604
1680
|
}
|
|
1605
1681
|
function EmployeeEntryCardSkeleton({ className }) {
|
|
1606
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
1612
|
-
/* @__PURE__ */
|
|
1613
|
-
/* @__PURE__ */
|
|
1614
|
-
/* @__PURE__ */
|
|
1615
|
-
/* @__PURE__ */
|
|
1616
|
-
/* @__PURE__ */
|
|
1617
|
-
/* @__PURE__ */
|
|
1618
|
-
/* @__PURE__ */
|
|
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
|
|
1703
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1628
1704
|
function WhatIShippedCard({ entry, placeholderUrl, actions, anchorProps, className }) {
|
|
1629
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1676
|
-
departmentName ? /* @__PURE__ */
|
|
1677
|
-
steps > 1 ? /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1766
|
-
/* @__PURE__ */
|
|
1767
|
-
/* @__PURE__ */
|
|
1768
|
-
coverImage ? /* @__PURE__ */
|
|
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__ */
|
|
1779
|
-
hasVideoCover && coverImage && /* @__PURE__ */
|
|
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__ */
|
|
1782
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1787
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1791
|
-
changelogCounts.features > 0 && /* @__PURE__ */
|
|
1792
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1798
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1804
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1810
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1815
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1825
|
-
cell.colorScheme ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1922
|
+
/* @__PURE__ */ jsx21("p", { className: "text-ods-text-secondary text-h6", children: cell.label })
|
|
1847
1923
|
] }) }, `${cell.label}-${i}`)),
|
|
1848
|
-
/* @__PURE__ */
|
|
1849
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1860
|
-
/* @__PURE__ */
|
|
1861
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1868
|
-
/* @__PURE__ */
|
|
1869
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1952
|
+
return /* @__PURE__ */ jsx21("a", { ...anchorProps, className: frameClass, "aria-label": `Open ${title}`, children: innerLayout });
|
|
1877
1953
|
}
|
|
1878
1954
|
if (onClick) {
|
|
1879
|
-
return /* @__PURE__ */
|
|
1955
|
+
return /* @__PURE__ */ jsx21(InteractiveCard, { clickable: true, onClick, className: frameClass, children: innerLayout });
|
|
1880
1956
|
}
|
|
1881
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
1909
|
-
/* @__PURE__ */
|
|
1910
|
-
coverImage ? /* @__PURE__ */
|
|
1911
|
-
hasVideoCover && coverImage && /* @__PURE__ */
|
|
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__ */
|
|
1914
|
-
/* @__PURE__ */
|
|
1915
|
-
/* @__PURE__ */
|
|
1916
|
-
version ? /* @__PURE__ */
|
|
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__ */
|
|
1919
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1999
|
+
return /* @__PURE__ */ jsx21("a", { ...anchorProps, className: outerClassName, children: innerChildren });
|
|
1924
2000
|
}
|
|
1925
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1955
|
-
/* @__PURE__ */
|
|
1956
|
-
/* @__PURE__ */
|
|
1957
|
-
/* @__PURE__ */
|
|
1958
|
-
/* @__PURE__ */
|
|
1959
|
-
/* @__PURE__ */
|
|
1960
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1963
|
-
/* @__PURE__ */
|
|
1964
|
-
/* @__PURE__ */
|
|
1965
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1970
|
-
/* @__PURE__ */
|
|
1971
|
-
[0, 1, 2].map((i) => /* @__PURE__ */
|
|
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__ */
|
|
1976
|
-
/* @__PURE__ */
|
|
1977
|
-
/* @__PURE__ */
|
|
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__ */
|
|
1983
|
-
/* @__PURE__ */
|
|
1984
|
-
/* @__PURE__ */
|
|
1985
|
-
/* @__PURE__ */
|
|
1986
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2005
|
-
/* @__PURE__ */
|
|
2006
|
-
/* @__PURE__ */
|
|
2007
|
-
/* @__PURE__ */
|
|
2008
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2011
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
2194
|
-
/* @__PURE__ */
|
|
2195
|
-
/* @__PURE__ */
|
|
2196
|
-
/* @__PURE__ */
|
|
2197
|
-
/* @__PURE__ */
|
|
2198
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2203
|
-
/* @__PURE__ */
|
|
2204
|
-
/* @__PURE__ */
|
|
2205
|
-
/* @__PURE__ */
|
|
2206
|
-
/* @__PURE__ */
|
|
2207
|
-
/* @__PURE__ */
|
|
2208
|
-
/* @__PURE__ */
|
|
2209
|
-
/* @__PURE__ */
|
|
2210
|
-
/* @__PURE__ */
|
|
2211
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2266
|
-
/* @__PURE__ */
|
|
2267
|
-
/* @__PURE__ */
|
|
2268
|
-
hasEmbeddedVideo ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2340
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2353
|
-
/* @__PURE__ */
|
|
2354
|
-
/* @__PURE__ */
|
|
2355
|
-
post.author_avatar ? /* @__PURE__ */
|
|
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__ */
|
|
2442
|
+
/* @__PURE__ */ jsxs15("span", { className: "truncate", children: [
|
|
2367
2443
|
post.author_name || "Anonymous",
|
|
2368
|
-
dateStr ? /* @__PURE__ */
|
|
2444
|
+
dateStr ? /* @__PURE__ */ jsxs15(Fragment6, { children: [
|
|
2369
2445
|
" \xB7 ",
|
|
2370
2446
|
dateStr
|
|
2371
2447
|
] }) : null
|
|
2372
2448
|
] })
|
|
2373
2449
|
] }),
|
|
2374
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2381
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
2399
|
-
/* @__PURE__ */
|
|
2400
|
-
/* @__PURE__ */
|
|
2401
|
-
/* @__PURE__ */
|
|
2402
|
-
/* @__PURE__ */
|
|
2403
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2408
|
-
/* @__PURE__ */
|
|
2409
|
-
/* @__PURE__ */
|
|
2410
|
-
/* @__PURE__ */
|
|
2411
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2414
|
-
/* @__PURE__ */
|
|
2415
|
-
/* @__PURE__ */
|
|
2416
|
-
/* @__PURE__ */
|
|
2417
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2447
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2460
|
-
/* @__PURE__ */
|
|
2461
|
-
/* @__PURE__ */
|
|
2462
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2489
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2502
|
-
/* @__PURE__ */
|
|
2503
|
-
/* @__PURE__ */
|
|
2504
|
-
study.user?.avatar_url ? /* @__PURE__ */
|
|
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__ */
|
|
2515
|
-
study.msp?.icon_url && /* @__PURE__ */
|
|
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__ */
|
|
2528
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
2547
|
-
/* @__PURE__ */
|
|
2548
|
-
/* @__PURE__ */
|
|
2549
|
-
/* @__PURE__ */
|
|
2550
|
-
/* @__PURE__ */
|
|
2551
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2556
|
-
/* @__PURE__ */
|
|
2557
|
-
/* @__PURE__ */
|
|
2558
|
-
/* @__PURE__ */
|
|
2559
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2562
|
-
/* @__PURE__ */
|
|
2563
|
-
/* @__PURE__ */
|
|
2564
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2567
|
-
/* @__PURE__ */
|
|
2568
|
-
/* @__PURE__ */
|
|
2569
|
-
/* @__PURE__ */
|
|
2570
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2600
|
-
/* @__PURE__ */
|
|
2601
|
-
thumbnailUrl ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2616
|
-
/* @__PURE__ */
|
|
2617
|
-
/* @__PURE__ */
|
|
2618
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2645
|
-
/* @__PURE__ */
|
|
2646
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2659
|
-
] }) : /* @__PURE__ */
|
|
2660
|
-
/* @__PURE__ */
|
|
2661
|
-
interview.video_summary && /* @__PURE__ */
|
|
2662
|
-
/* @__PURE__ */
|
|
2663
|
-
/* @__PURE__ */
|
|
2664
|
-
interview.user?.avatar_url ? /* @__PURE__ */
|
|
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__ */
|
|
2675
|
-
interview.msp?.icon_url && /* @__PURE__ */
|
|
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__ */
|
|
2688
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
2716
|
-
/* @__PURE__ */
|
|
2717
|
-
/* @__PURE__ */
|
|
2718
|
-
/* @__PURE__ */
|
|
2719
|
-
/* @__PURE__ */
|
|
2720
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2723
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2728
|
-
/* @__PURE__ */
|
|
2729
|
-
/* @__PURE__ */
|
|
2730
|
-
/* @__PURE__ */
|
|
2731
|
-
/* @__PURE__ */
|
|
2732
|
-
/* @__PURE__ */
|
|
2733
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2763
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2778
|
-
/* @__PURE__ */
|
|
2779
|
-
/* @__PURE__ */
|
|
2780
|
-
/* @__PURE__ */
|
|
2781
|
-
update.update_number ? /* @__PURE__ */
|
|
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__ */
|
|
2787
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2821
|
-
/* @__PURE__ */
|
|
2822
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
2845
|
-
/* @__PURE__ */
|
|
2846
|
-
/* @__PURE__ */
|
|
2847
|
-
/* @__PURE__ */
|
|
2848
|
-
/* @__PURE__ */
|
|
2849
|
-
/* @__PURE__ */
|
|
2850
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2853
|
-
/* @__PURE__ */
|
|
2854
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2859
|
-
[0, 1].map((i) => /* @__PURE__ */
|
|
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__ */
|
|
2864
|
-
/* @__PURE__ */
|
|
2865
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2871
|
-
/* @__PURE__ */
|
|
2872
|
-
/* @__PURE__ */
|
|
2873
|
-
/* @__PURE__ */
|
|
2874
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2882
|
-
/* @__PURE__ */
|
|
2883
|
-
/* @__PURE__ */
|
|
2884
|
-
/* @__PURE__ */
|
|
2885
|
-
/* @__PURE__ */
|
|
2886
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2898
|
-
/* @__PURE__ */
|
|
2899
|
-
/* @__PURE__ */
|
|
2900
|
-
/* @__PURE__ */
|
|
2901
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
2969
|
-
/* @__PURE__ */
|
|
2970
|
-
/* @__PURE__ */
|
|
2971
|
-
coverImage ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
2990
|
-
durationLabel && /* @__PURE__ */
|
|
2991
|
-
/* @__PURE__ */
|
|
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__ */
|
|
2996
|
-
/* @__PURE__ */
|
|
2997
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
3029
|
-
/* @__PURE__ */
|
|
3030
|
-
compactCover ? /* @__PURE__ */
|
|
3031
|
-
hasVideoCover && compactCover && /* @__PURE__ */
|
|
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__ */
|
|
3034
|
-
/* @__PURE__ */
|
|
3035
|
-
/* @__PURE__ */
|
|
3036
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
3064
|
-
/* @__PURE__ */
|
|
3065
|
-
/* @__PURE__ */
|
|
3066
|
-
/* @__PURE__ */
|
|
3067
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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-
|
|
4372
|
+
//# sourceMappingURL=chunk-22RSJ57Z.js.map
|