@flamingo-stack/openframe-frontend-core 0.0.330 → 0.0.331-snapshot.20260628200700
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/assets/fae-avatar.d.ts +7 -0
- package/dist/assets/fae-avatar.d.ts.map +1 -0
- package/dist/assets/index.cjs +4 -0
- package/dist/assets/index.cjs.map +1 -1
- package/dist/assets/index.d.ts +1 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +4 -1
- package/dist/assets/index.js.map +1 -1
- package/dist/{chunk-PV65W2Q3.js → chunk-2N6B44NP.js} +2 -2
- package/dist/{chunk-DQY4TMPD.cjs → chunk-37EKG2M7.cjs} +31 -31
- package/dist/{chunk-DQY4TMPD.cjs.map → chunk-37EKG2M7.cjs.map} +1 -1
- package/dist/{chunk-OCPUDTRE.cjs → chunk-3QBOSHY4.cjs} +37 -37
- package/dist/{chunk-OCPUDTRE.cjs.map → chunk-3QBOSHY4.cjs.map} +1 -1
- package/dist/{chunk-MJ2QVKFD.js → chunk-6ONCYSRV.js} +2 -2
- package/dist/{chunk-BPT7DZO4.cjs → chunk-A2H2JOQI.cjs} +12 -12
- package/dist/{chunk-BPT7DZO4.cjs.map → chunk-A2H2JOQI.cjs.map} +1 -1
- package/dist/{chunk-WZRVPJPY.js → chunk-ES6VJ4BO.js} +2 -2
- package/dist/{chunk-JGLDXCPI.cjs → chunk-FNHB7YX5.cjs} +9 -9
- package/dist/{chunk-JGLDXCPI.cjs.map → chunk-FNHB7YX5.cjs.map} +1 -1
- package/dist/{chunk-YFXZRRLA.cjs → chunk-GW7YJC5J.cjs} +15 -15
- package/dist/{chunk-YFXZRRLA.cjs.map → chunk-GW7YJC5J.cjs.map} +1 -1
- package/dist/{chunk-UN33GYZF.js → chunk-J2GAKC4L.js} +4 -4
- package/dist/{chunk-MXLQCQLM.js → chunk-LCR326AU.js} +2 -2
- package/dist/{chunk-I3SLJPT7.cjs → chunk-MAGQM63C.cjs} +56 -56
- package/dist/{chunk-I3SLJPT7.cjs.map → chunk-MAGQM63C.cjs.map} +1 -1
- package/dist/{chunk-DQWQFIKF.cjs → chunk-NFU2DXOV.cjs} +7 -7
- package/dist/{chunk-DQWQFIKF.cjs.map → chunk-NFU2DXOV.cjs.map} +1 -1
- package/dist/{chunk-O6JFLNJX.js → chunk-PBNSGA25.js} +4 -4
- package/dist/{chunk-PIBJHV2H.js → chunk-RFOQ7YHS.js} +2 -2
- package/dist/{chunk-P75LBLOT.cjs → chunk-RPMOVC7D.cjs} +51 -2
- package/dist/{chunk-P75LBLOT.cjs.map → chunk-RPMOVC7D.cjs.map} +1 -1
- package/dist/{chunk-SQOLVJUK.cjs → chunk-SHHYY57A.cjs} +5 -5
- package/dist/{chunk-SQOLVJUK.cjs.map → chunk-SHHYY57A.cjs.map} +1 -1
- package/dist/{chunk-VMCKM7RN.cjs → chunk-SUSIWWW2.cjs} +62 -62
- package/dist/{chunk-VMCKM7RN.cjs.map → chunk-SUSIWWW2.cjs.map} +1 -1
- package/dist/{chunk-QA2W6KZC.js → chunk-VGZUJC4X.js} +2 -2
- package/dist/{chunk-CTRVKS42.js → chunk-X2ZO2WGY.js} +2 -2
- package/dist/{chunk-XF56JH7Q.js → chunk-XZS6Z2RE.js} +50 -1
- package/dist/chunk-XZS6Z2RE.js.map +1 -0
- package/dist/{chunk-233TNRYO.js → chunk-YEEH336W.js} +4 -4
- package/dist/{chunk-JXEJVR5H.cjs → chunk-YSELDRJX.cjs} +26 -26
- package/dist/{chunk-JXEJVR5H.cjs.map → chunk-YSELDRJX.cjs.map} +1 -1
- package/dist/{chunk-WGQPNSM2.cjs → chunk-YV5KFAZL.cjs} +25 -25
- package/dist/{chunk-WGQPNSM2.cjs.map → chunk-YV5KFAZL.cjs.map} +1 -1
- package/dist/{chunk-BLIVFED6.js → chunk-Z3WUYB4F.js} +4 -4
- package/dist/components/agent-mark.d.ts +17 -0
- package/dist/components/agent-mark.d.ts.map +1 -0
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +144 -123
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +365 -344
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/social-icon-row.d.ts +9 -1
- package/dist/components/social-icon-row.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +8 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/product-release.d.ts +2 -0
- package/dist/types/product-release.d.ts.map +1 -1
- package/dist/utils/brand-marks.d.ts +7 -0
- package/dist/utils/brand-marks.d.ts.map +1 -0
- package/dist/utils/index.cjs +45 -0
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +44 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/fae-avatar.ts +6 -0
- package/src/assets/index.ts +2 -1
- package/src/components/agent-mark.tsx +25 -0
- package/src/components/index.ts +1 -0
- package/src/components/social-icon-row.tsx +61 -36
- package/src/types/product-release.ts +6 -0
- package/src/utils/brand-marks.ts +47 -0
- package/src/utils/index.ts +3 -0
- package/dist/chunk-XF56JH7Q.js.map +0 -1
- /package/dist/{chunk-PV65W2Q3.js.map → chunk-2N6B44NP.js.map} +0 -0
- /package/dist/{chunk-MJ2QVKFD.js.map → chunk-6ONCYSRV.js.map} +0 -0
- /package/dist/{chunk-WZRVPJPY.js.map → chunk-ES6VJ4BO.js.map} +0 -0
- /package/dist/{chunk-UN33GYZF.js.map → chunk-J2GAKC4L.js.map} +0 -0
- /package/dist/{chunk-MXLQCQLM.js.map → chunk-LCR326AU.js.map} +0 -0
- /package/dist/{chunk-O6JFLNJX.js.map → chunk-PBNSGA25.js.map} +0 -0
- /package/dist/{chunk-PIBJHV2H.js.map → chunk-RFOQ7YHS.js.map} +0 -0
- /package/dist/{chunk-QA2W6KZC.js.map → chunk-VGZUJC4X.js.map} +0 -0
- /package/dist/{chunk-CTRVKS42.js.map → chunk-X2ZO2WGY.js.map} +0 -0
- /package/dist/{chunk-233TNRYO.js.map → chunk-YEEH336W.js.map} +0 -0
- /package/dist/{chunk-BLIVFED6.js.map → chunk-Z3WUYB4F.js.map} +0 -0
package/dist/components/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import "../chunk-GZ4C3XW6.js";
|
|
|
4
4
|
import {
|
|
5
5
|
GROUP_PAGE_SIZE,
|
|
6
6
|
RelatedContentSection
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-LCR326AU.js";
|
|
8
8
|
import {
|
|
9
9
|
DeliveryLists,
|
|
10
10
|
DeliveryTable,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
useLegalDocs,
|
|
22
22
|
usePaginationLoading,
|
|
23
23
|
useRoadmapVoting
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-J2GAKC4L.js";
|
|
25
25
|
import {
|
|
26
26
|
AnnouncementBarSkeleton,
|
|
27
27
|
ArticleLayoutSkeleton,
|
|
@@ -54,17 +54,17 @@ import {
|
|
|
54
54
|
useDocNavigation,
|
|
55
55
|
useDocumentTree,
|
|
56
56
|
useScrollSpy
|
|
57
|
-
} from "../chunk-
|
|
57
|
+
} from "../chunk-PBNSGA25.js";
|
|
58
58
|
import {
|
|
59
59
|
FileDownloadCard,
|
|
60
60
|
GoogleSheetsViewer,
|
|
61
61
|
PdfViewer
|
|
62
|
-
} from "../chunk-
|
|
62
|
+
} from "../chunk-6ONCYSRV.js";
|
|
63
63
|
import {
|
|
64
64
|
FaqAccordion,
|
|
65
65
|
FaqDocumentPage,
|
|
66
66
|
FaqSection
|
|
67
|
-
} from "../chunk-
|
|
67
|
+
} from "../chunk-X2ZO2WGY.js";
|
|
68
68
|
import {
|
|
69
69
|
DeliveryRow,
|
|
70
70
|
DevCardRowContent,
|
|
@@ -75,11 +75,11 @@ import {
|
|
|
75
75
|
EmptyState,
|
|
76
76
|
UnifiedPagination,
|
|
77
77
|
init_unified_pagination
|
|
78
|
-
} from "../chunk-
|
|
78
|
+
} from "../chunk-RFOQ7YHS.js";
|
|
79
79
|
import {
|
|
80
80
|
ArticleAuthorByline,
|
|
81
81
|
DetailPageSkeleton
|
|
82
|
-
} from "../chunk-
|
|
82
|
+
} from "../chunk-VGZUJC4X.js";
|
|
83
83
|
import {
|
|
84
84
|
DocSearchBar,
|
|
85
85
|
DocSearchResultRow,
|
|
@@ -87,7 +87,7 @@ import {
|
|
|
87
87
|
mapDocSearchResults,
|
|
88
88
|
resolveSearchResultAction,
|
|
89
89
|
useDocSearch
|
|
90
|
-
} from "../chunk-
|
|
90
|
+
} from "../chunk-ES6VJ4BO.js";
|
|
91
91
|
import "../chunk-65VXW6GZ.js";
|
|
92
92
|
import "../chunk-4XLJWX2N.js";
|
|
93
93
|
import {
|
|
@@ -334,6 +334,7 @@ import {
|
|
|
334
334
|
ErrorMessageDisplay,
|
|
335
335
|
ErrorState,
|
|
336
336
|
ExpandChevron,
|
|
337
|
+
FAE_AVATAR_DATA_URI,
|
|
337
338
|
FeatureCardGrid,
|
|
338
339
|
FeatureList,
|
|
339
340
|
FigmaEmbed,
|
|
@@ -823,7 +824,7 @@ import {
|
|
|
823
824
|
useVideoOriginPreconnect,
|
|
824
825
|
useVideoWarmup,
|
|
825
826
|
usesCanonicalStatusStyle
|
|
826
|
-
} from "../chunk-
|
|
827
|
+
} from "../chunk-XZS6Z2RE.js";
|
|
827
828
|
import {
|
|
828
829
|
CommandApprovalToast,
|
|
829
830
|
ToastCard,
|
|
@@ -2228,7 +2229,7 @@ import { Suspense } from "react";
|
|
|
2228
2229
|
// src/components/social-icon-row.tsx
|
|
2229
2230
|
init_button();
|
|
2230
2231
|
import { Mail } from "lucide-react";
|
|
2231
|
-
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
2232
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2232
2233
|
var defaultLinks = [
|
|
2233
2234
|
{ platform: "github", href: "https://github.com/flamingo-stack", label: "GitHub" },
|
|
2234
2235
|
{ platform: "linkedin", href: "https://linkedin.com/company/flamingo.run", label: "LinkedIn" },
|
|
@@ -2278,9 +2279,9 @@ function renderSocialIcon(platform) {
|
|
|
2278
2279
|
return /* @__PURE__ */ jsx14(GlobeIcon, { className: "w-5 h-5" });
|
|
2279
2280
|
}
|
|
2280
2281
|
}
|
|
2281
|
-
function SocialIconRow({ className = "", links = defaultLinks, variant, compact = false }) {
|
|
2282
|
+
function SocialIconRow({ className = "", links = defaultLinks, variant, compact = false, groupByVisibility = false }) {
|
|
2282
2283
|
const resolvedVariant = variant !== void 0 ? variant : compact ? "transparent" : "outline";
|
|
2283
|
-
|
|
2284
|
+
const renderButton = (link, index) => {
|
|
2284
2285
|
const ariaLabel = link.label || link.platform;
|
|
2285
2286
|
return link.onClick ? /* @__PURE__ */ jsx14(
|
|
2286
2287
|
Button,
|
|
@@ -2312,11 +2313,24 @@ function SocialIconRow({ className = "", links = defaultLinks, variant, compact
|
|
|
2312
2313
|
index
|
|
2313
2314
|
)
|
|
2314
2315
|
);
|
|
2315
|
-
}
|
|
2316
|
+
};
|
|
2317
|
+
const rowClass = `flex flex-row items-center ${compact ? "gap-2 w-fit" : "gap-3 w-full"} ${className}`;
|
|
2318
|
+
if (groupByVisibility) {
|
|
2319
|
+
const external = links.filter((l) => l.visibility !== "internal");
|
|
2320
|
+
const internal = links.filter((l) => l.visibility === "internal");
|
|
2321
|
+
if (external.length > 0 && internal.length > 0) {
|
|
2322
|
+
return /* @__PURE__ */ jsxs11("div", { className: rowClass, children: [
|
|
2323
|
+
external.map((l, i) => renderButton(l, i)),
|
|
2324
|
+
/* @__PURE__ */ jsx14("span", { "aria-hidden": true, className: "self-stretch w-px my-1 bg-ods-border shrink-0" }),
|
|
2325
|
+
internal.map((l, i) => renderButton(l, external.length + i))
|
|
2326
|
+
] });
|
|
2327
|
+
}
|
|
2328
|
+
}
|
|
2329
|
+
return /* @__PURE__ */ jsx14("div", { className: rowClass, children: links.map((link, index) => renderButton(link, index)) });
|
|
2316
2330
|
}
|
|
2317
2331
|
|
|
2318
2332
|
// src/components/footer.tsx
|
|
2319
|
-
import { Fragment as Fragment3, jsx as jsx15, jsxs as
|
|
2333
|
+
import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2320
2334
|
function NavLinkSkeleton() {
|
|
2321
2335
|
return /* @__PURE__ */ jsx15(Skeleton, { className: "h-5 md:h-6 w-20 md:w-24" });
|
|
2322
2336
|
}
|
|
@@ -2330,14 +2344,14 @@ function Footer({ config, renderLink }) {
|
|
|
2330
2344
|
function UniversalFooter({ config, renderLink }) {
|
|
2331
2345
|
const defaultRenderLink = (link) => /* @__PURE__ */ jsx15("a", { href: link.href, className: "font-body font-medium text-md md:text-md leading-[1.33] text-ods-text-primary hover:text-ods-accent-primary transition-colors", children: link.label });
|
|
2332
2346
|
const linkRenderer = renderLink || defaultRenderLink;
|
|
2333
|
-
return /* @__PURE__ */
|
|
2334
|
-
/* @__PURE__ */
|
|
2335
|
-
/* @__PURE__ */
|
|
2336
|
-
/* @__PURE__ */
|
|
2347
|
+
return /* @__PURE__ */ jsxs12("footer", { className: `w-full flex flex-col justify-center items-center ${config.backgroundColor || "bg-ods-bg-card"} px-6 py-10 relative gap-6 md:gap-6 min-h-[auto] md:min-h-[248px] z-50 border-t border-ods-border`, children: [
|
|
2348
|
+
/* @__PURE__ */ jsxs12("div", { className: "w-full grid grid-cols-2 lg:grid-cols-4 gap-6 md:gap-8 items-start", children: [
|
|
2349
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-4 md:gap-6 items-start text-left col-span-2 md:col-span-1 lg:col-span-1", children: [
|
|
2350
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
|
|
2337
2351
|
config.logo && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "w-8 h-8" }), children: config.logo }),
|
|
2338
2352
|
config.nameElement || /* @__PURE__ */ jsx15("span", { className: "font-heading text-heading-5 font-bold text-ods-text-primary whitespace-nowrap", children: config.name })
|
|
2339
2353
|
] }),
|
|
2340
|
-
!config.moveDescriptionToRight && /* @__PURE__ */
|
|
2354
|
+
!config.moveDescriptionToRight && /* @__PURE__ */ jsxs12(Fragment3, { children: [
|
|
2341
2355
|
/* @__PURE__ */ jsx15("p", { className: "font-body font-medium text-sm md:text-sm leading-[1.43] text-ods-text-primary", children: config.description }),
|
|
2342
2356
|
config.belowDescriptionContent && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent }),
|
|
2343
2357
|
!config.hideSocialRow && /* @__PURE__ */ jsx15(
|
|
@@ -2350,20 +2364,20 @@ function UniversalFooter({ config, renderLink }) {
|
|
|
2350
2364
|
] }),
|
|
2351
2365
|
config.moveDescriptionToRight && config.keepBelowDescriptionLeft && config.belowDescriptionContent && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent })
|
|
2352
2366
|
] }),
|
|
2353
|
-
config.sections.map((section, index) => /* @__PURE__ */
|
|
2367
|
+
config.sections.map((section, index) => /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-3 items-start text-left col-span-1", children: [
|
|
2354
2368
|
/* @__PURE__ */ jsx15("h3", { className: "text-h5 tracking-[-0.02em] text-ods-text-muted", children: section.title }),
|
|
2355
2369
|
/* @__PURE__ */ jsx15("div", { className: "flex flex-col gap-3", children: section.links.map((link, linkIndex) => /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(NavLinkSkeleton, {}), children: linkRenderer(link) }, linkIndex)) })
|
|
2356
2370
|
] }, index)),
|
|
2357
2371
|
config.customComponent && /* @__PURE__ */ jsx15("div", { className: "flex flex-col col-span-2 md:col-span-1 lg:col-span-1 justify-center", children: /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-32 w-full" }), children: config.customComponent }) }),
|
|
2358
|
-
(config.rightColumnContent || config.moveDescriptionToRight) && /* @__PURE__ */
|
|
2359
|
-
config.moveDescriptionToRight && /* @__PURE__ */
|
|
2372
|
+
(config.rightColumnContent || config.moveDescriptionToRight) && /* @__PURE__ */ jsxs12("div", { className: "flex flex-col col-span-2 md:col-span-1 lg:col-span-1 justify-start gap-4 md:gap-6", children: [
|
|
2373
|
+
config.moveDescriptionToRight && /* @__PURE__ */ jsxs12(Fragment3, { children: [
|
|
2360
2374
|
/* @__PURE__ */ jsx15("p", { className: "font-body font-medium text-sm md:text-sm leading-[1.43] text-ods-text-primary", children: config.description }),
|
|
2361
2375
|
config.belowDescriptionContent && !config.keepBelowDescriptionLeft && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent })
|
|
2362
2376
|
] }),
|
|
2363
2377
|
config.rightColumnContent && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-32 w-full" }), children: config.rightColumnContent })
|
|
2364
2378
|
] })
|
|
2365
2379
|
] }),
|
|
2366
|
-
/* @__PURE__ */
|
|
2380
|
+
/* @__PURE__ */ jsxs12("p", { className: "font-body font-medium text-md md:text-md leading-[1.33] text-center w-full text-ods-text-muted pt-4 md:pt-0", children: [
|
|
2367
2381
|
"\xA9 ",
|
|
2368
2382
|
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
2369
2383
|
" ",
|
|
@@ -2695,7 +2709,7 @@ function FooterWaitlistButton({ className }) {
|
|
|
2695
2709
|
init_button();
|
|
2696
2710
|
import { useRef, useState as useState2 } from "react";
|
|
2697
2711
|
import { Loader2, Image as ImageIcon2, Upload, X as X3 } from "lucide-react";
|
|
2698
|
-
import { Fragment as Fragment4, jsx as jsx17, jsxs as
|
|
2712
|
+
import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2699
2713
|
function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, objectFit = "cover", showReplaceButton = true, deferUpload = false, onUpload, onDelete }) {
|
|
2700
2714
|
const inputRef = useRef(null);
|
|
2701
2715
|
const { toast } = useToast();
|
|
@@ -2771,10 +2785,10 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
2771
2785
|
onChange(void 0);
|
|
2772
2786
|
};
|
|
2773
2787
|
const heightStyle = typeof height === "number" ? `${height}px` : height;
|
|
2774
|
-
return /* @__PURE__ */
|
|
2775
|
-
imageUrl ? /* @__PURE__ */
|
|
2788
|
+
return /* @__PURE__ */ jsxs13("div", { className: "w-full h-full max-h-full space-y-2 min-h-[300px]", children: [
|
|
2789
|
+
imageUrl ? /* @__PURE__ */ jsxs13("div", { className: "relative group w-full aspect-square md:aspect-auto h-auto md:h-full flex items-center justify-center overflow-hidden", style: { height: heightStyle }, children: [
|
|
2776
2790
|
/* @__PURE__ */ jsx17("img", { src: imageUrl, className: `absolute inset-0 w-full h-full object-${objectFit}`, alt: "Cover" }),
|
|
2777
|
-
/* @__PURE__ */
|
|
2791
|
+
/* @__PURE__ */ jsxs13("div", { className: "absolute inset-0 bg-black/40 opacity-0 group-hover:opacity-100 flex items-center justify-center gap-4 transition-opacity rounded-lg", children: [
|
|
2778
2792
|
showReplaceButton && /* @__PURE__ */ jsx17(
|
|
2779
2793
|
Button,
|
|
2780
2794
|
{
|
|
@@ -2802,7 +2816,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
2802
2816
|
className: `w-full h-full border-2 border-dashed ${uploading ? "border-ods-accent" : "border-ods-border hover:border-ods-accent"} rounded-lg flex flex-col items-center justify-center cursor-pointer bg-ods-bg`,
|
|
2803
2817
|
style: { height: heightStyle },
|
|
2804
2818
|
onClick: openDialog,
|
|
2805
|
-
children: uploading ? /* @__PURE__ */ jsx17(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */
|
|
2819
|
+
children: uploading ? /* @__PURE__ */ jsx17(Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ jsxs13(Fragment4, { children: [
|
|
2806
2820
|
/* @__PURE__ */ jsx17(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
|
|
2807
2821
|
/* @__PURE__ */ jsx17("span", { className: "text-ods-text-primary font-['DM_Sans'] text-[16px] font-medium mt-2", children: "Upload cover image" }),
|
|
2808
2822
|
/* @__PURE__ */ jsx17("span", { className: "text-ods-text-secondary font-['DM_Sans'] text-[14px] mt-1", children: "Click to upload or drag and drop" }),
|
|
@@ -2829,7 +2843,7 @@ var CompareIcon2 = GitCompare;
|
|
|
2829
2843
|
|
|
2830
2844
|
// src/components/icons-block.tsx
|
|
2831
2845
|
import { Sun, Moon, CheckCircle, Github, PlusCircle } from "lucide-react";
|
|
2832
|
-
import { jsx as jsx18, jsxs as
|
|
2846
|
+
import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2833
2847
|
var SunIcon2 = Sun;
|
|
2834
2848
|
var MoonIcon2 = Moon;
|
|
2835
2849
|
var CheckCircleIcon3 = CheckCircle;
|
|
@@ -2908,7 +2922,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
2908
2922
|
}
|
|
2909
2923
|
);
|
|
2910
2924
|
}
|
|
2911
|
-
return /* @__PURE__ */
|
|
2925
|
+
return /* @__PURE__ */ jsxs14(
|
|
2912
2926
|
"div",
|
|
2913
2927
|
{
|
|
2914
2928
|
className: "w-full h-[80px] md:h-[112px] overflow-hidden bg-[#1A1A1A] relative z-10",
|
|
@@ -2974,7 +2988,7 @@ import { useCallback as useCallback2, useState as useState4 } from "react";
|
|
|
2974
2988
|
import Cropper from "react-easy-crop";
|
|
2975
2989
|
init_cn();
|
|
2976
2990
|
import { Check, RotateCcw } from "lucide-react";
|
|
2977
|
-
import { jsx as jsx19, jsxs as
|
|
2991
|
+
import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2978
2992
|
function loadImage(src) {
|
|
2979
2993
|
return new Promise((resolve, reject) => {
|
|
2980
2994
|
const img = new Image();
|
|
@@ -3062,7 +3076,7 @@ var ImageCropper = ({
|
|
|
3062
3076
|
onCancel?.();
|
|
3063
3077
|
}
|
|
3064
3078
|
};
|
|
3065
|
-
return /* @__PURE__ */
|
|
3079
|
+
return /* @__PURE__ */ jsxs15(
|
|
3066
3080
|
"div",
|
|
3067
3081
|
{
|
|
3068
3082
|
className: cn(
|
|
@@ -3099,8 +3113,8 @@ var ImageCropper = ({
|
|
|
3099
3113
|
)
|
|
3100
3114
|
}
|
|
3101
3115
|
),
|
|
3102
|
-
/* @__PURE__ */
|
|
3103
|
-
/* @__PURE__ */
|
|
3116
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-4", children: [
|
|
3117
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-3", children: [
|
|
3104
3118
|
/* @__PURE__ */ jsx19("span", { className: "min-w-[60px] text-sm", children: "Zoom" }),
|
|
3105
3119
|
/* @__PURE__ */ jsx19(
|
|
3106
3120
|
Slider,
|
|
@@ -3115,7 +3129,7 @@ var ImageCropper = ({
|
|
|
3115
3129
|
}
|
|
3116
3130
|
)
|
|
3117
3131
|
] }),
|
|
3118
|
-
/* @__PURE__ */
|
|
3132
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-3", children: [
|
|
3119
3133
|
/* @__PURE__ */ jsx19("span", { className: "min-w-[60px] text-sm", children: "Rotate" }),
|
|
3120
3134
|
/* @__PURE__ */ jsx19(
|
|
3121
3135
|
Slider,
|
|
@@ -3141,7 +3155,7 @@ var ImageCropper = ({
|
|
|
3141
3155
|
)
|
|
3142
3156
|
] })
|
|
3143
3157
|
] }),
|
|
3144
|
-
/* @__PURE__ */
|
|
3158
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex justify-end gap-2 mt-2", children: [
|
|
3145
3159
|
onCancel && /* @__PURE__ */ jsx19(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
|
|
3146
3160
|
/* @__PURE__ */ jsx19(
|
|
3147
3161
|
Button,
|
|
@@ -3164,9 +3178,9 @@ var ImageCropper = ({
|
|
|
3164
3178
|
|
|
3165
3179
|
// src/components/metric-value.tsx
|
|
3166
3180
|
init_cn();
|
|
3167
|
-
import { jsx as jsx20, jsxs as
|
|
3181
|
+
import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3168
3182
|
function MetricValue({ value, label, className }) {
|
|
3169
|
-
return /* @__PURE__ */
|
|
3183
|
+
return /* @__PURE__ */ jsxs16("div", { className: cn('flex items-end gap-2 whitespace-nowrap font-["DM_Sans"] text-lg leading-[24px] text-ods-text-primary', className), children: [
|
|
3170
3184
|
value,
|
|
3171
3185
|
/* @__PURE__ */ jsx20("span", { className: "text-sm text-ods-text-secondary", children: label })
|
|
3172
3186
|
] });
|
|
@@ -3206,9 +3220,9 @@ function SquareAvatar2({ src, fallbackName = "", size = 56, fullWidth = false, c
|
|
|
3206
3220
|
}
|
|
3207
3221
|
|
|
3208
3222
|
// src/components/msp-display.tsx
|
|
3209
|
-
import { jsx as jsx22, jsxs as
|
|
3223
|
+
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3210
3224
|
function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
3211
|
-
return /* @__PURE__ */
|
|
3225
|
+
return /* @__PURE__ */ jsxs17("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
|
|
3212
3226
|
/* @__PURE__ */ jsx22(SquareAvatar2, { src: logoUrl ?? void 0, fallbackName: name, size }),
|
|
3213
3227
|
/* @__PURE__ */ jsx22("h2", { className: "truncate pl-2", children: name })
|
|
3214
3228
|
] });
|
|
@@ -3216,13 +3230,13 @@ function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
|
3216
3230
|
|
|
3217
3231
|
// src/components/open-source-features.tsx
|
|
3218
3232
|
import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
|
|
3219
|
-
import { jsx as jsx23, jsxs as
|
|
3233
|
+
import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3220
3234
|
|
|
3221
3235
|
// src/components/index.ts
|
|
3222
3236
|
init_pagination();
|
|
3223
3237
|
|
|
3224
3238
|
// src/components/pricing-display.tsx
|
|
3225
|
-
import { jsx as jsx24, jsxs as
|
|
3239
|
+
import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3226
3240
|
var PRICING_STYLES = {
|
|
3227
3241
|
// Comparison table style (current default)
|
|
3228
3242
|
comparison: {
|
|
@@ -3268,9 +3282,9 @@ function PricingDisplay({
|
|
|
3268
3282
|
const item = pricingArray[0];
|
|
3269
3283
|
const price = item.ranges?.[0]?.min || 0;
|
|
3270
3284
|
const unit = item.ranges?.[0]?.unit;
|
|
3271
|
-
return /* @__PURE__ */
|
|
3285
|
+
return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3272
3286
|
/* @__PURE__ */ jsx24("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
3273
|
-
unit && /* @__PURE__ */
|
|
3287
|
+
unit && /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3274
3288
|
"/",
|
|
3275
3289
|
unit
|
|
3276
3290
|
] })
|
|
@@ -3278,9 +3292,9 @@ function PricingDisplay({
|
|
|
3278
3292
|
}
|
|
3279
3293
|
const priceValues = pricingArray.map((item) => formatPriceValue(item.ranges?.[0]?.min || 0, styleConfig.showTildePrefix));
|
|
3280
3294
|
const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
|
|
3281
|
-
return /* @__PURE__ */
|
|
3295
|
+
return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3282
3296
|
/* @__PURE__ */ jsx24("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
3283
|
-
itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */
|
|
3297
|
+
itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3284
3298
|
"/",
|
|
3285
3299
|
itemWithUnit.ranges[0].unit
|
|
3286
3300
|
] })
|
|
@@ -3357,7 +3371,7 @@ function LegacyPricingDisplay({
|
|
|
3357
3371
|
};
|
|
3358
3372
|
};
|
|
3359
3373
|
const { mainValue, secondaryInfo } = parsePricing(pricing);
|
|
3360
|
-
return /* @__PURE__ */
|
|
3374
|
+
return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3361
3375
|
/* @__PURE__ */ jsx24("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
|
|
3362
3376
|
secondaryInfo && /* @__PURE__ */ jsx24("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
|
|
3363
3377
|
] });
|
|
@@ -3366,8 +3380,14 @@ function formatPricingForDisplay(pricing) {
|
|
|
3366
3380
|
return pricing;
|
|
3367
3381
|
}
|
|
3368
3382
|
|
|
3383
|
+
// src/components/agent-mark.tsx
|
|
3384
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
3385
|
+
function AgentMark({ agent, className = "", faeAvatarSrc = FAE_AVATAR_DATA_URI }) {
|
|
3386
|
+
return agent === "mingo" ? /* @__PURE__ */ jsx25(MingoIcon, { className, "aria-hidden": "true", focusable: "false" }) : /* @__PURE__ */ jsx25("img", { src: faeAvatarSrc, alt: "", className });
|
|
3387
|
+
}
|
|
3388
|
+
|
|
3369
3389
|
// src/components/results-count.tsx
|
|
3370
|
-
import { Fragment as Fragment5, jsx as
|
|
3390
|
+
import { Fragment as Fragment5, jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3371
3391
|
function ResultsCount({
|
|
3372
3392
|
currentPage,
|
|
3373
3393
|
pageSize,
|
|
@@ -3383,7 +3403,7 @@ function ResultsCount({
|
|
|
3383
3403
|
const plural = resultType === "vendors" ? "vendors" : "posts";
|
|
3384
3404
|
const singular = resultType === "vendors" ? "vendor" : "post";
|
|
3385
3405
|
const displayType = totalResults === 1 ? singular : plural;
|
|
3386
|
-
return /* @__PURE__ */
|
|
3406
|
+
return /* @__PURE__ */ jsx26("div", { className: "mb-6", children: /* @__PURE__ */ jsx26("p", { className: "text-ods-text-secondary text-sm font-['DM_Sans']", children: totalResults > 0 && /* @__PURE__ */ jsxs20(Fragment5, { children: [
|
|
3387
3407
|
"Showing ",
|
|
3388
3408
|
startIndex,
|
|
3389
3409
|
"-",
|
|
@@ -3392,7 +3412,7 @@ function ResultsCount({
|
|
|
3392
3412
|
totalResults,
|
|
3393
3413
|
" ",
|
|
3394
3414
|
displayType,
|
|
3395
|
-
sortingMessage && /* @__PURE__ */
|
|
3415
|
+
sortingMessage && /* @__PURE__ */ jsxs20("span", { className: "ml-2 text-ods-accent", children: [
|
|
3396
3416
|
"\u2022 ",
|
|
3397
3417
|
sortingMessage
|
|
3398
3418
|
] })
|
|
@@ -3402,7 +3422,7 @@ function ResultsCount({
|
|
|
3402
3422
|
// src/components/vendor-tag.tsx
|
|
3403
3423
|
init_cn();
|
|
3404
3424
|
import { Hand, Sparkles } from "lucide-react";
|
|
3405
|
-
import { jsx as
|
|
3425
|
+
import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3406
3426
|
function VendorTag({
|
|
3407
3427
|
type,
|
|
3408
3428
|
text,
|
|
@@ -3421,89 +3441,89 @@ function VendorTag({
|
|
|
3421
3441
|
return {
|
|
3422
3442
|
text: "Placeholder",
|
|
3423
3443
|
textColor: "text-ods-text-primary",
|
|
3424
|
-
icon: /* @__PURE__ */
|
|
3444
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
|
|
3425
3445
|
};
|
|
3426
3446
|
case "ai":
|
|
3427
3447
|
return {
|
|
3428
3448
|
text: "AI Selected",
|
|
3429
3449
|
textColor: "text-ods-text-primary",
|
|
3430
|
-
icon: /* @__PURE__ */
|
|
3450
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(Sparkles, { width: 10, height: 10, className: "text-ods-text-primary" }) })
|
|
3431
3451
|
};
|
|
3432
3452
|
case "manual":
|
|
3433
3453
|
return {
|
|
3434
3454
|
text: "Manually Selected",
|
|
3435
3455
|
textColor: "text-ods-text-secondary",
|
|
3436
|
-
icon: /* @__PURE__ */
|
|
3456
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(Hand, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3437
3457
|
};
|
|
3438
3458
|
case "open-source":
|
|
3439
3459
|
return {
|
|
3440
3460
|
text: text || "Open Source",
|
|
3441
|
-
icon: /* @__PURE__ */
|
|
3461
|
+
icon: /* @__PURE__ */ jsx27(
|
|
3442
3462
|
"div",
|
|
3443
3463
|
{
|
|
3444
3464
|
className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0",
|
|
3445
3465
|
style: accentColor ? { backgroundColor: accentColor } : void 0,
|
|
3446
|
-
children: /* @__PURE__ */
|
|
3466
|
+
children: /* @__PURE__ */ jsx27(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" })
|
|
3447
3467
|
}
|
|
3448
3468
|
)
|
|
3449
3469
|
};
|
|
3450
3470
|
case "commercial":
|
|
3451
3471
|
return {
|
|
3452
3472
|
text: text || "Commercial Vendor",
|
|
3453
|
-
icon: /* @__PURE__ */
|
|
3473
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3454
3474
|
};
|
|
3455
3475
|
case "free":
|
|
3456
3476
|
return {
|
|
3457
3477
|
text: text || "Free",
|
|
3458
|
-
icon: /* @__PURE__ */
|
|
3478
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "$" }) })
|
|
3459
3479
|
};
|
|
3460
3480
|
case "freemium":
|
|
3461
3481
|
return {
|
|
3462
3482
|
text: text || "Freemium",
|
|
3463
|
-
icon: /* @__PURE__ */
|
|
3483
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "$" }) })
|
|
3464
3484
|
};
|
|
3465
3485
|
case "paid":
|
|
3466
3486
|
return {
|
|
3467
3487
|
text: text || "Paid",
|
|
3468
|
-
icon: /* @__PURE__ */
|
|
3488
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3469
3489
|
};
|
|
3470
3490
|
case "enterprise":
|
|
3471
3491
|
return {
|
|
3472
3492
|
text: text || "Enterprise",
|
|
3473
|
-
icon: /* @__PURE__ */
|
|
3493
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "E" }) })
|
|
3474
3494
|
};
|
|
3475
3495
|
case "recommended":
|
|
3476
3496
|
return {
|
|
3477
3497
|
text: text || "Recommended",
|
|
3478
|
-
icon: /* @__PURE__ */
|
|
3498
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
|
|
3479
3499
|
};
|
|
3480
3500
|
case "classification":
|
|
3481
3501
|
const classificationType = text?.toLowerCase();
|
|
3482
3502
|
if (classificationType === "open_source") {
|
|
3483
3503
|
return {
|
|
3484
3504
|
text: "Open Source",
|
|
3485
|
-
icon: /* @__PURE__ */
|
|
3505
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" }) })
|
|
3486
3506
|
};
|
|
3487
3507
|
} else if (classificationType === "commercial") {
|
|
3488
3508
|
return {
|
|
3489
3509
|
text: "Commercial Vendor",
|
|
3490
|
-
icon: /* @__PURE__ */
|
|
3510
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27(CoinsIcon2, { width: 10, height: 10, className: "text-ods-text-secondary" }) })
|
|
3491
3511
|
};
|
|
3492
3512
|
} else if (classificationType === "openframe_selected") {
|
|
3493
3513
|
return {
|
|
3494
3514
|
text: "OpenFrame Selected",
|
|
3495
|
-
icon: /* @__PURE__ */
|
|
3515
|
+
icon: /* @__PURE__ */ jsx27(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
|
|
3496
3516
|
};
|
|
3497
3517
|
} else {
|
|
3498
3518
|
return {
|
|
3499
3519
|
text: text || "Classification",
|
|
3500
|
-
icon: /* @__PURE__ */
|
|
3520
|
+
icon: /* @__PURE__ */ jsx27("div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx27("span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "C" }) })
|
|
3501
3521
|
};
|
|
3502
3522
|
}
|
|
3503
3523
|
case "openframe_selected":
|
|
3504
3524
|
return {
|
|
3505
3525
|
text: text || "OpenFrame Selected",
|
|
3506
|
-
icon: /* @__PURE__ */
|
|
3526
|
+
icon: /* @__PURE__ */ jsx27(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
|
|
3507
3527
|
};
|
|
3508
3528
|
default:
|
|
3509
3529
|
return {
|
|
@@ -3513,9 +3533,9 @@ function VendorTag({
|
|
|
3513
3533
|
}
|
|
3514
3534
|
};
|
|
3515
3535
|
const { text: displayText, icon, textColor } = getTagContent();
|
|
3516
|
-
return /* @__PURE__ */
|
|
3536
|
+
return /* @__PURE__ */ jsxs21("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
|
|
3517
3537
|
icon,
|
|
3518
|
-
/* @__PURE__ */
|
|
3538
|
+
/* @__PURE__ */ jsx27("span", { className: cn(
|
|
3519
3539
|
"font-mono font-semibold uppercase",
|
|
3520
3540
|
textColor ? textColor : "text-ods-text-primary",
|
|
3521
3541
|
size === "sm" ? "text-[10px]" : "text-xs"
|
|
@@ -3524,12 +3544,12 @@ function VendorTag({
|
|
|
3524
3544
|
}
|
|
3525
3545
|
|
|
3526
3546
|
// src/components/selection-source-badge.tsx
|
|
3527
|
-
import { jsx as
|
|
3547
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3528
3548
|
function SelectionSourceBadge({ source, hidden = false }) {
|
|
3529
3549
|
if (!source) {
|
|
3530
3550
|
return null;
|
|
3531
3551
|
}
|
|
3532
|
-
return /* @__PURE__ */
|
|
3552
|
+
return /* @__PURE__ */ jsx28(
|
|
3533
3553
|
VendorTag,
|
|
3534
3554
|
{
|
|
3535
3555
|
type: source?.toLowerCase(),
|
|
@@ -3542,26 +3562,26 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
3542
3562
|
|
|
3543
3563
|
// src/components/user-display.tsx
|
|
3544
3564
|
init_cn();
|
|
3545
|
-
import { jsx as
|
|
3565
|
+
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3546
3566
|
function UserDisplay({ name, avatarUrl, subtitle, size = 32, className }) {
|
|
3547
|
-
return /* @__PURE__ */
|
|
3548
|
-
/* @__PURE__ */
|
|
3549
|
-
/* @__PURE__ */
|
|
3550
|
-
/* @__PURE__ */
|
|
3551
|
-
subtitle && /* @__PURE__ */
|
|
3567
|
+
return /* @__PURE__ */ jsxs22("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
|
|
3568
|
+
/* @__PURE__ */ jsx29(SquareAvatar2, { src: avatarUrl ?? void 0, fallbackName: name, size }),
|
|
3569
|
+
/* @__PURE__ */ jsxs22("div", { className: "min-w-0 flex-1", children: [
|
|
3570
|
+
/* @__PURE__ */ jsx29("p", { className: "font-['DM_Sans'] text-lg leading-[22px] text-ods-text-primary truncate", children: name }),
|
|
3571
|
+
subtitle && /* @__PURE__ */ jsx29("span", { className: "font-['DM_Sans'] text-md leading-[16px] text-ods-text-secondary truncate", children: subtitle })
|
|
3552
3572
|
] })
|
|
3553
3573
|
] });
|
|
3554
3574
|
}
|
|
3555
3575
|
|
|
3556
3576
|
// src/components/loading/content-skeleton.tsx
|
|
3557
3577
|
init_cn();
|
|
3558
|
-
import { jsx as
|
|
3578
|
+
import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3559
3579
|
function ParagraphSkeleton({
|
|
3560
3580
|
className,
|
|
3561
3581
|
lines = 4
|
|
3562
3582
|
}) {
|
|
3563
3583
|
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
3564
|
-
return /* @__PURE__ */
|
|
3584
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ jsx30(
|
|
3565
3585
|
TextSkeleton.Body,
|
|
3566
3586
|
{
|
|
3567
3587
|
className: lineWidths[index % lineWidths.length]
|
|
@@ -3575,14 +3595,14 @@ function ListSkeleton({
|
|
|
3575
3595
|
showIcons = false,
|
|
3576
3596
|
showActions = false
|
|
3577
3597
|
}) {
|
|
3578
|
-
return /* @__PURE__ */
|
|
3579
|
-
/* @__PURE__ */
|
|
3580
|
-
showIcons && /* @__PURE__ */
|
|
3581
|
-
/* @__PURE__ */
|
|
3598
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between", children: [
|
|
3599
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
|
|
3600
|
+
showIcons && /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
|
|
3601
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-32 md:w-48" })
|
|
3582
3602
|
] }),
|
|
3583
|
-
showActions && /* @__PURE__ */
|
|
3584
|
-
/* @__PURE__ */
|
|
3585
|
-
/* @__PURE__ */
|
|
3603
|
+
showActions && /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
|
|
3604
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-8" }),
|
|
3605
|
+
/* @__PURE__ */ jsx30(UnifiedSkeleton, { variant: "default", className: "w-4 h-4" })
|
|
3586
3606
|
] })
|
|
3587
3607
|
] }, index)) });
|
|
3588
3608
|
}
|
|
@@ -3591,14 +3611,14 @@ function TableSkeleton({
|
|
|
3591
3611
|
rows = 5,
|
|
3592
3612
|
columns = 4
|
|
3593
3613
|
}) {
|
|
3594
|
-
return /* @__PURE__ */
|
|
3595
|
-
/* @__PURE__ */
|
|
3596
|
-
/* @__PURE__ */
|
|
3614
|
+
return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-4", className), children: [
|
|
3615
|
+
/* @__PURE__ */ jsx30("div", { className: "grid gap-4", style: { gridTemplateColumns: `repeat(${columns}, 1fr)` }, children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-3/4" }, index)) }),
|
|
3616
|
+
/* @__PURE__ */ jsx30("div", { className: "space-y-3", children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsx30(
|
|
3597
3617
|
"div",
|
|
3598
3618
|
{
|
|
3599
3619
|
className: "grid gap-4 py-2 border-b border-ods-divider",
|
|
3600
3620
|
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
3601
|
-
children: Array.from({ length: columns }).map((_2, colIndex) => /* @__PURE__ */
|
|
3621
|
+
children: Array.from({ length: columns }).map((_2, colIndex) => /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" }, colIndex))
|
|
3602
3622
|
},
|
|
3603
3623
|
rowIndex
|
|
3604
3624
|
)) })
|
|
@@ -3608,15 +3628,15 @@ function FormSkeleton({
|
|
|
3608
3628
|
className,
|
|
3609
3629
|
fields = 4
|
|
3610
3630
|
}) {
|
|
3611
|
-
return /* @__PURE__ */
|
|
3612
|
-
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */
|
|
3613
|
-
/* @__PURE__ */
|
|
3614
|
-
/* @__PURE__ */
|
|
3615
|
-
index % 3 === 0 && /* @__PURE__ */
|
|
3631
|
+
return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-6", className), children: [
|
|
3632
|
+
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "space-y-2", children: [
|
|
3633
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-24" }),
|
|
3634
|
+
/* @__PURE__ */ jsx30(InteractiveSkeleton.Input, {}),
|
|
3635
|
+
index % 3 === 0 && /* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-48" })
|
|
3616
3636
|
] }, index)),
|
|
3617
|
-
/* @__PURE__ */
|
|
3618
|
-
/* @__PURE__ */
|
|
3619
|
-
/* @__PURE__ */
|
|
3637
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex gap-4 pt-4", children: [
|
|
3638
|
+
/* @__PURE__ */ jsx30(InteractiveSkeleton.Button, {}),
|
|
3639
|
+
/* @__PURE__ */ jsx30(InteractiveSkeleton.Button, { className: "bg-ods-border" })
|
|
3620
3640
|
] })
|
|
3621
3641
|
] });
|
|
3622
3642
|
}
|
|
@@ -3625,7 +3645,7 @@ function NavigationSkeleton({
|
|
|
3625
3645
|
items = 6,
|
|
3626
3646
|
horizontal = true
|
|
3627
3647
|
}) {
|
|
3628
|
-
return /* @__PURE__ */
|
|
3648
|
+
return /* @__PURE__ */ jsx30(
|
|
3629
3649
|
"nav",
|
|
3630
3650
|
{
|
|
3631
3651
|
className: cn(
|
|
@@ -3635,7 +3655,7 @@ function NavigationSkeleton({
|
|
|
3635
3655
|
),
|
|
3636
3656
|
role: "status",
|
|
3637
3657
|
"aria-label": "Loading navigation",
|
|
3638
|
-
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */
|
|
3658
|
+
children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-16 md:w-20" }, index))
|
|
3639
3659
|
}
|
|
3640
3660
|
);
|
|
3641
3661
|
}
|
|
@@ -3644,32 +3664,32 @@ function ProfileSkeleton({
|
|
|
3644
3664
|
showBio = true,
|
|
3645
3665
|
showStats = true
|
|
3646
3666
|
}) {
|
|
3647
|
-
return /* @__PURE__ */
|
|
3648
|
-
/* @__PURE__ */
|
|
3649
|
-
/* @__PURE__ */
|
|
3650
|
-
/* @__PURE__ */
|
|
3651
|
-
/* @__PURE__ */
|
|
3652
|
-
/* @__PURE__ */
|
|
3653
|
-
/* @__PURE__ */
|
|
3667
|
+
return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-4", className), children: [
|
|
3668
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-start gap-4", children: [
|
|
3669
|
+
/* @__PURE__ */ jsx30(MediaSkeleton.Avatar, { size: "lg" }),
|
|
3670
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex-1 space-y-2", children: [
|
|
3671
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
3672
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-1/3" }),
|
|
3673
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
|
|
3654
3674
|
] })
|
|
3655
3675
|
] }),
|
|
3656
|
-
showBio && /* @__PURE__ */
|
|
3657
|
-
/* @__PURE__ */
|
|
3658
|
-
/* @__PURE__ */
|
|
3659
|
-
/* @__PURE__ */
|
|
3676
|
+
showBio && /* @__PURE__ */ jsxs23("div", { className: "space-y-2", children: [
|
|
3677
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
|
|
3678
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-4/5" }),
|
|
3679
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
|
|
3660
3680
|
] }),
|
|
3661
|
-
showStats && /* @__PURE__ */
|
|
3662
|
-
/* @__PURE__ */
|
|
3663
|
-
/* @__PURE__ */
|
|
3664
|
-
/* @__PURE__ */
|
|
3681
|
+
showStats && /* @__PURE__ */ jsxs23("div", { className: "flex gap-6", children: [
|
|
3682
|
+
/* @__PURE__ */ jsxs23("div", { className: "text-center", children: [
|
|
3683
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
|
|
3684
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-12 mx-auto" })
|
|
3665
3685
|
] }),
|
|
3666
|
-
/* @__PURE__ */
|
|
3667
|
-
/* @__PURE__ */
|
|
3668
|
-
/* @__PURE__ */
|
|
3686
|
+
/* @__PURE__ */ jsxs23("div", { className: "text-center", children: [
|
|
3687
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
|
|
3688
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16 mx-auto" })
|
|
3669
3689
|
] }),
|
|
3670
|
-
/* @__PURE__ */
|
|
3671
|
-
/* @__PURE__ */
|
|
3672
|
-
/* @__PURE__ */
|
|
3690
|
+
/* @__PURE__ */ jsxs23("div", { className: "text-center", children: [
|
|
3691
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-8 mx-auto" }),
|
|
3692
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-14 mx-auto" })
|
|
3673
3693
|
] })
|
|
3674
3694
|
] })
|
|
3675
3695
|
] });
|
|
@@ -3679,34 +3699,34 @@ function CommentSkeleton({
|
|
|
3679
3699
|
showRating = false,
|
|
3680
3700
|
showReplies = false
|
|
3681
3701
|
}) {
|
|
3682
|
-
return /* @__PURE__ */
|
|
3683
|
-
/* @__PURE__ */
|
|
3684
|
-
/* @__PURE__ */
|
|
3685
|
-
/* @__PURE__ */
|
|
3686
|
-
/* @__PURE__ */
|
|
3687
|
-
/* @__PURE__ */
|
|
3688
|
-
showRating && /* @__PURE__ */
|
|
3702
|
+
return /* @__PURE__ */ jsxs23("div", { className: cn("space-y-3", className), children: [
|
|
3703
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
|
|
3704
|
+
/* @__PURE__ */ jsx30(MediaSkeleton.Avatar, { size: "sm" }),
|
|
3705
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex-1 flex items-center gap-4", children: [
|
|
3706
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-24" }),
|
|
3707
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16" }),
|
|
3708
|
+
showRating && /* @__PURE__ */ jsx30("div", { className: "flex gap-1", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }, i)) })
|
|
3689
3709
|
] })
|
|
3690
3710
|
] }),
|
|
3691
|
-
/* @__PURE__ */
|
|
3692
|
-
/* @__PURE__ */
|
|
3693
|
-
/* @__PURE__ */
|
|
3694
|
-
/* @__PURE__ */
|
|
3711
|
+
/* @__PURE__ */ jsxs23("div", { className: "ml-11 space-y-2", children: [
|
|
3712
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
|
|
3713
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" }),
|
|
3714
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-1/2" })
|
|
3695
3715
|
] }),
|
|
3696
|
-
/* @__PURE__ */
|
|
3697
|
-
/* @__PURE__ */
|
|
3698
|
-
/* @__PURE__ */
|
|
3699
|
-
/* @__PURE__ */
|
|
3716
|
+
/* @__PURE__ */ jsxs23("div", { className: "ml-11 flex gap-4", children: [
|
|
3717
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-12" }),
|
|
3718
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16" }),
|
|
3719
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-8" })
|
|
3700
3720
|
] }),
|
|
3701
|
-
showReplies && /* @__PURE__ */
|
|
3702
|
-
/* @__PURE__ */
|
|
3703
|
-
/* @__PURE__ */
|
|
3704
|
-
/* @__PURE__ */
|
|
3705
|
-
/* @__PURE__ */
|
|
3721
|
+
showReplies && /* @__PURE__ */ jsx30("div", { className: "ml-11 pl-4 border-l border-ods-divider space-y-4", children: Array.from({ length: 2 }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "space-y-2", children: [
|
|
3722
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
|
|
3723
|
+
/* @__PURE__ */ jsx30(MediaSkeleton.Avatar, { size: "sm" }),
|
|
3724
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-20" }),
|
|
3725
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-12" })
|
|
3706
3726
|
] }),
|
|
3707
|
-
/* @__PURE__ */
|
|
3708
|
-
/* @__PURE__ */
|
|
3709
|
-
/* @__PURE__ */
|
|
3727
|
+
/* @__PURE__ */ jsxs23("div", { className: "ml-11", children: [
|
|
3728
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
|
|
3729
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
|
|
3710
3730
|
] })
|
|
3711
3731
|
] }, index)) })
|
|
3712
3732
|
] });
|
|
@@ -3718,35 +3738,35 @@ function FeatureListSkeleton({
|
|
|
3718
3738
|
grouped = false
|
|
3719
3739
|
}) {
|
|
3720
3740
|
if (grouped) {
|
|
3721
|
-
return /* @__PURE__ */
|
|
3722
|
-
/* @__PURE__ */
|
|
3723
|
-
/* @__PURE__ */
|
|
3724
|
-
showIcons && /* @__PURE__ */
|
|
3725
|
-
/* @__PURE__ */
|
|
3741
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("space-y-6", className), children: Array.from({ length: 3 }).map((_, groupIndex) => /* @__PURE__ */ jsxs23("div", { className: "space-y-3", children: [
|
|
3742
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
3743
|
+
/* @__PURE__ */ jsx30("div", { className: "space-y-2", children: Array.from({ length: features / 3 }).map((_2, featureIndex) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
|
|
3744
|
+
showIcons && /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
|
|
3745
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
|
|
3726
3746
|
] }, featureIndex)) })
|
|
3727
3747
|
] }, groupIndex)) });
|
|
3728
3748
|
}
|
|
3729
|
-
return /* @__PURE__ */
|
|
3730
|
-
showIcons && /* @__PURE__ */
|
|
3731
|
-
/* @__PURE__ */
|
|
3749
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("space-y-3", className), children: Array.from({ length: features }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
|
|
3750
|
+
showIcons && /* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
|
|
3751
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-2/3" })
|
|
3732
3752
|
] }, index)) });
|
|
3733
3753
|
}
|
|
3734
3754
|
function TimelineSkeleton({
|
|
3735
3755
|
className,
|
|
3736
3756
|
items = 5
|
|
3737
3757
|
}) {
|
|
3738
|
-
return /* @__PURE__ */
|
|
3739
|
-
/* @__PURE__ */
|
|
3740
|
-
/* @__PURE__ */
|
|
3741
|
-
index < items - 1 && /* @__PURE__ */
|
|
3758
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("space-y-6", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs23("div", { className: "flex gap-4", children: [
|
|
3759
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center", children: [
|
|
3760
|
+
/* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
|
|
3761
|
+
index < items - 1 && /* @__PURE__ */ jsx30("div", { className: "w-px h-12 bg-ods-border mt-2" })
|
|
3742
3762
|
] }),
|
|
3743
|
-
/* @__PURE__ */
|
|
3744
|
-
/* @__PURE__ */
|
|
3745
|
-
/* @__PURE__ */
|
|
3746
|
-
/* @__PURE__ */
|
|
3763
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex-1 space-y-2", children: [
|
|
3764
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
|
|
3765
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-1/3" }),
|
|
3766
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-16" })
|
|
3747
3767
|
] }),
|
|
3748
|
-
/* @__PURE__ */
|
|
3749
|
-
/* @__PURE__ */
|
|
3768
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
|
|
3769
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
|
|
3750
3770
|
] })
|
|
3751
3771
|
] }, index)) });
|
|
3752
3772
|
}
|
|
@@ -3754,54 +3774,54 @@ function PricingSkeleton({
|
|
|
3754
3774
|
className,
|
|
3755
3775
|
plans = 3
|
|
3756
3776
|
}) {
|
|
3757
|
-
return /* @__PURE__ */
|
|
3777
|
+
return /* @__PURE__ */ jsx30("div", { className: cn(
|
|
3758
3778
|
"grid gap-6",
|
|
3759
3779
|
plans === 2 && "grid-cols-1 md:grid-cols-2",
|
|
3760
3780
|
plans === 3 && "grid-cols-1 md:grid-cols-3",
|
|
3761
3781
|
plans === 4 && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
|
|
3762
3782
|
className
|
|
3763
|
-
), children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */
|
|
3764
|
-
/* @__PURE__ */
|
|
3765
|
-
/* @__PURE__ */
|
|
3766
|
-
/* @__PURE__ */
|
|
3767
|
-
/* @__PURE__ */
|
|
3783
|
+
), children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */ jsx30("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6", children: /* @__PURE__ */ jsxs23("div", { className: "space-y-4", children: [
|
|
3784
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Subheading, { className: "w-1/2" }),
|
|
3785
|
+
/* @__PURE__ */ jsxs23("div", { className: "space-y-1", children: [
|
|
3786
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Heading, { className: "w-1/3" }),
|
|
3787
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Caption, { className: "w-1/4" })
|
|
3768
3788
|
] }),
|
|
3769
|
-
/* @__PURE__ */
|
|
3770
|
-
/* @__PURE__ */
|
|
3771
|
-
/* @__PURE__ */
|
|
3789
|
+
/* @__PURE__ */ jsx30("div", { className: "space-y-3 py-4", children: Array.from({ length: 5 }).map((_2, featureIndex) => /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
|
|
3790
|
+
/* @__PURE__ */ jsx30(MediaSkeleton.Icon, { size: "sm" }),
|
|
3791
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
|
|
3772
3792
|
] }, featureIndex)) }),
|
|
3773
|
-
/* @__PURE__ */
|
|
3793
|
+
/* @__PURE__ */ jsx30(InteractiveSkeleton.Button, { className: "w-full" })
|
|
3774
3794
|
] }) }, index)) });
|
|
3775
3795
|
}
|
|
3776
3796
|
|
|
3777
3797
|
// src/components/profile/ProfileLoadingSkeleton.tsx
|
|
3778
3798
|
init_cn();
|
|
3779
|
-
import { jsx as
|
|
3799
|
+
import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3780
3800
|
function ProfileLoadingSkeleton({ className }) {
|
|
3781
|
-
return /* @__PURE__ */
|
|
3782
|
-
/* @__PURE__ */
|
|
3783
|
-
/* @__PURE__ */
|
|
3784
|
-
/* @__PURE__ */
|
|
3785
|
-
/* @__PURE__ */
|
|
3786
|
-
/* @__PURE__ */
|
|
3801
|
+
return /* @__PURE__ */ jsxs24("div", { className: cn("space-y-6", className), children: [
|
|
3802
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex items-center space-x-4", children: [
|
|
3803
|
+
/* @__PURE__ */ jsx31("div", { className: "h-16 w-16 bg-gray-200 rounded-full animate-pulse" }),
|
|
3804
|
+
/* @__PURE__ */ jsxs24("div", { className: "space-y-2", children: [
|
|
3805
|
+
/* @__PURE__ */ jsx31("div", { className: "h-4 w-32 bg-gray-200 rounded animate-pulse" }),
|
|
3806
|
+
/* @__PURE__ */ jsx31("div", { className: "h-3 w-24 bg-gray-200 rounded animate-pulse" })
|
|
3787
3807
|
] })
|
|
3788
3808
|
] }),
|
|
3789
|
-
/* @__PURE__ */
|
|
3790
|
-
/* @__PURE__ */
|
|
3791
|
-
/* @__PURE__ */
|
|
3792
|
-
/* @__PURE__ */
|
|
3809
|
+
/* @__PURE__ */ jsxs24("div", { className: "space-y-4", children: [
|
|
3810
|
+
/* @__PURE__ */ jsx31("div", { className: "h-4 w-full bg-gray-200 rounded animate-pulse" }),
|
|
3811
|
+
/* @__PURE__ */ jsx31("div", { className: "h-4 w-3/4 bg-gray-200 rounded animate-pulse" }),
|
|
3812
|
+
/* @__PURE__ */ jsx31("div", { className: "h-4 w-1/2 bg-gray-200 rounded animate-pulse" })
|
|
3793
3813
|
] })
|
|
3794
3814
|
] });
|
|
3795
3815
|
}
|
|
3796
3816
|
|
|
3797
3817
|
// src/components/loading/msp-profile-form-skeleton.tsx
|
|
3798
3818
|
init_cn();
|
|
3799
|
-
import { jsx as
|
|
3819
|
+
import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3800
3820
|
function MspProfileFormSkeleton({
|
|
3801
3821
|
className,
|
|
3802
3822
|
fields = 4
|
|
3803
3823
|
}) {
|
|
3804
|
-
return /* @__PURE__ */
|
|
3824
|
+
return /* @__PURE__ */ jsxs25(
|
|
3805
3825
|
"div",
|
|
3806
3826
|
{
|
|
3807
3827
|
className: cn(
|
|
@@ -3811,13 +3831,13 @@ function MspProfileFormSkeleton({
|
|
|
3811
3831
|
role: "status",
|
|
3812
3832
|
"aria-label": "Loading MSP profile form",
|
|
3813
3833
|
children: [
|
|
3814
|
-
/* @__PURE__ */
|
|
3815
|
-
/* @__PURE__ */
|
|
3816
|
-
/* @__PURE__ */
|
|
3834
|
+
/* @__PURE__ */ jsxs25("div", { className: "flex flex-col space-y-2 h-full", children: [
|
|
3835
|
+
/* @__PURE__ */ jsx32(TextSkeleton.Body, { className: "w-28" }),
|
|
3836
|
+
/* @__PURE__ */ jsx32("div", { className: "flex-1 min-h-[180px] md:min-h-full", children: /* @__PURE__ */ jsx32(UnifiedSkeleton, { className: "w-full h-full rounded-lg", "aria-label": "Loading company logo" }) })
|
|
3817
3837
|
] }),
|
|
3818
|
-
/* @__PURE__ */
|
|
3819
|
-
/* @__PURE__ */
|
|
3820
|
-
/* @__PURE__ */
|
|
3838
|
+
/* @__PURE__ */ jsx32("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: Array.from({ length: fields }).map((_, idx) => /* @__PURE__ */ jsxs25("div", { className: "space-y-2 flex flex-col", children: [
|
|
3839
|
+
/* @__PURE__ */ jsx32(TextSkeleton.Body, { className: "w-40" }),
|
|
3840
|
+
/* @__PURE__ */ jsx32(InteractiveSkeleton.Input, {})
|
|
3821
3841
|
] }, idx)) })
|
|
3822
3842
|
]
|
|
3823
3843
|
}
|
|
@@ -3826,9 +3846,9 @@ function MspProfileFormSkeleton({
|
|
|
3826
3846
|
|
|
3827
3847
|
// src/components/loading/category-card-skeleton.tsx
|
|
3828
3848
|
init_cn();
|
|
3829
|
-
import { jsx as
|
|
3849
|
+
import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3830
3850
|
function CategoryCardSkeleton({ className }) {
|
|
3831
|
-
return /* @__PURE__ */
|
|
3851
|
+
return /* @__PURE__ */ jsxs26(
|
|
3832
3852
|
"article",
|
|
3833
3853
|
{
|
|
3834
3854
|
className: cn(
|
|
@@ -3838,7 +3858,7 @@ function CategoryCardSkeleton({ className }) {
|
|
|
3838
3858
|
role: "status",
|
|
3839
3859
|
"aria-label": "Loading category card",
|
|
3840
3860
|
children: [
|
|
3841
|
-
/* @__PURE__ */
|
|
3861
|
+
/* @__PURE__ */ jsx33("div", { className: "flex gap-6 mb-8 justify-center items-center", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ jsx33(
|
|
3842
3862
|
UnifiedSkeleton,
|
|
3843
3863
|
{
|
|
3844
3864
|
variant: "circular",
|
|
@@ -3847,12 +3867,12 @@ function CategoryCardSkeleton({ className }) {
|
|
|
3847
3867
|
},
|
|
3848
3868
|
i
|
|
3849
3869
|
)) }),
|
|
3850
|
-
/* @__PURE__ */
|
|
3851
|
-
/* @__PURE__ */
|
|
3852
|
-
/* @__PURE__ */
|
|
3853
|
-
/* @__PURE__ */
|
|
3870
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex-1 flex flex-col space-y-3", children: [
|
|
3871
|
+
/* @__PURE__ */ jsx33(TextSkeleton.Heading, { className: "w-3/4" }),
|
|
3872
|
+
/* @__PURE__ */ jsx33(TextSkeleton.Body, { className: "w-1/2" }),
|
|
3873
|
+
/* @__PURE__ */ jsx33(TextSkeleton.Body, { className: "w-full" })
|
|
3854
3874
|
] }),
|
|
3855
|
-
/* @__PURE__ */
|
|
3875
|
+
/* @__PURE__ */ jsx33("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ jsx33(UnifiedSkeleton, { className: "w-12 h-12 rounded-[6px]", "aria-label": "Loading button" }) })
|
|
3856
3876
|
]
|
|
3857
3877
|
}
|
|
3858
3878
|
);
|
|
@@ -3860,22 +3880,22 @@ function CategoryCardSkeleton({ className }) {
|
|
|
3860
3880
|
|
|
3861
3881
|
// src/components/loading/category-vendor-selector-skeleton.tsx
|
|
3862
3882
|
init_cn();
|
|
3863
|
-
import { jsx as
|
|
3883
|
+
import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3864
3884
|
function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
3865
|
-
return /* @__PURE__ */
|
|
3885
|
+
return /* @__PURE__ */ jsxs27(
|
|
3866
3886
|
"div",
|
|
3867
3887
|
{
|
|
3868
3888
|
className: cn("bg-ods-card border border-ods-border rounded-lg p-6", className),
|
|
3869
3889
|
role: "status",
|
|
3870
3890
|
"aria-label": "Loading category section",
|
|
3871
3891
|
children: [
|
|
3872
|
-
/* @__PURE__ */
|
|
3873
|
-
/* @__PURE__ */
|
|
3874
|
-
/* @__PURE__ */
|
|
3892
|
+
/* @__PURE__ */ jsxs27("div", { className: "mb-6 space-y-2 max-w-xl", children: [
|
|
3893
|
+
/* @__PURE__ */ jsx34(TextSkeleton.Heading, { className: "w-1/2" }),
|
|
3894
|
+
/* @__PURE__ */ jsx34(TextSkeleton.Body, { className: "w-3/4" })
|
|
3875
3895
|
] }),
|
|
3876
|
-
/* @__PURE__ */
|
|
3877
|
-
/* @__PURE__ */
|
|
3878
|
-
/* @__PURE__ */
|
|
3896
|
+
/* @__PURE__ */ jsx34("div", { className: "space-y-6", children: Array.from({ length: subcategories }).map((_, idx) => /* @__PURE__ */ jsxs27("div", { className: "space-y-2", children: [
|
|
3897
|
+
/* @__PURE__ */ jsx34(TextSkeleton.Subheading, { className: "w-1/3" }),
|
|
3898
|
+
/* @__PURE__ */ jsx34("div", { className: "grid grid-cols-2 md:grid-cols-3 gap-4", children: Array.from({ length: 2 }).map((__, j) => /* @__PURE__ */ jsx34(UnifiedSkeleton, { className: "h-20 rounded-lg" }, j)) })
|
|
3879
3899
|
] }, idx)) })
|
|
3880
3900
|
]
|
|
3881
3901
|
}
|
|
@@ -3884,90 +3904,90 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
3884
3904
|
|
|
3885
3905
|
// src/components/loading/wizard-layout-skeleton.tsx
|
|
3886
3906
|
init_cn();
|
|
3887
|
-
import { jsx as
|
|
3907
|
+
import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3888
3908
|
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
3889
|
-
return /* @__PURE__ */
|
|
3890
|
-
/* @__PURE__ */
|
|
3891
|
-
/* @__PURE__ */
|
|
3892
|
-
/* @__PURE__ */
|
|
3893
|
-
/* @__PURE__ */
|
|
3909
|
+
return /* @__PURE__ */ jsxs28("div", { className: cn("space-y-6", className), role: "status", "aria-label": "Loading wizard layout", children: [
|
|
3910
|
+
/* @__PURE__ */ jsx35("div", { className: "flex flex-wrap items-center gap-2", children: Array.from({ length: steps }).map((_, i) => /* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-6 w-24 rounded" }, i)) }),
|
|
3911
|
+
/* @__PURE__ */ jsxs28("div", { className: "space-y-2 max-w-2xl", children: [
|
|
3912
|
+
/* @__PURE__ */ jsx35(TextSkeleton.Heading, { className: "w-2/3" }),
|
|
3913
|
+
/* @__PURE__ */ jsx35(TextSkeleton.Body, { className: "w-1/2" })
|
|
3894
3914
|
] }),
|
|
3895
|
-
/* @__PURE__ */
|
|
3896
|
-
/* @__PURE__ */
|
|
3897
|
-
/* @__PURE__ */
|
|
3915
|
+
/* @__PURE__ */ jsxs28("div", { className: "flex justify-between mt-10", children: [
|
|
3916
|
+
/* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-10 w-24 rounded" }),
|
|
3917
|
+
/* @__PURE__ */ jsx35(UnifiedSkeleton, { className: "h-10 w-32 rounded" })
|
|
3898
3918
|
] })
|
|
3899
3919
|
] });
|
|
3900
3920
|
}
|
|
3901
3921
|
|
|
3902
3922
|
// src/components/loading/margin-report-skeleton.tsx
|
|
3903
|
-
import { jsx as
|
|
3923
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3904
3924
|
function MarginReportSkeleton({ animate = true, description, overlayContent }) {
|
|
3905
|
-
return /* @__PURE__ */
|
|
3906
|
-
/* @__PURE__ */
|
|
3907
|
-
/* @__PURE__ */
|
|
3908
|
-
/* @__PURE__ */
|
|
3909
|
-
/* @__PURE__ */
|
|
3925
|
+
return /* @__PURE__ */ jsxs29("main", { className: `bg-ods-bg ${animate ? "animate-pulse" : ""} relative min-h-screen`, children: [
|
|
3926
|
+
/* @__PURE__ */ jsxs29("div", { className: "max-w-[1920px] px-6 md:px-20 py-6 md:py-10 mx-auto space-y-10", children: [
|
|
3927
|
+
/* @__PURE__ */ jsxs29("div", { className: "space-y-3", children: [
|
|
3928
|
+
/* @__PURE__ */ jsx36("div", { className: "h-10 w-72 bg-[#2A2A2A] rounded" }),
|
|
3929
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-80 bg-[#2A2A2A] rounded" })
|
|
3910
3930
|
] }),
|
|
3911
|
-
/* @__PURE__ */
|
|
3912
|
-
/* @__PURE__ */
|
|
3913
|
-
/* @__PURE__ */
|
|
3914
|
-
/* @__PURE__ */
|
|
3915
|
-
/* @__PURE__ */
|
|
3916
|
-
/* @__PURE__ */
|
|
3917
|
-
/* @__PURE__ */
|
|
3931
|
+
/* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx36("div", { className: "h-32 bg-ods-card border border-ods-border rounded" }, i)) }),
|
|
3932
|
+
/* @__PURE__ */ jsxs29("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [
|
|
3933
|
+
/* @__PURE__ */ jsxs29("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6 flex items-center gap-4 animate-pulse", children: [
|
|
3934
|
+
/* @__PURE__ */ jsx36("div", { className: "w-14 h-14 rounded-lg bg-[#2A2A2A]" }),
|
|
3935
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex-1 space-y-2", children: [
|
|
3936
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 bg-[#2A2A2A] rounded w-3/4" }),
|
|
3937
|
+
/* @__PURE__ */ jsx36("div", { className: "h-3 bg-[#2A2A2A] rounded w-1/2" })
|
|
3918
3938
|
] })
|
|
3919
3939
|
] }),
|
|
3920
|
-
/* @__PURE__ */
|
|
3921
|
-
/* @__PURE__ */
|
|
3922
|
-
/* @__PURE__ */
|
|
3923
|
-
/* @__PURE__ */
|
|
3924
|
-
/* @__PURE__ */
|
|
3925
|
-
/* @__PURE__ */
|
|
3926
|
-
/* @__PURE__ */
|
|
3940
|
+
/* @__PURE__ */ jsxs29("div", { className: "bg-ods-card border border-ods-border rounded-lg p-6 flex flex-col gap-4 animate-pulse", children: [
|
|
3941
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between gap-4", children: [
|
|
3942
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
|
|
3943
|
+
/* @__PURE__ */ jsx36("div", { className: "w-10 h-10 rounded-lg bg-[#2A2A2A]" }),
|
|
3944
|
+
/* @__PURE__ */ jsxs29("div", { className: "space-y-1", children: [
|
|
3945
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-32 bg-[#2A2A2A] rounded" }),
|
|
3946
|
+
/* @__PURE__ */ jsx36("div", { className: "h-3 w-20 bg-[#2A2A2A] rounded" })
|
|
3927
3947
|
] })
|
|
3928
3948
|
] }),
|
|
3929
|
-
/* @__PURE__ */
|
|
3949
|
+
/* @__PURE__ */ jsx36("div", { className: "h-6 w-36 bg-[#2A2A2A] rounded" })
|
|
3930
3950
|
] }),
|
|
3931
|
-
/* @__PURE__ */
|
|
3951
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-40 bg-[#2A2A2A] rounded mt-4" })
|
|
3932
3952
|
] })
|
|
3933
3953
|
] }),
|
|
3934
|
-
/* @__PURE__ */
|
|
3935
|
-
/* @__PURE__ */
|
|
3936
|
-
/* @__PURE__ */
|
|
3937
|
-
/* @__PURE__ */
|
|
3938
|
-
/* @__PURE__ */
|
|
3939
|
-
/* @__PURE__ */
|
|
3954
|
+
/* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: ["Commercial Stack", "Open-Source Stack"].map((label, idx) => /* @__PURE__ */ jsxs29("div", { className: "bg-ods-card border border-ods-border rounded-lg overflow-hidden flex flex-col animate-pulse", children: [
|
|
3955
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between px-6 py-4", children: [
|
|
3956
|
+
/* @__PURE__ */ jsx36("div", { className: "h-6 w-40 bg-[#2A2A2A] rounded" }),
|
|
3957
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
|
|
3958
|
+
/* @__PURE__ */ jsx36("div", { className: "h-5 w-20 bg-[#2A2A2A] rounded" }),
|
|
3959
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-10 bg-[#2A2A2A] rounded" })
|
|
3940
3960
|
] })
|
|
3941
3961
|
] }),
|
|
3942
|
-
/* @__PURE__ */
|
|
3943
|
-
/* @__PURE__ */
|
|
3944
|
-
/* @__PURE__ */
|
|
3945
|
-
/* @__PURE__ */
|
|
3946
|
-
/* @__PURE__ */
|
|
3947
|
-
/* @__PURE__ */
|
|
3962
|
+
/* @__PURE__ */ jsx36("div", { className: "flex-1 flex flex-col gap-3 p-3", children: Array.from({ length: 5 }).map((_, j) => /* @__PURE__ */ jsxs29("div", { className: "bg-ods-bg border border-ods-border rounded-lg px-4 py-3 flex items-center justify-between", children: [
|
|
3963
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-3 min-w-0", children: [
|
|
3964
|
+
/* @__PURE__ */ jsx36("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-lg flex-shrink-0" }),
|
|
3965
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex flex-col min-w-0", children: [
|
|
3966
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-32 bg-[#2A2A2A] rounded" }),
|
|
3967
|
+
/* @__PURE__ */ jsx36("div", { className: "hidden md:block h-3 w-24 bg-[#2A2A2A] rounded mt-1" })
|
|
3948
3968
|
] })
|
|
3949
3969
|
] }),
|
|
3950
|
-
/* @__PURE__ */
|
|
3951
|
-
/* @__PURE__ */
|
|
3952
|
-
/* @__PURE__ */
|
|
3970
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
|
|
3971
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-16 bg-[#2A2A2A] rounded" }),
|
|
3972
|
+
/* @__PURE__ */ jsx36("div", { className: "h-3 w-8 bg-[#2A2A2A] rounded" })
|
|
3953
3973
|
] })
|
|
3954
3974
|
] }, j)) })
|
|
3955
3975
|
] }, idx)) }),
|
|
3956
|
-
/* @__PURE__ */
|
|
3957
|
-
/* @__PURE__ */
|
|
3958
|
-
/* @__PURE__ */
|
|
3959
|
-
/* @__PURE__ */
|
|
3960
|
-
/* @__PURE__ */
|
|
3961
|
-
/* @__PURE__ */
|
|
3962
|
-
/* @__PURE__ */
|
|
3976
|
+
/* @__PURE__ */ jsx36("div", { className: "h-6 w-60 bg-[#2A2A2A] rounded" }),
|
|
3977
|
+
/* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx36("div", { className: "h-48 bg-ods-card border border-ods-border rounded" }, i)) }),
|
|
3978
|
+
/* @__PURE__ */ jsxs29("div", { className: "border border-ods-border rounded-3xl p-8 space-y-6", children: [
|
|
3979
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex items-start gap-6", children: [
|
|
3980
|
+
/* @__PURE__ */ jsxs29("div", { className: "flex-1 space-y-2 min-w-0", children: [
|
|
3981
|
+
/* @__PURE__ */ jsx36("div", { className: "h-8 w-72 bg-[#2A2A2A] rounded" }),
|
|
3982
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-3/4 bg-[#2A2A2A] rounded" })
|
|
3963
3983
|
] }),
|
|
3964
|
-
/* @__PURE__ */
|
|
3984
|
+
/* @__PURE__ */ jsx36("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-md shrink-0" })
|
|
3965
3985
|
] }),
|
|
3966
|
-
/* @__PURE__ */
|
|
3986
|
+
/* @__PURE__ */ jsx36("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx36("div", { className: "h-32 bg-ods-card border border-ods-border rounded" }, i)) })
|
|
3967
3987
|
] })
|
|
3968
3988
|
] }),
|
|
3969
|
-
overlayContent && /* @__PURE__ */
|
|
3970
|
-
description && /* @__PURE__ */
|
|
3989
|
+
overlayContent && /* @__PURE__ */ jsx36("div", { className: "absolute inset-0 bg-ods-card/80 z-10 rounded-lg pointer-events-none", children: /* @__PURE__ */ jsxs29("div", { className: "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 pointer-events-auto flex flex-col items-center gap-4 text-center px-4", children: [
|
|
3990
|
+
description && /* @__PURE__ */ jsx36("h3", { children: description }),
|
|
3971
3991
|
overlayContent
|
|
3972
3992
|
] }) })
|
|
3973
3993
|
] });
|
|
@@ -3975,18 +3995,18 @@ function MarginReportSkeleton({ animate = true, description, overlayContent }) {
|
|
|
3975
3995
|
|
|
3976
3996
|
// src/components/loading/users-grid-skeleton.tsx
|
|
3977
3997
|
init_cn();
|
|
3978
|
-
import { jsx as
|
|
3998
|
+
import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3979
3999
|
function UsersGridSkeleton({ rows = 10, className }) {
|
|
3980
4000
|
const skeletonRows = Array.from({ length: rows });
|
|
3981
|
-
return /* @__PURE__ */
|
|
3982
|
-
/* @__PURE__ */
|
|
3983
|
-
/* @__PURE__ */
|
|
4001
|
+
return /* @__PURE__ */ jsx37("div", { className: cn("overflow-x-auto rounded-lg border border-ods-border bg-ods-card animate-pulse", className), children: /* @__PURE__ */ jsxs30("table", { className: "min-w-full divide-y divide-ods-border", children: [
|
|
4002
|
+
/* @__PURE__ */ jsx37("thead", { className: "bg-[#2A2A2A]", children: /* @__PURE__ */ jsx37("tr", { children: ["Name", "Email", "Role", "Created", "Last Sign-In"].map((h) => /* @__PURE__ */ jsx37("th", { className: "px-4 py-3 text-left text-[12px] font-medium text-ods-text-primary font-['DM_Sans']", children: h }, h)) }) }),
|
|
4003
|
+
/* @__PURE__ */ jsx37("tbody", { className: "divide-y divide-ods-border", children: skeletonRows.map((_, idx) => /* @__PURE__ */ jsx37("tr", { children: Array.from({ length: 5 }).map((__, cell) => /* @__PURE__ */ jsx37("td", { className: "px-4 py-3 whitespace-nowrap", children: /* @__PURE__ */ jsx37("div", { className: "h-4 bg-ods-border rounded w-full" }) }, cell)) }, idx)) })
|
|
3984
4004
|
] }) });
|
|
3985
4005
|
}
|
|
3986
4006
|
|
|
3987
4007
|
// src/components/loading/organization-icon-skeleton.tsx
|
|
3988
4008
|
init_cn();
|
|
3989
|
-
import { jsx as
|
|
4009
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3990
4010
|
var sizeClasses2 = {
|
|
3991
4011
|
xs: "w-6 h-6",
|
|
3992
4012
|
sm: "w-8 h-8",
|
|
@@ -4013,27 +4033,27 @@ function OrganizationIconSkeleton({
|
|
|
4013
4033
|
!showBackground && "overflow-hidden",
|
|
4014
4034
|
className
|
|
4015
4035
|
);
|
|
4016
|
-
return /* @__PURE__ */
|
|
4036
|
+
return /* @__PURE__ */ jsx38(
|
|
4017
4037
|
"div",
|
|
4018
4038
|
{
|
|
4019
4039
|
className: containerClasses,
|
|
4020
4040
|
role: "status",
|
|
4021
4041
|
"aria-label": "Loading organization icon",
|
|
4022
|
-
children: /* @__PURE__ */
|
|
4042
|
+
children: /* @__PURE__ */ jsx38("div", { className: "w-1/2 h-1/2 bg-ods-border rounded-sm animate-pulse" })
|
|
4023
4043
|
}
|
|
4024
4044
|
);
|
|
4025
4045
|
}
|
|
4026
4046
|
|
|
4027
4047
|
// src/components/loading/organization-card-skeleton.tsx
|
|
4028
4048
|
init_cn();
|
|
4029
|
-
import { jsx as
|
|
4049
|
+
import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
4030
4050
|
function OrganizationCardSkeleton({
|
|
4031
4051
|
className,
|
|
4032
4052
|
containerClassName,
|
|
4033
4053
|
showFooter = true,
|
|
4034
4054
|
showDescription = true
|
|
4035
4055
|
}) {
|
|
4036
|
-
return /* @__PURE__ */
|
|
4056
|
+
return /* @__PURE__ */ jsx39(
|
|
4037
4057
|
"div",
|
|
4038
4058
|
{
|
|
4039
4059
|
className: cn(
|
|
@@ -4043,9 +4063,9 @@ function OrganizationCardSkeleton({
|
|
|
4043
4063
|
),
|
|
4044
4064
|
role: "status",
|
|
4045
4065
|
"aria-label": "Loading organization card",
|
|
4046
|
-
children: /* @__PURE__ */
|
|
4047
|
-
/* @__PURE__ */
|
|
4048
|
-
/* @__PURE__ */
|
|
4066
|
+
children: /* @__PURE__ */ jsxs31("div", { className: "p-4 gap-3 flex flex-col", children: [
|
|
4067
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex items-start gap-3 w-full", children: [
|
|
4068
|
+
/* @__PURE__ */ jsx39(
|
|
4049
4069
|
OrganizationIconSkeleton,
|
|
4050
4070
|
{
|
|
4051
4071
|
size: "xl",
|
|
@@ -4054,29 +4074,29 @@ function OrganizationCardSkeleton({
|
|
|
4054
4074
|
className: "w-[60px] h-[60px]"
|
|
4055
4075
|
}
|
|
4056
4076
|
),
|
|
4057
|
-
/* @__PURE__ */
|
|
4058
|
-
/* @__PURE__ */
|
|
4059
|
-
/* @__PURE__ */
|
|
4077
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex-1 flex flex-col justify-center py-2 min-w-0 space-y-1", children: [
|
|
4078
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Subheading, { className: "w-3/4" }),
|
|
4079
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-1/2" })
|
|
4060
4080
|
] })
|
|
4061
4081
|
] }),
|
|
4062
|
-
showDescription && /* @__PURE__ */
|
|
4063
|
-
/* @__PURE__ */
|
|
4064
|
-
/* @__PURE__ */
|
|
4082
|
+
showDescription && /* @__PURE__ */ jsx39("div", { className: "w-full h-12 overflow-hidden flex items-center", children: /* @__PURE__ */ jsxs31("div", { className: "space-y-1 w-full", children: [
|
|
4083
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Body, { className: "w-full" }),
|
|
4084
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Body, { className: "w-2/3" })
|
|
4065
4085
|
] }) }),
|
|
4066
|
-
showFooter && /* @__PURE__ */
|
|
4067
|
-
/* @__PURE__ */
|
|
4068
|
-
/* @__PURE__ */
|
|
4069
|
-
/* @__PURE__ */
|
|
4070
|
-
/* @__PURE__ */
|
|
4086
|
+
showFooter && /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-between gap-2 w-full min-w-0", children: [
|
|
4087
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-3 md:gap-4 min-w-0 flex-shrink", children: [
|
|
4088
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
|
|
4089
|
+
/* @__PURE__ */ jsx39(MediaSkeleton.Icon, { size: "sm", className: "w-5 h-5" }),
|
|
4090
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-8" })
|
|
4071
4091
|
] }),
|
|
4072
|
-
/* @__PURE__ */
|
|
4073
|
-
/* @__PURE__ */
|
|
4074
|
-
/* @__PURE__ */
|
|
4092
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1 flex-shrink-0", children: [
|
|
4093
|
+
/* @__PURE__ */ jsx39(MediaSkeleton.Icon, { size: "sm", className: "w-5 h-5" }),
|
|
4094
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-10" })
|
|
4075
4095
|
] })
|
|
4076
4096
|
] }),
|
|
4077
|
-
/* @__PURE__ */
|
|
4078
|
-
/* @__PURE__ */
|
|
4079
|
-
/* @__PURE__ */
|
|
4097
|
+
/* @__PURE__ */ jsx39("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-1.5 bg-ods-bg border border-ods-border rounded px-2.5 py-1.5", children: [
|
|
4098
|
+
/* @__PURE__ */ jsx39("div", { className: "w-4 h-4 bg-ods-border rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx39(MediaSkeleton.Icon, { size: "sm", className: "w-2.5 h-2.5" }) }),
|
|
4099
|
+
/* @__PURE__ */ jsx39(TextSkeleton.Caption, { className: "w-16" })
|
|
4080
4100
|
] }) })
|
|
4081
4101
|
] })
|
|
4082
4102
|
] })
|
|
@@ -4090,7 +4110,7 @@ function OrganizationCardSkeletonGrid({
|
|
|
4090
4110
|
showFooter = true,
|
|
4091
4111
|
showDescription = true
|
|
4092
4112
|
}) {
|
|
4093
|
-
return /* @__PURE__ */
|
|
4113
|
+
return /* @__PURE__ */ jsx39(
|
|
4094
4114
|
"div",
|
|
4095
4115
|
{
|
|
4096
4116
|
className: cn(
|
|
@@ -4099,7 +4119,7 @@ function OrganizationCardSkeletonGrid({
|
|
|
4099
4119
|
),
|
|
4100
4120
|
role: "status",
|
|
4101
4121
|
"aria-label": `Loading ${count} organization cards`,
|
|
4102
|
-
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */
|
|
4122
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx39(
|
|
4103
4123
|
OrganizationCardSkeleton,
|
|
4104
4124
|
{
|
|
4105
4125
|
containerClassName,
|
|
@@ -4114,9 +4134,9 @@ function OrganizationCardSkeletonGrid({
|
|
|
4114
4134
|
|
|
4115
4135
|
// src/components/loading/device-card-skeleton.tsx
|
|
4116
4136
|
init_cn();
|
|
4117
|
-
import { jsx as
|
|
4137
|
+
import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
4118
4138
|
function DeviceCardSkeleton({ className }) {
|
|
4119
|
-
return /* @__PURE__ */
|
|
4139
|
+
return /* @__PURE__ */ jsxs32(
|
|
4120
4140
|
"div",
|
|
4121
4141
|
{
|
|
4122
4142
|
className: cn(
|
|
@@ -4126,19 +4146,19 @@ function DeviceCardSkeleton({ className }) {
|
|
|
4126
4146
|
role: "status",
|
|
4127
4147
|
"aria-label": "Loading device card",
|
|
4128
4148
|
children: [
|
|
4129
|
-
/* @__PURE__ */
|
|
4130
|
-
/* @__PURE__ */
|
|
4131
|
-
/* @__PURE__ */
|
|
4132
|
-
/* @__PURE__ */
|
|
4149
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex gap-4 items-center px-4 py-3", children: [
|
|
4150
|
+
/* @__PURE__ */ jsx40("div", { className: "w-8 h-8 bg-ods-bg border border-ods-border rounded-[6px] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx40("div", { className: "w-4 h-4 bg-ods-border rounded animate-pulse" }) }),
|
|
4151
|
+
/* @__PURE__ */ jsx40("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx40("div", { className: "h-6 w-3/4 bg-ods-border rounded animate-pulse" }) }),
|
|
4152
|
+
/* @__PURE__ */ jsx40("div", { className: "w-12 h-12 bg-ods-border rounded-[6px] flex-shrink-0 animate-pulse" })
|
|
4133
4153
|
] }),
|
|
4134
|
-
/* @__PURE__ */
|
|
4135
|
-
/* @__PURE__ */
|
|
4136
|
-
/* @__PURE__ */
|
|
4137
|
-
/* @__PURE__ */
|
|
4154
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex gap-4 items-center px-4 py-2", children: [
|
|
4155
|
+
/* @__PURE__ */ jsx40("div", { className: "w-24 h-6 bg-ods-border rounded flex-shrink-0 animate-pulse" }),
|
|
4156
|
+
/* @__PURE__ */ jsx40(OrganizationIconSkeleton, { size: "sm" }),
|
|
4157
|
+
/* @__PURE__ */ jsx40("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx40("div", { className: "h-5 w-1/2 bg-ods-border rounded animate-pulse" }) })
|
|
4138
4158
|
] }),
|
|
4139
|
-
/* @__PURE__ */
|
|
4140
|
-
/* @__PURE__ */
|
|
4141
|
-
/* @__PURE__ */
|
|
4159
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex gap-4 items-center px-4 py-2", children: [
|
|
4160
|
+
/* @__PURE__ */ jsx40("div", { className: "w-20 h-6 bg-ods-border rounded-full flex-shrink-0 animate-pulse" }),
|
|
4161
|
+
/* @__PURE__ */ jsx40("div", { className: "flex-1", children: /* @__PURE__ */ jsx40("div", { className: "h-5 w-40 bg-ods-border rounded animate-pulse" }) })
|
|
4142
4162
|
] })
|
|
4143
4163
|
]
|
|
4144
4164
|
}
|
|
@@ -4148,7 +4168,7 @@ function DeviceCardSkeletonGrid({
|
|
|
4148
4168
|
count = 12,
|
|
4149
4169
|
className
|
|
4150
4170
|
}) {
|
|
4151
|
-
return /* @__PURE__ */
|
|
4171
|
+
return /* @__PURE__ */ jsx40(
|
|
4152
4172
|
"div",
|
|
4153
4173
|
{
|
|
4154
4174
|
className: cn(
|
|
@@ -4157,22 +4177,22 @@ function DeviceCardSkeletonGrid({
|
|
|
4157
4177
|
),
|
|
4158
4178
|
role: "status",
|
|
4159
4179
|
"aria-label": `Loading ${count} device cards`,
|
|
4160
|
-
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */
|
|
4180
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx40(DeviceCardSkeleton, {}, index))
|
|
4161
4181
|
}
|
|
4162
4182
|
);
|
|
4163
4183
|
}
|
|
4164
4184
|
|
|
4165
4185
|
// src/components/vendor-page-skeleton.tsx
|
|
4166
|
-
import { jsx as
|
|
4186
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
4167
4187
|
function VendorPageSkeleton() {
|
|
4168
|
-
return /* @__PURE__ */
|
|
4188
|
+
return /* @__PURE__ */ jsx41(VendorDetailLayoutSkeleton, {});
|
|
4169
4189
|
}
|
|
4170
4190
|
|
|
4171
4191
|
// src/components/why-it-matters.tsx
|
|
4172
|
-
import { jsx as
|
|
4192
|
+
import { jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
4173
4193
|
|
|
4174
4194
|
// src/components/yes-no-display.tsx
|
|
4175
|
-
import { jsx as
|
|
4195
|
+
import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
4176
4196
|
function YesNoDisplay({
|
|
4177
4197
|
value,
|
|
4178
4198
|
yesText = "Yes",
|
|
@@ -4181,20 +4201,20 @@ function YesNoDisplay({
|
|
|
4181
4201
|
className = ""
|
|
4182
4202
|
}) {
|
|
4183
4203
|
if (customText) {
|
|
4184
|
-
return /* @__PURE__ */
|
|
4185
|
-
/* @__PURE__ */
|
|
4186
|
-
/* @__PURE__ */
|
|
4204
|
+
return /* @__PURE__ */ jsxs34("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
4205
|
+
/* @__PURE__ */ jsx43(CheckCircleIcon2, { className: "h-6 w-6" }),
|
|
4206
|
+
/* @__PURE__ */ jsx43("span", { className: "text-ods-text-primary text-[16px]", children: customText })
|
|
4187
4207
|
] });
|
|
4188
4208
|
}
|
|
4189
4209
|
if (value) {
|
|
4190
|
-
return /* @__PURE__ */
|
|
4191
|
-
/* @__PURE__ */
|
|
4192
|
-
/* @__PURE__ */
|
|
4210
|
+
return /* @__PURE__ */ jsxs34("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
4211
|
+
/* @__PURE__ */ jsx43(CheckCircleIcon2, { className: "h-6 w-6" }),
|
|
4212
|
+
/* @__PURE__ */ jsx43("span", { className: "text-ods-text-primary text-[16px]", children: yesText })
|
|
4193
4213
|
] });
|
|
4194
4214
|
}
|
|
4195
|
-
return /* @__PURE__ */
|
|
4196
|
-
/* @__PURE__ */
|
|
4197
|
-
/* @__PURE__ */
|
|
4215
|
+
return /* @__PURE__ */ jsxs34("div", { className: `flex items-center gap-2 ${className}`, children: [
|
|
4216
|
+
/* @__PURE__ */ jsx43(XCircleIcon, { className: "h-6 w-6" }),
|
|
4217
|
+
/* @__PURE__ */ jsx43("span", { className: "text-ods-text-secondary text-[16px]", children: noText })
|
|
4198
4218
|
] });
|
|
4199
4219
|
}
|
|
4200
4220
|
function evaluateFeatureValue(value, dataType) {
|
|
@@ -4229,7 +4249,7 @@ function evaluateFeatureValue(value, dataType) {
|
|
|
4229
4249
|
|
|
4230
4250
|
// src/components/made-with-love.tsx
|
|
4231
4251
|
import { useState as useState5, useEffect as useEffect4 } from "react";
|
|
4232
|
-
import { jsx as
|
|
4252
|
+
import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4233
4253
|
function MadeWithLove({
|
|
4234
4254
|
className = "",
|
|
4235
4255
|
size = "md",
|
|
@@ -4303,14 +4323,14 @@ function MadeWithLove({
|
|
|
4303
4323
|
marginLeft: "4px",
|
|
4304
4324
|
textDecoration: "none"
|
|
4305
4325
|
};
|
|
4306
|
-
return /* @__PURE__ */
|
|
4326
|
+
return /* @__PURE__ */ jsxs35(
|
|
4307
4327
|
"div",
|
|
4308
4328
|
{
|
|
4309
4329
|
style: containerStyle,
|
|
4310
4330
|
className,
|
|
4311
4331
|
children: [
|
|
4312
4332
|
"Made with love by",
|
|
4313
|
-
/* @__PURE__ */
|
|
4333
|
+
/* @__PURE__ */ jsxs35(
|
|
4314
4334
|
"a",
|
|
4315
4335
|
{
|
|
4316
4336
|
href: flamingoUrl,
|
|
@@ -4320,14 +4340,14 @@ function MadeWithLove({
|
|
|
4320
4340
|
onMouseEnter: () => setIsHovered(true),
|
|
4321
4341
|
onMouseLeave: () => setIsHovered(false),
|
|
4322
4342
|
children: [
|
|
4323
|
-
/* @__PURE__ */
|
|
4343
|
+
/* @__PURE__ */ jsx44("div", { style: logoStyle, children: /* @__PURE__ */ jsx44(
|
|
4324
4344
|
FlamingoLogo2,
|
|
4325
4345
|
{
|
|
4326
4346
|
size: config.logoSize,
|
|
4327
4347
|
color: "#f357bb"
|
|
4328
4348
|
}
|
|
4329
4349
|
) }),
|
|
4330
|
-
/* @__PURE__ */
|
|
4350
|
+
/* @__PURE__ */ jsx44("span", { style: textStyle, children: "Flamingo" })
|
|
4331
4351
|
]
|
|
4332
4352
|
}
|
|
4333
4353
|
)
|
|
@@ -4339,7 +4359,7 @@ function MadeWithLove({
|
|
|
4339
4359
|
// src/components/date-time-picker.tsx
|
|
4340
4360
|
init_cn();
|
|
4341
4361
|
import DatePicker2 from "react-datepicker";
|
|
4342
|
-
import { jsx as
|
|
4362
|
+
import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
4343
4363
|
var inputClassName = cn(
|
|
4344
4364
|
"flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
|
|
4345
4365
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
@@ -4363,9 +4383,9 @@ function DateTimePicker({
|
|
|
4363
4383
|
timeIntervals = 15,
|
|
4364
4384
|
dateFormat = "MMMM d, yyyy h:mm aa"
|
|
4365
4385
|
}) {
|
|
4366
|
-
return /* @__PURE__ */
|
|
4367
|
-
label && /* @__PURE__ */
|
|
4368
|
-
/* @__PURE__ */
|
|
4386
|
+
return /* @__PURE__ */ jsxs36("div", { className: cn("space-y-2", className), children: [
|
|
4387
|
+
label && /* @__PURE__ */ jsx45(Label, { className: "font-['Azeret_Mono'] text-[12px] font-semibold leading-[1em] tracking-[-0.02em] text-ods-text-secondary uppercase", children: label }),
|
|
4388
|
+
/* @__PURE__ */ jsx45("div", { className: "w-full", children: /* @__PURE__ */ jsx45(
|
|
4369
4389
|
DatePicker2,
|
|
4370
4390
|
{
|
|
4371
4391
|
selected: value,
|
|
@@ -4380,7 +4400,7 @@ function DateTimePicker({
|
|
|
4380
4400
|
className: inputClassName
|
|
4381
4401
|
}
|
|
4382
4402
|
) }),
|
|
4383
|
-
/* @__PURE__ */
|
|
4403
|
+
/* @__PURE__ */ jsx45("style", { dangerouslySetInnerHTML: { __html: `
|
|
4384
4404
|
.react-datepicker-wrapper {
|
|
4385
4405
|
width: 100% !important;
|
|
4386
4406
|
display: block !important;
|
|
@@ -4485,7 +4505,7 @@ function DateTimePicker({
|
|
|
4485
4505
|
|
|
4486
4506
|
// src/components/authors/author-detail-view.tsx
|
|
4487
4507
|
init_cn();
|
|
4488
|
-
import { jsx as
|
|
4508
|
+
import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
4489
4509
|
function AuthorDetailView({
|
|
4490
4510
|
author,
|
|
4491
4511
|
proxyImageUrl,
|
|
@@ -4500,9 +4520,9 @@ function AuthorDetailView({
|
|
|
4500
4520
|
}) ?? author.avatarUrl : null;
|
|
4501
4521
|
const subtitle = [author.jobTitle, author.company].filter(Boolean).join(" @ ");
|
|
4502
4522
|
const bioText = formatBioText(author.about);
|
|
4503
|
-
return /* @__PURE__ */
|
|
4504
|
-
/* @__PURE__ */
|
|
4505
|
-
/* @__PURE__ */
|
|
4523
|
+
return /* @__PURE__ */ jsxs37("div", { className: cn("flex flex-col gap-5 md:gap-6", className), children: [
|
|
4524
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex gap-6 w-full items-start", children: [
|
|
4525
|
+
/* @__PURE__ */ jsx46("div", { className: "relative shrink-0 h-24 w-24", children: /* @__PURE__ */ jsx46("div", { className: "rounded-full overflow-hidden bg-ods-bg-secondary border border-ods-border w-full h-full relative", children: proxiedAvatar ? /* @__PURE__ */ jsx46(
|
|
4506
4526
|
next_image_default,
|
|
4507
4527
|
{
|
|
4508
4528
|
src: proxiedAvatar,
|
|
@@ -4511,12 +4531,12 @@ function AuthorDetailView({
|
|
|
4511
4531
|
className: "object-cover",
|
|
4512
4532
|
unoptimized: true
|
|
4513
4533
|
}
|
|
4514
|
-
) : /* @__PURE__ */
|
|
4515
|
-
/* @__PURE__ */
|
|
4516
|
-
/* @__PURE__ */
|
|
4517
|
-
subtitle && /* @__PURE__ */
|
|
4534
|
+
) : /* @__PURE__ */ jsx46("div", { className: "flex items-center justify-center h-full w-full text-3xl text-ods-text-secondary font-['Azeret_Mono']", children: author.fullName.charAt(0).toUpperCase() }) }) }),
|
|
4535
|
+
/* @__PURE__ */ jsxs37("div", { className: "min-w-0 flex flex-col justify-center gap-2", children: [
|
|
4536
|
+
/* @__PURE__ */ jsx46("p", { className: "text-h2 text-ods-text-primary leading-none truncate", children: author.fullName }),
|
|
4537
|
+
subtitle && /* @__PURE__ */ jsx46("p", { className: "font-body text-lg text-ods-text-secondary leading-none truncate", children: subtitle }),
|
|
4518
4538
|
author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
|
|
4519
|
-
/* @__PURE__ */
|
|
4539
|
+
/* @__PURE__ */ jsx46(
|
|
4520
4540
|
SocialIconRow,
|
|
4521
4541
|
{
|
|
4522
4542
|
compact: true,
|
|
@@ -4529,8 +4549,8 @@ function AuthorDetailView({
|
|
|
4529
4549
|
)
|
|
4530
4550
|
] })
|
|
4531
4551
|
] }),
|
|
4532
|
-
bioText && /* @__PURE__ */
|
|
4533
|
-
author.knowsAbout.length > 0 && /* @__PURE__ */
|
|
4552
|
+
bioText && /* @__PURE__ */ jsx46("p", { className: "font-body text-base leading-relaxed text-ods-text-secondary", children: bioText }),
|
|
4553
|
+
author.knowsAbout.length > 0 && /* @__PURE__ */ jsx46("div", { className: "flex flex-wrap gap-2", children: author.knowsAbout.map((topic) => /* @__PURE__ */ jsx46(StatusBadge, { text: topic, variant: "button", colorScheme: "cyan", singleLine: true }, topic)) }),
|
|
4534
4554
|
children
|
|
4535
4555
|
] });
|
|
4536
4556
|
}
|
|
@@ -4554,6 +4574,7 @@ export {
|
|
|
4554
4574
|
ActionsMenu,
|
|
4555
4575
|
ActionsMenuDropdown,
|
|
4556
4576
|
AdminContentCard,
|
|
4577
|
+
AgentMark,
|
|
4557
4578
|
AiRobotIcon,
|
|
4558
4579
|
Alert,
|
|
4559
4580
|
AlertDescription,
|