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