@flamingo-stack/openframe-frontend-core 0.0.329 → 0.0.330-snapshot.20260628033934
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-QGBSE4JV.js → chunk-2DMYM4ZW.js} +4 -4
- package/dist/{chunk-V6LUP7PN.cjs → chunk-2V4TEZFV.cjs} +15 -15
- package/dist/{chunk-V6LUP7PN.cjs.map → chunk-2V4TEZFV.cjs.map} +1 -1
- package/dist/{chunk-OZK7XALE.js → chunk-5UUNN54Y.js} +2 -2
- package/dist/{chunk-TH65GPIK.js → chunk-7PUBWSQL.js} +2 -2
- package/dist/{chunk-6B7YS7O6.cjs → chunk-AHO56GY2.cjs} +9 -9
- package/dist/{chunk-6B7YS7O6.cjs.map → chunk-AHO56GY2.cjs.map} +1 -1
- package/dist/{chunk-OUUA36U2.js → chunk-CJ6EUL7A.js} +2 -2
- package/dist/{chunk-EUMMHRR4.js → chunk-CQNGQTWK.js} +2 -2
- package/dist/{chunk-HWFVPOHJ.cjs → chunk-DQDMUHO5.cjs} +7 -7
- package/dist/{chunk-HWFVPOHJ.cjs.map → chunk-DQDMUHO5.cjs.map} +1 -1
- package/dist/{chunk-5BEJ74WU.cjs → chunk-G4FVQBRI.cjs} +56 -56
- package/dist/{chunk-5BEJ74WU.cjs.map → chunk-G4FVQBRI.cjs.map} +1 -1
- package/dist/{chunk-QCVM3ZSD.cjs → chunk-GDUZ3YQD.cjs} +37 -37
- package/dist/{chunk-QCVM3ZSD.cjs.map → chunk-GDUZ3YQD.cjs.map} +1 -1
- package/dist/{chunk-S2Z6HDRF.cjs → chunk-H6BLNXXK.cjs} +62 -62
- package/dist/{chunk-S2Z6HDRF.cjs.map → chunk-H6BLNXXK.cjs.map} +1 -1
- package/dist/{chunk-NNP323TB.cjs → chunk-HSKVSXUD.cjs} +5 -5
- package/dist/{chunk-NNP323TB.cjs.map → chunk-HSKVSXUD.cjs.map} +1 -1
- package/dist/{chunk-HT67OPIE.js → chunk-KK2KWKGQ.js} +4 -4
- package/dist/{chunk-MKLDE5OZ.cjs → chunk-LCDT3IDD.cjs} +12 -12
- package/dist/{chunk-MKLDE5OZ.cjs.map → chunk-LCDT3IDD.cjs.map} +1 -1
- package/dist/{chunk-6CYMYELP.cjs → chunk-LNDVGOM2.cjs} +25 -25
- package/dist/{chunk-6CYMYELP.cjs.map → chunk-LNDVGOM2.cjs.map} +1 -1
- package/dist/{chunk-67MYKAAK.js → chunk-MMC5GWOY.js} +4 -4
- package/dist/{chunk-2UVIHKQQ.js → chunk-MWAUWLYS.js} +70 -3
- package/dist/chunk-MWAUWLYS.js.map +1 -0
- package/dist/{chunk-SH6X376N.cjs → chunk-NMHO72UF.cjs} +31 -31
- package/dist/{chunk-SH6X376N.cjs.map → chunk-NMHO72UF.cjs.map} +1 -1
- package/dist/{chunk-KDHZVMH5.js → chunk-O742P5M7.js} +2 -2
- package/dist/{chunk-YDUV3VQ2.js → chunk-OSB772QC.js} +2 -2
- package/dist/{chunk-KMIYWEPB.cjs → chunk-PPU3UT2Y.cjs} +26 -26
- package/dist/{chunk-KMIYWEPB.cjs.map → chunk-PPU3UT2Y.cjs.map} +1 -1
- package/dist/{chunk-C34M45FI.cjs → chunk-SMGRO5K7.cjs} +70 -3
- package/dist/chunk-SMGRO5K7.cjs.map +1 -0
- package/dist/{chunk-IYPVN3DV.js → chunk-WP4ZV52Q.js} +4 -4
- package/dist/{chunk-UNL2RMOC.js → chunk-ZW3RSVCW.js} +2 -2
- 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/chat/utils/icon-registry.d.ts.map +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/features/social-links-manager.d.ts +2 -0
- package/dist/components/features/social-links-manager.d.ts.map +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 +148 -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 +369 -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/utils/brand-marks.d.ts +7 -0
- package/dist/utils/brand-marks.d.ts.map +1 -0
- package/dist/utils/index.cjs +65 -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 +64 -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/chat/utils/icon-registry.ts +3 -0
- package/src/components/features/social-links-manager.tsx +18 -1
- package/src/components/index.ts +1 -0
- package/src/components/social-icon-row.tsx +65 -36
- package/src/utils/brand-marks.ts +47 -0
- package/src/utils/index.ts +3 -0
- package/dist/chunk-2UVIHKQQ.js.map +0 -1
- package/dist/chunk-C34M45FI.cjs.map +0 -1
- /package/dist/{chunk-QGBSE4JV.js.map → chunk-2DMYM4ZW.js.map} +0 -0
- /package/dist/{chunk-OZK7XALE.js.map → chunk-5UUNN54Y.js.map} +0 -0
- /package/dist/{chunk-TH65GPIK.js.map → chunk-7PUBWSQL.js.map} +0 -0
- /package/dist/{chunk-OUUA36U2.js.map → chunk-CJ6EUL7A.js.map} +0 -0
- /package/dist/{chunk-EUMMHRR4.js.map → chunk-CQNGQTWK.js.map} +0 -0
- /package/dist/{chunk-HT67OPIE.js.map → chunk-KK2KWKGQ.js.map} +0 -0
- /package/dist/{chunk-67MYKAAK.js.map → chunk-MMC5GWOY.js.map} +0 -0
- /package/dist/{chunk-KDHZVMH5.js.map → chunk-O742P5M7.js.map} +0 -0
- /package/dist/{chunk-YDUV3VQ2.js.map → chunk-OSB772QC.js.map} +0 -0
- /package/dist/{chunk-IYPVN3DV.js.map → chunk-WP4ZV52Q.js.map} +0 -0
- /package/dist/{chunk-UNL2RMOC.js.map → chunk-ZW3RSVCW.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-O742P5M7.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-KK2KWKGQ.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-WP4ZV52Q.js";
|
|
58
58
|
import {
|
|
59
59
|
FileDownloadCard,
|
|
60
60
|
GoogleSheetsViewer,
|
|
61
61
|
PdfViewer
|
|
62
|
-
} from "../chunk-
|
|
62
|
+
} from "../chunk-CQNGQTWK.js";
|
|
63
63
|
import {
|
|
64
64
|
FaqAccordion,
|
|
65
65
|
FaqDocumentPage,
|
|
66
66
|
FaqSection
|
|
67
|
-
} from "../chunk-
|
|
67
|
+
} from "../chunk-OSB772QC.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-CJ6EUL7A.js";
|
|
79
79
|
import {
|
|
80
80
|
ArticleAuthorByline,
|
|
81
81
|
DetailPageSkeleton
|
|
82
|
-
} from "../chunk-
|
|
82
|
+
} from "../chunk-5UUNN54Y.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-ZW3RSVCW.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-MWAUWLYS.js";
|
|
827
828
|
import {
|
|
828
829
|
CommandApprovalToast,
|
|
829
830
|
ToastCard,
|
|
@@ -2227,7 +2228,8 @@ import { Suspense } from "react";
|
|
|
2227
2228
|
|
|
2228
2229
|
// src/components/social-icon-row.tsx
|
|
2229
2230
|
init_button();
|
|
2230
|
-
import {
|
|
2231
|
+
import { Mail } from "lucide-react";
|
|
2232
|
+
import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2231
2233
|
var defaultLinks = [
|
|
2232
2234
|
{ platform: "github", href: "https://github.com/flamingo-stack", label: "GitHub" },
|
|
2233
2235
|
{ platform: "linkedin", href: "https://linkedin.com/company/flamingo.run", label: "LinkedIn" },
|
|
@@ -2249,6 +2251,9 @@ function renderSocialIcon(platform) {
|
|
|
2249
2251
|
return /* @__PURE__ */ jsx14(LumaIcon, { className: "w-5 h-5" });
|
|
2250
2252
|
case "whatsapp":
|
|
2251
2253
|
return /* @__PURE__ */ jsx14(WhatsAppIcon, { className: "w-5 h-5" });
|
|
2254
|
+
case "email":
|
|
2255
|
+
case "mail":
|
|
2256
|
+
return /* @__PURE__ */ jsx14(Mail, { className: "w-5 h-5" });
|
|
2252
2257
|
case "website":
|
|
2253
2258
|
case "web":
|
|
2254
2259
|
case "url":
|
|
@@ -2274,9 +2279,9 @@ function renderSocialIcon(platform) {
|
|
|
2274
2279
|
return /* @__PURE__ */ jsx14(GlobeIcon, { className: "w-5 h-5" });
|
|
2275
2280
|
}
|
|
2276
2281
|
}
|
|
2277
|
-
function SocialIconRow({ className = "", links = defaultLinks, variant, compact = false }) {
|
|
2282
|
+
function SocialIconRow({ className = "", links = defaultLinks, variant, compact = false, groupByVisibility = false }) {
|
|
2278
2283
|
const resolvedVariant = variant !== void 0 ? variant : compact ? "transparent" : "outline";
|
|
2279
|
-
|
|
2284
|
+
const renderButton = (link, index) => {
|
|
2280
2285
|
const ariaLabel = link.label || link.platform;
|
|
2281
2286
|
return link.onClick ? /* @__PURE__ */ jsx14(
|
|
2282
2287
|
Button,
|
|
@@ -2308,11 +2313,24 @@ function SocialIconRow({ className = "", links = defaultLinks, variant, compact
|
|
|
2308
2313
|
index
|
|
2309
2314
|
)
|
|
2310
2315
|
);
|
|
2311
|
-
}
|
|
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)) });
|
|
2312
2330
|
}
|
|
2313
2331
|
|
|
2314
2332
|
// src/components/footer.tsx
|
|
2315
|
-
import { Fragment as Fragment3, jsx as jsx15, jsxs as
|
|
2333
|
+
import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2316
2334
|
function NavLinkSkeleton() {
|
|
2317
2335
|
return /* @__PURE__ */ jsx15(Skeleton, { className: "h-5 md:h-6 w-20 md:w-24" });
|
|
2318
2336
|
}
|
|
@@ -2326,14 +2344,14 @@ function Footer({ config, renderLink }) {
|
|
|
2326
2344
|
function UniversalFooter({ config, renderLink }) {
|
|
2327
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 });
|
|
2328
2346
|
const linkRenderer = renderLink || defaultRenderLink;
|
|
2329
|
-
return /* @__PURE__ */
|
|
2330
|
-
/* @__PURE__ */
|
|
2331
|
-
/* @__PURE__ */
|
|
2332
|
-
/* @__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: [
|
|
2333
2351
|
config.logo && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "w-8 h-8" }), children: config.logo }),
|
|
2334
2352
|
config.nameElement || /* @__PURE__ */ jsx15("span", { className: "font-heading text-heading-5 font-bold text-ods-text-primary whitespace-nowrap", children: config.name })
|
|
2335
2353
|
] }),
|
|
2336
|
-
!config.moveDescriptionToRight && /* @__PURE__ */
|
|
2354
|
+
!config.moveDescriptionToRight && /* @__PURE__ */ jsxs12(Fragment3, { children: [
|
|
2337
2355
|
/* @__PURE__ */ jsx15("p", { className: "font-body font-medium text-sm md:text-sm leading-[1.43] text-ods-text-primary", children: config.description }),
|
|
2338
2356
|
config.belowDescriptionContent && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent }),
|
|
2339
2357
|
!config.hideSocialRow && /* @__PURE__ */ jsx15(
|
|
@@ -2346,20 +2364,20 @@ function UniversalFooter({ config, renderLink }) {
|
|
|
2346
2364
|
] }),
|
|
2347
2365
|
config.moveDescriptionToRight && config.keepBelowDescriptionLeft && config.belowDescriptionContent && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent })
|
|
2348
2366
|
] }),
|
|
2349
|
-
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: [
|
|
2350
2368
|
/* @__PURE__ */ jsx15("h3", { className: "text-h5 tracking-[-0.02em] text-ods-text-muted", children: section.title }),
|
|
2351
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)) })
|
|
2352
2370
|
] }, index)),
|
|
2353
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 }) }),
|
|
2354
|
-
(config.rightColumnContent || config.moveDescriptionToRight) && /* @__PURE__ */
|
|
2355
|
-
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: [
|
|
2356
2374
|
/* @__PURE__ */ jsx15("p", { className: "font-body font-medium text-sm md:text-sm leading-[1.43] text-ods-text-primary", children: config.description }),
|
|
2357
2375
|
config.belowDescriptionContent && !config.keepBelowDescriptionLeft && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-8 w-full" }), children: config.belowDescriptionContent })
|
|
2358
2376
|
] }),
|
|
2359
2377
|
config.rightColumnContent && /* @__PURE__ */ jsx15(Suspense, { fallback: /* @__PURE__ */ jsx15(Skeleton, { className: "h-32 w-full" }), children: config.rightColumnContent })
|
|
2360
2378
|
] })
|
|
2361
2379
|
] }),
|
|
2362
|
-
/* @__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: [
|
|
2363
2381
|
"\xA9 ",
|
|
2364
2382
|
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
2365
2383
|
" ",
|
|
@@ -2691,7 +2709,7 @@ function FooterWaitlistButton({ className }) {
|
|
|
2691
2709
|
init_button();
|
|
2692
2710
|
import { useRef, useState as useState2 } from "react";
|
|
2693
2711
|
import { Loader2, Image as ImageIcon2, Upload, X as X3 } from "lucide-react";
|
|
2694
|
-
import { Fragment as Fragment4, jsx as jsx17, jsxs as
|
|
2712
|
+
import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2695
2713
|
function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, objectFit = "cover", showReplaceButton = true, deferUpload = false, onUpload, onDelete }) {
|
|
2696
2714
|
const inputRef = useRef(null);
|
|
2697
2715
|
const { toast } = useToast();
|
|
@@ -2767,10 +2785,10 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
2767
2785
|
onChange(void 0);
|
|
2768
2786
|
};
|
|
2769
2787
|
const heightStyle = typeof height === "number" ? `${height}px` : height;
|
|
2770
|
-
return /* @__PURE__ */
|
|
2771
|
-
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: [
|
|
2772
2790
|
/* @__PURE__ */ jsx17("img", { src: imageUrl, className: `absolute inset-0 w-full h-full object-${objectFit}`, alt: "Cover" }),
|
|
2773
|
-
/* @__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: [
|
|
2774
2792
|
showReplaceButton && /* @__PURE__ */ jsx17(
|
|
2775
2793
|
Button,
|
|
2776
2794
|
{
|
|
@@ -2798,7 +2816,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
|
|
|
2798
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`,
|
|
2799
2817
|
style: { height: heightStyle },
|
|
2800
2818
|
onClick: openDialog,
|
|
2801
|
-
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: [
|
|
2802
2820
|
/* @__PURE__ */ jsx17(ImageIcon2, { className: "h-12 w-12 text-ods-text-secondary" }),
|
|
2803
2821
|
/* @__PURE__ */ jsx17("span", { className: "text-ods-text-primary font-['DM_Sans'] text-[16px] font-medium mt-2", children: "Upload cover image" }),
|
|
2804
2822
|
/* @__PURE__ */ jsx17("span", { className: "text-ods-text-secondary font-['DM_Sans'] text-[14px] mt-1", children: "Click to upload or drag and drop" }),
|
|
@@ -2825,7 +2843,7 @@ var CompareIcon2 = GitCompare;
|
|
|
2825
2843
|
|
|
2826
2844
|
// src/components/icons-block.tsx
|
|
2827
2845
|
import { Sun, Moon, CheckCircle, Github, PlusCircle } from "lucide-react";
|
|
2828
|
-
import { jsx as jsx18, jsxs as
|
|
2846
|
+
import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2829
2847
|
var SunIcon2 = Sun;
|
|
2830
2848
|
var MoonIcon2 = Moon;
|
|
2831
2849
|
var CheckCircleIcon3 = CheckCircle;
|
|
@@ -2904,7 +2922,7 @@ function ResponsiveIconsBlock({ loading = false }) {
|
|
|
2904
2922
|
}
|
|
2905
2923
|
);
|
|
2906
2924
|
}
|
|
2907
|
-
return /* @__PURE__ */
|
|
2925
|
+
return /* @__PURE__ */ jsxs14(
|
|
2908
2926
|
"div",
|
|
2909
2927
|
{
|
|
2910
2928
|
className: "w-full h-[80px] md:h-[112px] overflow-hidden bg-[#1A1A1A] relative z-10",
|
|
@@ -2970,7 +2988,7 @@ import { useCallback as useCallback2, useState as useState4 } from "react";
|
|
|
2970
2988
|
import Cropper from "react-easy-crop";
|
|
2971
2989
|
init_cn();
|
|
2972
2990
|
import { Check, RotateCcw } from "lucide-react";
|
|
2973
|
-
import { jsx as jsx19, jsxs as
|
|
2991
|
+
import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2974
2992
|
function loadImage(src) {
|
|
2975
2993
|
return new Promise((resolve, reject) => {
|
|
2976
2994
|
const img = new Image();
|
|
@@ -3058,7 +3076,7 @@ var ImageCropper = ({
|
|
|
3058
3076
|
onCancel?.();
|
|
3059
3077
|
}
|
|
3060
3078
|
};
|
|
3061
|
-
return /* @__PURE__ */
|
|
3079
|
+
return /* @__PURE__ */ jsxs15(
|
|
3062
3080
|
"div",
|
|
3063
3081
|
{
|
|
3064
3082
|
className: cn(
|
|
@@ -3095,8 +3113,8 @@ var ImageCropper = ({
|
|
|
3095
3113
|
)
|
|
3096
3114
|
}
|
|
3097
3115
|
),
|
|
3098
|
-
/* @__PURE__ */
|
|
3099
|
-
/* @__PURE__ */
|
|
3116
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-4", children: [
|
|
3117
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-3", children: [
|
|
3100
3118
|
/* @__PURE__ */ jsx19("span", { className: "min-w-[60px] text-sm", children: "Zoom" }),
|
|
3101
3119
|
/* @__PURE__ */ jsx19(
|
|
3102
3120
|
Slider,
|
|
@@ -3111,7 +3129,7 @@ var ImageCropper = ({
|
|
|
3111
3129
|
}
|
|
3112
3130
|
)
|
|
3113
3131
|
] }),
|
|
3114
|
-
/* @__PURE__ */
|
|
3132
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-3", children: [
|
|
3115
3133
|
/* @__PURE__ */ jsx19("span", { className: "min-w-[60px] text-sm", children: "Rotate" }),
|
|
3116
3134
|
/* @__PURE__ */ jsx19(
|
|
3117
3135
|
Slider,
|
|
@@ -3137,7 +3155,7 @@ var ImageCropper = ({
|
|
|
3137
3155
|
)
|
|
3138
3156
|
] })
|
|
3139
3157
|
] }),
|
|
3140
|
-
/* @__PURE__ */
|
|
3158
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex justify-end gap-2 mt-2", children: [
|
|
3141
3159
|
onCancel && /* @__PURE__ */ jsx19(Button, { variant: "outline", onClick: onCancel, "aria-label": "Cancel crop", children: "Cancel" }),
|
|
3142
3160
|
/* @__PURE__ */ jsx19(
|
|
3143
3161
|
Button,
|
|
@@ -3160,9 +3178,9 @@ var ImageCropper = ({
|
|
|
3160
3178
|
|
|
3161
3179
|
// src/components/metric-value.tsx
|
|
3162
3180
|
init_cn();
|
|
3163
|
-
import { jsx as jsx20, jsxs as
|
|
3181
|
+
import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3164
3182
|
function MetricValue({ value, label, className }) {
|
|
3165
|
-
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: [
|
|
3166
3184
|
value,
|
|
3167
3185
|
/* @__PURE__ */ jsx20("span", { className: "text-sm text-ods-text-secondary", children: label })
|
|
3168
3186
|
] });
|
|
@@ -3202,9 +3220,9 @@ function SquareAvatar2({ src, fallbackName = "", size = 56, fullWidth = false, c
|
|
|
3202
3220
|
}
|
|
3203
3221
|
|
|
3204
3222
|
// src/components/msp-display.tsx
|
|
3205
|
-
import { jsx as jsx22, jsxs as
|
|
3223
|
+
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3206
3224
|
function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
3207
|
-
return /* @__PURE__ */
|
|
3225
|
+
return /* @__PURE__ */ jsxs17("div", { className: cn("flex items-center gap-2 min-w-0", className), children: [
|
|
3208
3226
|
/* @__PURE__ */ jsx22(SquareAvatar2, { src: logoUrl ?? void 0, fallbackName: name, size }),
|
|
3209
3227
|
/* @__PURE__ */ jsx22("h2", { className: "truncate pl-2", children: name })
|
|
3210
3228
|
] });
|
|
@@ -3212,13 +3230,13 @@ function MSPDisplay({ name, logoUrl, size = 40, className }) {
|
|
|
3212
3230
|
|
|
3213
3231
|
// src/components/open-source-features.tsx
|
|
3214
3232
|
import { Terminal, DollarSign as DollarSign2, Network, Users as Users2 } from "lucide-react";
|
|
3215
|
-
import { jsx as jsx23, jsxs as
|
|
3233
|
+
import { jsx as jsx23, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3216
3234
|
|
|
3217
3235
|
// src/components/index.ts
|
|
3218
3236
|
init_pagination();
|
|
3219
3237
|
|
|
3220
3238
|
// src/components/pricing-display.tsx
|
|
3221
|
-
import { jsx as jsx24, jsxs as
|
|
3239
|
+
import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3222
3240
|
var PRICING_STYLES = {
|
|
3223
3241
|
// Comparison table style (current default)
|
|
3224
3242
|
comparison: {
|
|
@@ -3264,9 +3282,9 @@ function PricingDisplay({
|
|
|
3264
3282
|
const item = pricingArray[0];
|
|
3265
3283
|
const price = item.ranges?.[0]?.min || 0;
|
|
3266
3284
|
const unit = item.ranges?.[0]?.unit;
|
|
3267
|
-
return /* @__PURE__ */
|
|
3285
|
+
return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3268
3286
|
/* @__PURE__ */ jsx24("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
|
|
3269
|
-
unit && /* @__PURE__ */
|
|
3287
|
+
unit && /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3270
3288
|
"/",
|
|
3271
3289
|
unit
|
|
3272
3290
|
] })
|
|
@@ -3274,9 +3292,9 @@ function PricingDisplay({
|
|
|
3274
3292
|
}
|
|
3275
3293
|
const priceValues = pricingArray.map((item) => formatPriceValue(item.ranges?.[0]?.min || 0, styleConfig.showTildePrefix));
|
|
3276
3294
|
const itemWithUnit = pricingArray.find((item) => item.ranges?.[0]?.unit);
|
|
3277
|
-
return /* @__PURE__ */
|
|
3295
|
+
return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3278
3296
|
/* @__PURE__ */ jsx24("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
|
|
3279
|
-
itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */
|
|
3297
|
+
itemWithUnit && itemWithUnit.ranges?.[0]?.unit && /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
|
|
3280
3298
|
"/",
|
|
3281
3299
|
itemWithUnit.ranges[0].unit
|
|
3282
3300
|
] })
|
|
@@ -3353,7 +3371,7 @@ function LegacyPricingDisplay({
|
|
|
3353
3371
|
};
|
|
3354
3372
|
};
|
|
3355
3373
|
const { mainValue, secondaryInfo } = parsePricing(pricing);
|
|
3356
|
-
return /* @__PURE__ */
|
|
3374
|
+
return /* @__PURE__ */ jsxs19("span", { className: `${styleConfig.fontFamily} ${className}`, children: [
|
|
3357
3375
|
/* @__PURE__ */ jsx24("span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: mainValue }),
|
|
3358
3376
|
secondaryInfo && /* @__PURE__ */ jsx24("span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: secondaryInfo })
|
|
3359
3377
|
] });
|
|
@@ -3362,8 +3380,14 @@ function formatPricingForDisplay(pricing) {
|
|
|
3362
3380
|
return pricing;
|
|
3363
3381
|
}
|
|
3364
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
|
+
|
|
3365
3389
|
// src/components/results-count.tsx
|
|
3366
|
-
import { Fragment as Fragment5, jsx as
|
|
3390
|
+
import { Fragment as Fragment5, jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3367
3391
|
function ResultsCount({
|
|
3368
3392
|
currentPage,
|
|
3369
3393
|
pageSize,
|
|
@@ -3379,7 +3403,7 @@ function ResultsCount({
|
|
|
3379
3403
|
const plural = resultType === "vendors" ? "vendors" : "posts";
|
|
3380
3404
|
const singular = resultType === "vendors" ? "vendor" : "post";
|
|
3381
3405
|
const displayType = totalResults === 1 ? singular : plural;
|
|
3382
|
-
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: [
|
|
3383
3407
|
"Showing ",
|
|
3384
3408
|
startIndex,
|
|
3385
3409
|
"-",
|
|
@@ -3388,7 +3412,7 @@ function ResultsCount({
|
|
|
3388
3412
|
totalResults,
|
|
3389
3413
|
" ",
|
|
3390
3414
|
displayType,
|
|
3391
|
-
sortingMessage && /* @__PURE__ */
|
|
3415
|
+
sortingMessage && /* @__PURE__ */ jsxs20("span", { className: "ml-2 text-ods-accent", children: [
|
|
3392
3416
|
"\u2022 ",
|
|
3393
3417
|
sortingMessage
|
|
3394
3418
|
] })
|
|
@@ -3398,7 +3422,7 @@ function ResultsCount({
|
|
|
3398
3422
|
// src/components/vendor-tag.tsx
|
|
3399
3423
|
init_cn();
|
|
3400
3424
|
import { Hand, Sparkles } from "lucide-react";
|
|
3401
|
-
import { jsx as
|
|
3425
|
+
import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3402
3426
|
function VendorTag({
|
|
3403
3427
|
type,
|
|
3404
3428
|
text,
|
|
@@ -3417,89 +3441,89 @@ function VendorTag({
|
|
|
3417
3441
|
return {
|
|
3418
3442
|
text: "Placeholder",
|
|
3419
3443
|
textColor: "text-ods-text-primary",
|
|
3420
|
-
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" }) })
|
|
3421
3445
|
};
|
|
3422
3446
|
case "ai":
|
|
3423
3447
|
return {
|
|
3424
3448
|
text: "AI Selected",
|
|
3425
3449
|
textColor: "text-ods-text-primary",
|
|
3426
|
-
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" }) })
|
|
3427
3451
|
};
|
|
3428
3452
|
case "manual":
|
|
3429
3453
|
return {
|
|
3430
3454
|
text: "Manually Selected",
|
|
3431
3455
|
textColor: "text-ods-text-secondary",
|
|
3432
|
-
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" }) })
|
|
3433
3457
|
};
|
|
3434
3458
|
case "open-source":
|
|
3435
3459
|
return {
|
|
3436
3460
|
text: text || "Open Source",
|
|
3437
|
-
icon: /* @__PURE__ */
|
|
3461
|
+
icon: /* @__PURE__ */ jsx27(
|
|
3438
3462
|
"div",
|
|
3439
3463
|
{
|
|
3440
3464
|
className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0",
|
|
3441
3465
|
style: accentColor ? { backgroundColor: accentColor } : void 0,
|
|
3442
|
-
children: /* @__PURE__ */
|
|
3466
|
+
children: /* @__PURE__ */ jsx27(OpenSourceIcon2, { width: 10, height: 10, className: "text-[#1A1A1A]" })
|
|
3443
3467
|
}
|
|
3444
3468
|
)
|
|
3445
3469
|
};
|
|
3446
3470
|
case "commercial":
|
|
3447
3471
|
return {
|
|
3448
3472
|
text: text || "Commercial Vendor",
|
|
3449
|
-
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" }) })
|
|
3450
3474
|
};
|
|
3451
3475
|
case "free":
|
|
3452
3476
|
return {
|
|
3453
3477
|
text: text || "Free",
|
|
3454
|
-
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: "$" }) })
|
|
3455
3479
|
};
|
|
3456
3480
|
case "freemium":
|
|
3457
3481
|
return {
|
|
3458
3482
|
text: text || "Freemium",
|
|
3459
|
-
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: "$" }) })
|
|
3460
3484
|
};
|
|
3461
3485
|
case "paid":
|
|
3462
3486
|
return {
|
|
3463
3487
|
text: text || "Paid",
|
|
3464
|
-
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" }) })
|
|
3465
3489
|
};
|
|
3466
3490
|
case "enterprise":
|
|
3467
3491
|
return {
|
|
3468
3492
|
text: text || "Enterprise",
|
|
3469
|
-
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" }) })
|
|
3470
3494
|
};
|
|
3471
3495
|
case "recommended":
|
|
3472
3496
|
return {
|
|
3473
3497
|
text: text || "Recommended",
|
|
3474
|
-
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" }) })
|
|
3475
3499
|
};
|
|
3476
3500
|
case "classification":
|
|
3477
3501
|
const classificationType = text?.toLowerCase();
|
|
3478
3502
|
if (classificationType === "open_source") {
|
|
3479
3503
|
return {
|
|
3480
3504
|
text: "Open Source",
|
|
3481
|
-
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]" }) })
|
|
3482
3506
|
};
|
|
3483
3507
|
} else if (classificationType === "commercial") {
|
|
3484
3508
|
return {
|
|
3485
3509
|
text: "Commercial Vendor",
|
|
3486
|
-
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" }) })
|
|
3487
3511
|
};
|
|
3488
3512
|
} else if (classificationType === "openframe_selected") {
|
|
3489
3513
|
return {
|
|
3490
3514
|
text: "OpenFrame Selected",
|
|
3491
|
-
icon: /* @__PURE__ */
|
|
3515
|
+
icon: /* @__PURE__ */ jsx27(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
|
|
3492
3516
|
};
|
|
3493
3517
|
} else {
|
|
3494
3518
|
return {
|
|
3495
3519
|
text: text || "Classification",
|
|
3496
|
-
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" }) })
|
|
3497
3521
|
};
|
|
3498
3522
|
}
|
|
3499
3523
|
case "openframe_selected":
|
|
3500
3524
|
return {
|
|
3501
3525
|
text: text || "OpenFrame Selected",
|
|
3502
|
-
icon: /* @__PURE__ */
|
|
3526
|
+
icon: /* @__PURE__ */ jsx27(OpenFrameLogo2, { lowerPathColor: "currentColor", upperPathColor: "currentColor", className: "h-4 w-4 text-ods-accent" })
|
|
3503
3527
|
};
|
|
3504
3528
|
default:
|
|
3505
3529
|
return {
|
|
@@ -3509,9 +3533,9 @@ function VendorTag({
|
|
|
3509
3533
|
}
|
|
3510
3534
|
};
|
|
3511
3535
|
const { text: displayText, icon, textColor } = getTagContent();
|
|
3512
|
-
return /* @__PURE__ */
|
|
3536
|
+
return /* @__PURE__ */ jsxs21("div", { className: cn(baseClasses, className, hidden && "invisible"), children: [
|
|
3513
3537
|
icon,
|
|
3514
|
-
/* @__PURE__ */
|
|
3538
|
+
/* @__PURE__ */ jsx27("span", { className: cn(
|
|
3515
3539
|
"font-mono font-semibold uppercase",
|
|
3516
3540
|
textColor ? textColor : "text-ods-text-primary",
|
|
3517
3541
|
size === "sm" ? "text-[10px]" : "text-xs"
|
|
@@ -3520,12 +3544,12 @@ function VendorTag({
|
|
|
3520
3544
|
}
|
|
3521
3545
|
|
|
3522
3546
|
// src/components/selection-source-badge.tsx
|
|
3523
|
-
import { jsx as
|
|
3547
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3524
3548
|
function SelectionSourceBadge({ source, hidden = false }) {
|
|
3525
3549
|
if (!source) {
|
|
3526
3550
|
return null;
|
|
3527
3551
|
}
|
|
3528
|
-
return /* @__PURE__ */
|
|
3552
|
+
return /* @__PURE__ */ jsx28(
|
|
3529
3553
|
VendorTag,
|
|
3530
3554
|
{
|
|
3531
3555
|
type: source?.toLowerCase(),
|
|
@@ -3538,26 +3562,26 @@ function SelectionSourceBadge({ source, hidden = false }) {
|
|
|
3538
3562
|
|
|
3539
3563
|
// src/components/user-display.tsx
|
|
3540
3564
|
init_cn();
|
|
3541
|
-
import { jsx as
|
|
3565
|
+
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3542
3566
|
function UserDisplay({ name, avatarUrl, subtitle, size = 32, className }) {
|
|
3543
|
-
return /* @__PURE__ */
|
|
3544
|
-
/* @__PURE__ */
|
|
3545
|
-
/* @__PURE__ */
|
|
3546
|
-
/* @__PURE__ */
|
|
3547
|
-
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 })
|
|
3548
3572
|
] })
|
|
3549
3573
|
] });
|
|
3550
3574
|
}
|
|
3551
3575
|
|
|
3552
3576
|
// src/components/loading/content-skeleton.tsx
|
|
3553
3577
|
init_cn();
|
|
3554
|
-
import { jsx as
|
|
3578
|
+
import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3555
3579
|
function ParagraphSkeleton({
|
|
3556
3580
|
className,
|
|
3557
3581
|
lines = 4
|
|
3558
3582
|
}) {
|
|
3559
3583
|
const lineWidths = ["w-full", "w-full", "w-5/6", "w-3/4", "w-4/5", "w-2/3"];
|
|
3560
|
-
return /* @__PURE__ */
|
|
3584
|
+
return /* @__PURE__ */ jsx30("div", { className: cn("space-y-2", className), children: Array.from({ length: lines }).map((_, index) => /* @__PURE__ */ jsx30(
|
|
3561
3585
|
TextSkeleton.Body,
|
|
3562
3586
|
{
|
|
3563
3587
|
className: lineWidths[index % lineWidths.length]
|
|
@@ -3571,14 +3595,14 @@ function ListSkeleton({
|
|
|
3571
3595
|
showIcons = false,
|
|
3572
3596
|
showActions = false
|
|
3573
3597
|
}) {
|
|
3574
|
-
return /* @__PURE__ */
|
|
3575
|
-
/* @__PURE__ */
|
|
3576
|
-
showIcons && /* @__PURE__ */
|
|
3577
|
-
/* @__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" })
|
|
3578
3602
|
] }),
|
|
3579
|
-
showActions && /* @__PURE__ */
|
|
3580
|
-
/* @__PURE__ */
|
|
3581
|
-
/* @__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" })
|
|
3582
3606
|
] })
|
|
3583
3607
|
] }, index)) });
|
|
3584
3608
|
}
|
|
@@ -3587,14 +3611,14 @@ function TableSkeleton({
|
|
|
3587
3611
|
rows = 5,
|
|
3588
3612
|
columns = 4
|
|
3589
3613
|
}) {
|
|
3590
|
-
return /* @__PURE__ */
|
|
3591
|
-
/* @__PURE__ */
|
|
3592
|
-
/* @__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(
|
|
3593
3617
|
"div",
|
|
3594
3618
|
{
|
|
3595
3619
|
className: "grid gap-4 py-2 border-b border-ods-divider",
|
|
3596
3620
|
style: { gridTemplateColumns: `repeat(${columns}, 1fr)` },
|
|
3597
|
-
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))
|
|
3598
3622
|
},
|
|
3599
3623
|
rowIndex
|
|
3600
3624
|
)) })
|
|
@@ -3604,15 +3628,15 @@ function FormSkeleton({
|
|
|
3604
3628
|
className,
|
|
3605
3629
|
fields = 4
|
|
3606
3630
|
}) {
|
|
3607
|
-
return /* @__PURE__ */
|
|
3608
|
-
Array.from({ length: fields }).map((_, index) => /* @__PURE__ */
|
|
3609
|
-
/* @__PURE__ */
|
|
3610
|
-
/* @__PURE__ */
|
|
3611
|
-
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" })
|
|
3612
3636
|
] }, index)),
|
|
3613
|
-
/* @__PURE__ */
|
|
3614
|
-
/* @__PURE__ */
|
|
3615
|
-
/* @__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" })
|
|
3616
3640
|
] })
|
|
3617
3641
|
] });
|
|
3618
3642
|
}
|
|
@@ -3621,7 +3645,7 @@ function NavigationSkeleton({
|
|
|
3621
3645
|
items = 6,
|
|
3622
3646
|
horizontal = true
|
|
3623
3647
|
}) {
|
|
3624
|
-
return /* @__PURE__ */
|
|
3648
|
+
return /* @__PURE__ */ jsx30(
|
|
3625
3649
|
"nav",
|
|
3626
3650
|
{
|
|
3627
3651
|
className: cn(
|
|
@@ -3631,7 +3655,7 @@ function NavigationSkeleton({
|
|
|
3631
3655
|
),
|
|
3632
3656
|
role: "status",
|
|
3633
3657
|
"aria-label": "Loading navigation",
|
|
3634
|
-
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))
|
|
3635
3659
|
}
|
|
3636
3660
|
);
|
|
3637
3661
|
}
|
|
@@ -3640,32 +3664,32 @@ function ProfileSkeleton({
|
|
|
3640
3664
|
showBio = true,
|
|
3641
3665
|
showStats = true
|
|
3642
3666
|
}) {
|
|
3643
|
-
return /* @__PURE__ */
|
|
3644
|
-
/* @__PURE__ */
|
|
3645
|
-
/* @__PURE__ */
|
|
3646
|
-
/* @__PURE__ */
|
|
3647
|
-
/* @__PURE__ */
|
|
3648
|
-
/* @__PURE__ */
|
|
3649
|
-
/* @__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" })
|
|
3650
3674
|
] })
|
|
3651
3675
|
] }),
|
|
3652
|
-
showBio && /* @__PURE__ */
|
|
3653
|
-
/* @__PURE__ */
|
|
3654
|
-
/* @__PURE__ */
|
|
3655
|
-
/* @__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" })
|
|
3656
3680
|
] }),
|
|
3657
|
-
showStats && /* @__PURE__ */
|
|
3658
|
-
/* @__PURE__ */
|
|
3659
|
-
/* @__PURE__ */
|
|
3660
|
-
/* @__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" })
|
|
3661
3685
|
] }),
|
|
3662
|
-
/* @__PURE__ */
|
|
3663
|
-
/* @__PURE__ */
|
|
3664
|
-
/* @__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" })
|
|
3665
3689
|
] }),
|
|
3666
|
-
/* @__PURE__ */
|
|
3667
|
-
/* @__PURE__ */
|
|
3668
|
-
/* @__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" })
|
|
3669
3693
|
] })
|
|
3670
3694
|
] })
|
|
3671
3695
|
] });
|
|
@@ -3675,34 +3699,34 @@ function CommentSkeleton({
|
|
|
3675
3699
|
showRating = false,
|
|
3676
3700
|
showReplies = false
|
|
3677
3701
|
}) {
|
|
3678
|
-
return /* @__PURE__ */
|
|
3679
|
-
/* @__PURE__ */
|
|
3680
|
-
/* @__PURE__ */
|
|
3681
|
-
/* @__PURE__ */
|
|
3682
|
-
/* @__PURE__ */
|
|
3683
|
-
/* @__PURE__ */
|
|
3684
|
-
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)) })
|
|
3685
3709
|
] })
|
|
3686
3710
|
] }),
|
|
3687
|
-
/* @__PURE__ */
|
|
3688
|
-
/* @__PURE__ */
|
|
3689
|
-
/* @__PURE__ */
|
|
3690
|
-
/* @__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" })
|
|
3691
3715
|
] }),
|
|
3692
|
-
/* @__PURE__ */
|
|
3693
|
-
/* @__PURE__ */
|
|
3694
|
-
/* @__PURE__ */
|
|
3695
|
-
/* @__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" })
|
|
3696
3720
|
] }),
|
|
3697
|
-
showReplies && /* @__PURE__ */
|
|
3698
|
-
/* @__PURE__ */
|
|
3699
|
-
/* @__PURE__ */
|
|
3700
|
-
/* @__PURE__ */
|
|
3701
|
-
/* @__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" })
|
|
3702
3726
|
] }),
|
|
3703
|
-
/* @__PURE__ */
|
|
3704
|
-
/* @__PURE__ */
|
|
3705
|
-
/* @__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" })
|
|
3706
3730
|
] })
|
|
3707
3731
|
] }, index)) })
|
|
3708
3732
|
] });
|
|
@@ -3714,35 +3738,35 @@ function FeatureListSkeleton({
|
|
|
3714
3738
|
grouped = false
|
|
3715
3739
|
}) {
|
|
3716
3740
|
if (grouped) {
|
|
3717
|
-
return /* @__PURE__ */
|
|
3718
|
-
/* @__PURE__ */
|
|
3719
|
-
/* @__PURE__ */
|
|
3720
|
-
showIcons && /* @__PURE__ */
|
|
3721
|
-
/* @__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" })
|
|
3722
3746
|
] }, featureIndex)) })
|
|
3723
3747
|
] }, groupIndex)) });
|
|
3724
3748
|
}
|
|
3725
|
-
return /* @__PURE__ */
|
|
3726
|
-
showIcons && /* @__PURE__ */
|
|
3727
|
-
/* @__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" })
|
|
3728
3752
|
] }, index)) });
|
|
3729
3753
|
}
|
|
3730
3754
|
function TimelineSkeleton({
|
|
3731
3755
|
className,
|
|
3732
3756
|
items = 5
|
|
3733
3757
|
}) {
|
|
3734
|
-
return /* @__PURE__ */
|
|
3735
|
-
/* @__PURE__ */
|
|
3736
|
-
/* @__PURE__ */
|
|
3737
|
-
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" })
|
|
3738
3762
|
] }),
|
|
3739
|
-
/* @__PURE__ */
|
|
3740
|
-
/* @__PURE__ */
|
|
3741
|
-
/* @__PURE__ */
|
|
3742
|
-
/* @__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" })
|
|
3743
3767
|
] }),
|
|
3744
|
-
/* @__PURE__ */
|
|
3745
|
-
/* @__PURE__ */
|
|
3768
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-full" }),
|
|
3769
|
+
/* @__PURE__ */ jsx30(TextSkeleton.Body, { className: "w-3/4" })
|
|
3746
3770
|
] })
|
|
3747
3771
|
] }, index)) });
|
|
3748
3772
|
}
|
|
@@ -3750,54 +3774,54 @@ function PricingSkeleton({
|
|
|
3750
3774
|
className,
|
|
3751
3775
|
plans = 3
|
|
3752
3776
|
}) {
|
|
3753
|
-
return /* @__PURE__ */
|
|
3777
|
+
return /* @__PURE__ */ jsx30("div", { className: cn(
|
|
3754
3778
|
"grid gap-6",
|
|
3755
3779
|
plans === 2 && "grid-cols-1 md:grid-cols-2",
|
|
3756
3780
|
plans === 3 && "grid-cols-1 md:grid-cols-3",
|
|
3757
3781
|
plans === 4 && "grid-cols-1 md:grid-cols-2 lg:grid-cols-4",
|
|
3758
3782
|
className
|
|
3759
|
-
), children: Array.from({ length: plans }).map((_, index) => /* @__PURE__ */
|
|
3760
|
-
/* @__PURE__ */
|
|
3761
|
-
/* @__PURE__ */
|
|
3762
|
-
/* @__PURE__ */
|
|
3763
|
-
/* @__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" })
|
|
3764
3788
|
] }),
|
|
3765
|
-
/* @__PURE__ */
|
|
3766
|
-
/* @__PURE__ */
|
|
3767
|
-
/* @__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" })
|
|
3768
3792
|
] }, featureIndex)) }),
|
|
3769
|
-
/* @__PURE__ */
|
|
3793
|
+
/* @__PURE__ */ jsx30(InteractiveSkeleton.Button, { className: "w-full" })
|
|
3770
3794
|
] }) }, index)) });
|
|
3771
3795
|
}
|
|
3772
3796
|
|
|
3773
3797
|
// src/components/profile/ProfileLoadingSkeleton.tsx
|
|
3774
3798
|
init_cn();
|
|
3775
|
-
import { jsx as
|
|
3799
|
+
import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3776
3800
|
function ProfileLoadingSkeleton({ className }) {
|
|
3777
|
-
return /* @__PURE__ */
|
|
3778
|
-
/* @__PURE__ */
|
|
3779
|
-
/* @__PURE__ */
|
|
3780
|
-
/* @__PURE__ */
|
|
3781
|
-
/* @__PURE__ */
|
|
3782
|
-
/* @__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" })
|
|
3783
3807
|
] })
|
|
3784
3808
|
] }),
|
|
3785
|
-
/* @__PURE__ */
|
|
3786
|
-
/* @__PURE__ */
|
|
3787
|
-
/* @__PURE__ */
|
|
3788
|
-
/* @__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" })
|
|
3789
3813
|
] })
|
|
3790
3814
|
] });
|
|
3791
3815
|
}
|
|
3792
3816
|
|
|
3793
3817
|
// src/components/loading/msp-profile-form-skeleton.tsx
|
|
3794
3818
|
init_cn();
|
|
3795
|
-
import { jsx as
|
|
3819
|
+
import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3796
3820
|
function MspProfileFormSkeleton({
|
|
3797
3821
|
className,
|
|
3798
3822
|
fields = 4
|
|
3799
3823
|
}) {
|
|
3800
|
-
return /* @__PURE__ */
|
|
3824
|
+
return /* @__PURE__ */ jsxs25(
|
|
3801
3825
|
"div",
|
|
3802
3826
|
{
|
|
3803
3827
|
className: cn(
|
|
@@ -3807,13 +3831,13 @@ function MspProfileFormSkeleton({
|
|
|
3807
3831
|
role: "status",
|
|
3808
3832
|
"aria-label": "Loading MSP profile form",
|
|
3809
3833
|
children: [
|
|
3810
|
-
/* @__PURE__ */
|
|
3811
|
-
/* @__PURE__ */
|
|
3812
|
-
/* @__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" }) })
|
|
3813
3837
|
] }),
|
|
3814
|
-
/* @__PURE__ */
|
|
3815
|
-
/* @__PURE__ */
|
|
3816
|
-
/* @__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, {})
|
|
3817
3841
|
] }, idx)) })
|
|
3818
3842
|
]
|
|
3819
3843
|
}
|
|
@@ -3822,9 +3846,9 @@ function MspProfileFormSkeleton({
|
|
|
3822
3846
|
|
|
3823
3847
|
// src/components/loading/category-card-skeleton.tsx
|
|
3824
3848
|
init_cn();
|
|
3825
|
-
import { jsx as
|
|
3849
|
+
import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3826
3850
|
function CategoryCardSkeleton({ className }) {
|
|
3827
|
-
return /* @__PURE__ */
|
|
3851
|
+
return /* @__PURE__ */ jsxs26(
|
|
3828
3852
|
"article",
|
|
3829
3853
|
{
|
|
3830
3854
|
className: cn(
|
|
@@ -3834,7 +3858,7 @@ function CategoryCardSkeleton({ className }) {
|
|
|
3834
3858
|
role: "status",
|
|
3835
3859
|
"aria-label": "Loading category card",
|
|
3836
3860
|
children: [
|
|
3837
|
-
/* @__PURE__ */
|
|
3861
|
+
/* @__PURE__ */ jsx33("div", { className: "flex gap-6 mb-8 justify-center items-center", children: Array.from({ length: 10 }).map((_, i) => /* @__PURE__ */ jsx33(
|
|
3838
3862
|
UnifiedSkeleton,
|
|
3839
3863
|
{
|
|
3840
3864
|
variant: "circular",
|
|
@@ -3843,12 +3867,12 @@ function CategoryCardSkeleton({ className }) {
|
|
|
3843
3867
|
},
|
|
3844
3868
|
i
|
|
3845
3869
|
)) }),
|
|
3846
|
-
/* @__PURE__ */
|
|
3847
|
-
/* @__PURE__ */
|
|
3848
|
-
/* @__PURE__ */
|
|
3849
|
-
/* @__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" })
|
|
3850
3874
|
] }),
|
|
3851
|
-
/* @__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" }) })
|
|
3852
3876
|
]
|
|
3853
3877
|
}
|
|
3854
3878
|
);
|
|
@@ -3856,22 +3880,22 @@ function CategoryCardSkeleton({ className }) {
|
|
|
3856
3880
|
|
|
3857
3881
|
// src/components/loading/category-vendor-selector-skeleton.tsx
|
|
3858
3882
|
init_cn();
|
|
3859
|
-
import { jsx as
|
|
3883
|
+
import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3860
3884
|
function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
3861
|
-
return /* @__PURE__ */
|
|
3885
|
+
return /* @__PURE__ */ jsxs27(
|
|
3862
3886
|
"div",
|
|
3863
3887
|
{
|
|
3864
3888
|
className: cn("bg-ods-card border border-ods-border rounded-lg p-6", className),
|
|
3865
3889
|
role: "status",
|
|
3866
3890
|
"aria-label": "Loading category section",
|
|
3867
3891
|
children: [
|
|
3868
|
-
/* @__PURE__ */
|
|
3869
|
-
/* @__PURE__ */
|
|
3870
|
-
/* @__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" })
|
|
3871
3895
|
] }),
|
|
3872
|
-
/* @__PURE__ */
|
|
3873
|
-
/* @__PURE__ */
|
|
3874
|
-
/* @__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)) })
|
|
3875
3899
|
] }, idx)) })
|
|
3876
3900
|
]
|
|
3877
3901
|
}
|
|
@@ -3880,90 +3904,90 @@ function CategoryVendorSelectorSkeleton({ subcategories = 3, className }) {
|
|
|
3880
3904
|
|
|
3881
3905
|
// src/components/loading/wizard-layout-skeleton.tsx
|
|
3882
3906
|
init_cn();
|
|
3883
|
-
import { jsx as
|
|
3907
|
+
import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3884
3908
|
function WizardLayoutSkeleton({ steps = 6, className }) {
|
|
3885
|
-
return /* @__PURE__ */
|
|
3886
|
-
/* @__PURE__ */
|
|
3887
|
-
/* @__PURE__ */
|
|
3888
|
-
/* @__PURE__ */
|
|
3889
|
-
/* @__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" })
|
|
3890
3914
|
] }),
|
|
3891
|
-
/* @__PURE__ */
|
|
3892
|
-
/* @__PURE__ */
|
|
3893
|
-
/* @__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" })
|
|
3894
3918
|
] })
|
|
3895
3919
|
] });
|
|
3896
3920
|
}
|
|
3897
3921
|
|
|
3898
3922
|
// src/components/loading/margin-report-skeleton.tsx
|
|
3899
|
-
import { jsx as
|
|
3923
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3900
3924
|
function MarginReportSkeleton({ animate = true, description, overlayContent }) {
|
|
3901
|
-
return /* @__PURE__ */
|
|
3902
|
-
/* @__PURE__ */
|
|
3903
|
-
/* @__PURE__ */
|
|
3904
|
-
/* @__PURE__ */
|
|
3905
|
-
/* @__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" })
|
|
3906
3930
|
] }),
|
|
3907
|
-
/* @__PURE__ */
|
|
3908
|
-
/* @__PURE__ */
|
|
3909
|
-
/* @__PURE__ */
|
|
3910
|
-
/* @__PURE__ */
|
|
3911
|
-
/* @__PURE__ */
|
|
3912
|
-
/* @__PURE__ */
|
|
3913
|
-
/* @__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" })
|
|
3914
3938
|
] })
|
|
3915
3939
|
] }),
|
|
3916
|
-
/* @__PURE__ */
|
|
3917
|
-
/* @__PURE__ */
|
|
3918
|
-
/* @__PURE__ */
|
|
3919
|
-
/* @__PURE__ */
|
|
3920
|
-
/* @__PURE__ */
|
|
3921
|
-
/* @__PURE__ */
|
|
3922
|
-
/* @__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" })
|
|
3923
3947
|
] })
|
|
3924
3948
|
] }),
|
|
3925
|
-
/* @__PURE__ */
|
|
3949
|
+
/* @__PURE__ */ jsx36("div", { className: "h-6 w-36 bg-[#2A2A2A] rounded" })
|
|
3926
3950
|
] }),
|
|
3927
|
-
/* @__PURE__ */
|
|
3951
|
+
/* @__PURE__ */ jsx36("div", { className: "h-4 w-40 bg-[#2A2A2A] rounded mt-4" })
|
|
3928
3952
|
] })
|
|
3929
3953
|
] }),
|
|
3930
|
-
/* @__PURE__ */
|
|
3931
|
-
/* @__PURE__ */
|
|
3932
|
-
/* @__PURE__ */
|
|
3933
|
-
/* @__PURE__ */
|
|
3934
|
-
/* @__PURE__ */
|
|
3935
|
-
/* @__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" })
|
|
3936
3960
|
] })
|
|
3937
3961
|
] }),
|
|
3938
|
-
/* @__PURE__ */
|
|
3939
|
-
/* @__PURE__ */
|
|
3940
|
-
/* @__PURE__ */
|
|
3941
|
-
/* @__PURE__ */
|
|
3942
|
-
/* @__PURE__ */
|
|
3943
|
-
/* @__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" })
|
|
3944
3968
|
] })
|
|
3945
3969
|
] }),
|
|
3946
|
-
/* @__PURE__ */
|
|
3947
|
-
/* @__PURE__ */
|
|
3948
|
-
/* @__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" })
|
|
3949
3973
|
] })
|
|
3950
3974
|
] }, j)) })
|
|
3951
3975
|
] }, idx)) }),
|
|
3952
|
-
/* @__PURE__ */
|
|
3953
|
-
/* @__PURE__ */
|
|
3954
|
-
/* @__PURE__ */
|
|
3955
|
-
/* @__PURE__ */
|
|
3956
|
-
/* @__PURE__ */
|
|
3957
|
-
/* @__PURE__ */
|
|
3958
|
-
/* @__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" })
|
|
3959
3983
|
] }),
|
|
3960
|
-
/* @__PURE__ */
|
|
3984
|
+
/* @__PURE__ */ jsx36("div", { className: "w-12 h-12 bg-[#2A2A2A] rounded-md shrink-0" })
|
|
3961
3985
|
] }),
|
|
3962
|
-
/* @__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)) })
|
|
3963
3987
|
] })
|
|
3964
3988
|
] }),
|
|
3965
|
-
overlayContent && /* @__PURE__ */
|
|
3966
|
-
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 }),
|
|
3967
3991
|
overlayContent
|
|
3968
3992
|
] }) })
|
|
3969
3993
|
] });
|
|
@@ -3971,18 +3995,18 @@ function MarginReportSkeleton({ animate = true, description, overlayContent }) {
|
|
|
3971
3995
|
|
|
3972
3996
|
// src/components/loading/users-grid-skeleton.tsx
|
|
3973
3997
|
init_cn();
|
|
3974
|
-
import { jsx as
|
|
3998
|
+
import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3975
3999
|
function UsersGridSkeleton({ rows = 10, className }) {
|
|
3976
4000
|
const skeletonRows = Array.from({ length: rows });
|
|
3977
|
-
return /* @__PURE__ */
|
|
3978
|
-
/* @__PURE__ */
|
|
3979
|
-
/* @__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)) })
|
|
3980
4004
|
] }) });
|
|
3981
4005
|
}
|
|
3982
4006
|
|
|
3983
4007
|
// src/components/loading/organization-icon-skeleton.tsx
|
|
3984
4008
|
init_cn();
|
|
3985
|
-
import { jsx as
|
|
4009
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3986
4010
|
var sizeClasses2 = {
|
|
3987
4011
|
xs: "w-6 h-6",
|
|
3988
4012
|
sm: "w-8 h-8",
|
|
@@ -4009,27 +4033,27 @@ function OrganizationIconSkeleton({
|
|
|
4009
4033
|
!showBackground && "overflow-hidden",
|
|
4010
4034
|
className
|
|
4011
4035
|
);
|
|
4012
|
-
return /* @__PURE__ */
|
|
4036
|
+
return /* @__PURE__ */ jsx38(
|
|
4013
4037
|
"div",
|
|
4014
4038
|
{
|
|
4015
4039
|
className: containerClasses,
|
|
4016
4040
|
role: "status",
|
|
4017
4041
|
"aria-label": "Loading organization icon",
|
|
4018
|
-
children: /* @__PURE__ */
|
|
4042
|
+
children: /* @__PURE__ */ jsx38("div", { className: "w-1/2 h-1/2 bg-ods-border rounded-sm animate-pulse" })
|
|
4019
4043
|
}
|
|
4020
4044
|
);
|
|
4021
4045
|
}
|
|
4022
4046
|
|
|
4023
4047
|
// src/components/loading/organization-card-skeleton.tsx
|
|
4024
4048
|
init_cn();
|
|
4025
|
-
import { jsx as
|
|
4049
|
+
import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
4026
4050
|
function OrganizationCardSkeleton({
|
|
4027
4051
|
className,
|
|
4028
4052
|
containerClassName,
|
|
4029
4053
|
showFooter = true,
|
|
4030
4054
|
showDescription = true
|
|
4031
4055
|
}) {
|
|
4032
|
-
return /* @__PURE__ */
|
|
4056
|
+
return /* @__PURE__ */ jsx39(
|
|
4033
4057
|
"div",
|
|
4034
4058
|
{
|
|
4035
4059
|
className: cn(
|
|
@@ -4039,9 +4063,9 @@ function OrganizationCardSkeleton({
|
|
|
4039
4063
|
),
|
|
4040
4064
|
role: "status",
|
|
4041
4065
|
"aria-label": "Loading organization card",
|
|
4042
|
-
children: /* @__PURE__ */
|
|
4043
|
-
/* @__PURE__ */
|
|
4044
|
-
/* @__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(
|
|
4045
4069
|
OrganizationIconSkeleton,
|
|
4046
4070
|
{
|
|
4047
4071
|
size: "xl",
|
|
@@ -4050,29 +4074,29 @@ function OrganizationCardSkeleton({
|
|
|
4050
4074
|
className: "w-[60px] h-[60px]"
|
|
4051
4075
|
}
|
|
4052
4076
|
),
|
|
4053
|
-
/* @__PURE__ */
|
|
4054
|
-
/* @__PURE__ */
|
|
4055
|
-
/* @__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" })
|
|
4056
4080
|
] })
|
|
4057
4081
|
] }),
|
|
4058
|
-
showDescription && /* @__PURE__ */
|
|
4059
|
-
/* @__PURE__ */
|
|
4060
|
-
/* @__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" })
|
|
4061
4085
|
] }) }),
|
|
4062
|
-
showFooter && /* @__PURE__ */
|
|
4063
|
-
/* @__PURE__ */
|
|
4064
|
-
/* @__PURE__ */
|
|
4065
|
-
/* @__PURE__ */
|
|
4066
|
-
/* @__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" })
|
|
4067
4091
|
] }),
|
|
4068
|
-
/* @__PURE__ */
|
|
4069
|
-
/* @__PURE__ */
|
|
4070
|
-
/* @__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" })
|
|
4071
4095
|
] })
|
|
4072
4096
|
] }),
|
|
4073
|
-
/* @__PURE__ */
|
|
4074
|
-
/* @__PURE__ */
|
|
4075
|
-
/* @__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" })
|
|
4076
4100
|
] }) })
|
|
4077
4101
|
] })
|
|
4078
4102
|
] })
|
|
@@ -4086,7 +4110,7 @@ function OrganizationCardSkeletonGrid({
|
|
|
4086
4110
|
showFooter = true,
|
|
4087
4111
|
showDescription = true
|
|
4088
4112
|
}) {
|
|
4089
|
-
return /* @__PURE__ */
|
|
4113
|
+
return /* @__PURE__ */ jsx39(
|
|
4090
4114
|
"div",
|
|
4091
4115
|
{
|
|
4092
4116
|
className: cn(
|
|
@@ -4095,7 +4119,7 @@ function OrganizationCardSkeletonGrid({
|
|
|
4095
4119
|
),
|
|
4096
4120
|
role: "status",
|
|
4097
4121
|
"aria-label": `Loading ${count} organization cards`,
|
|
4098
|
-
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */
|
|
4122
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx39(
|
|
4099
4123
|
OrganizationCardSkeleton,
|
|
4100
4124
|
{
|
|
4101
4125
|
containerClassName,
|
|
@@ -4110,9 +4134,9 @@ function OrganizationCardSkeletonGrid({
|
|
|
4110
4134
|
|
|
4111
4135
|
// src/components/loading/device-card-skeleton.tsx
|
|
4112
4136
|
init_cn();
|
|
4113
|
-
import { jsx as
|
|
4137
|
+
import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
4114
4138
|
function DeviceCardSkeleton({ className }) {
|
|
4115
|
-
return /* @__PURE__ */
|
|
4139
|
+
return /* @__PURE__ */ jsxs32(
|
|
4116
4140
|
"div",
|
|
4117
4141
|
{
|
|
4118
4142
|
className: cn(
|
|
@@ -4122,19 +4146,19 @@ function DeviceCardSkeleton({ className }) {
|
|
|
4122
4146
|
role: "status",
|
|
4123
4147
|
"aria-label": "Loading device card",
|
|
4124
4148
|
children: [
|
|
4125
|
-
/* @__PURE__ */
|
|
4126
|
-
/* @__PURE__ */
|
|
4127
|
-
/* @__PURE__ */
|
|
4128
|
-
/* @__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" })
|
|
4129
4153
|
] }),
|
|
4130
|
-
/* @__PURE__ */
|
|
4131
|
-
/* @__PURE__ */
|
|
4132
|
-
/* @__PURE__ */
|
|
4133
|
-
/* @__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" }) })
|
|
4134
4158
|
] }),
|
|
4135
|
-
/* @__PURE__ */
|
|
4136
|
-
/* @__PURE__ */
|
|
4137
|
-
/* @__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" }) })
|
|
4138
4162
|
] })
|
|
4139
4163
|
]
|
|
4140
4164
|
}
|
|
@@ -4144,7 +4168,7 @@ function DeviceCardSkeletonGrid({
|
|
|
4144
4168
|
count = 12,
|
|
4145
4169
|
className
|
|
4146
4170
|
}) {
|
|
4147
|
-
return /* @__PURE__ */
|
|
4171
|
+
return /* @__PURE__ */ jsx40(
|
|
4148
4172
|
"div",
|
|
4149
4173
|
{
|
|
4150
4174
|
className: cn(
|
|
@@ -4153,22 +4177,22 @@ function DeviceCardSkeletonGrid({
|
|
|
4153
4177
|
),
|
|
4154
4178
|
role: "status",
|
|
4155
4179
|
"aria-label": `Loading ${count} device cards`,
|
|
4156
|
-
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */
|
|
4180
|
+
children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx40(DeviceCardSkeleton, {}, index))
|
|
4157
4181
|
}
|
|
4158
4182
|
);
|
|
4159
4183
|
}
|
|
4160
4184
|
|
|
4161
4185
|
// src/components/vendor-page-skeleton.tsx
|
|
4162
|
-
import { jsx as
|
|
4186
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
4163
4187
|
function VendorPageSkeleton() {
|
|
4164
|
-
return /* @__PURE__ */
|
|
4188
|
+
return /* @__PURE__ */ jsx41(VendorDetailLayoutSkeleton, {});
|
|
4165
4189
|
}
|
|
4166
4190
|
|
|
4167
4191
|
// src/components/why-it-matters.tsx
|
|
4168
|
-
import { jsx as
|
|
4192
|
+
import { jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
4169
4193
|
|
|
4170
4194
|
// src/components/yes-no-display.tsx
|
|
4171
|
-
import { jsx as
|
|
4195
|
+
import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
4172
4196
|
function YesNoDisplay({
|
|
4173
4197
|
value,
|
|
4174
4198
|
yesText = "Yes",
|
|
@@ -4177,20 +4201,20 @@ function YesNoDisplay({
|
|
|
4177
4201
|
className = ""
|
|
4178
4202
|
}) {
|
|
4179
4203
|
if (customText) {
|
|
4180
|
-
return /* @__PURE__ */
|
|
4181
|
-
/* @__PURE__ */
|
|
4182
|
-
/* @__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 })
|
|
4183
4207
|
] });
|
|
4184
4208
|
}
|
|
4185
4209
|
if (value) {
|
|
4186
|
-
return /* @__PURE__ */
|
|
4187
|
-
/* @__PURE__ */
|
|
4188
|
-
/* @__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 })
|
|
4189
4213
|
] });
|
|
4190
4214
|
}
|
|
4191
|
-
return /* @__PURE__ */
|
|
4192
|
-
/* @__PURE__ */
|
|
4193
|
-
/* @__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 })
|
|
4194
4218
|
] });
|
|
4195
4219
|
}
|
|
4196
4220
|
function evaluateFeatureValue(value, dataType) {
|
|
@@ -4225,7 +4249,7 @@ function evaluateFeatureValue(value, dataType) {
|
|
|
4225
4249
|
|
|
4226
4250
|
// src/components/made-with-love.tsx
|
|
4227
4251
|
import { useState as useState5, useEffect as useEffect4 } from "react";
|
|
4228
|
-
import { jsx as
|
|
4252
|
+
import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4229
4253
|
function MadeWithLove({
|
|
4230
4254
|
className = "",
|
|
4231
4255
|
size = "md",
|
|
@@ -4299,14 +4323,14 @@ function MadeWithLove({
|
|
|
4299
4323
|
marginLeft: "4px",
|
|
4300
4324
|
textDecoration: "none"
|
|
4301
4325
|
};
|
|
4302
|
-
return /* @__PURE__ */
|
|
4326
|
+
return /* @__PURE__ */ jsxs35(
|
|
4303
4327
|
"div",
|
|
4304
4328
|
{
|
|
4305
4329
|
style: containerStyle,
|
|
4306
4330
|
className,
|
|
4307
4331
|
children: [
|
|
4308
4332
|
"Made with love by",
|
|
4309
|
-
/* @__PURE__ */
|
|
4333
|
+
/* @__PURE__ */ jsxs35(
|
|
4310
4334
|
"a",
|
|
4311
4335
|
{
|
|
4312
4336
|
href: flamingoUrl,
|
|
@@ -4316,14 +4340,14 @@ function MadeWithLove({
|
|
|
4316
4340
|
onMouseEnter: () => setIsHovered(true),
|
|
4317
4341
|
onMouseLeave: () => setIsHovered(false),
|
|
4318
4342
|
children: [
|
|
4319
|
-
/* @__PURE__ */
|
|
4343
|
+
/* @__PURE__ */ jsx44("div", { style: logoStyle, children: /* @__PURE__ */ jsx44(
|
|
4320
4344
|
FlamingoLogo2,
|
|
4321
4345
|
{
|
|
4322
4346
|
size: config.logoSize,
|
|
4323
4347
|
color: "#f357bb"
|
|
4324
4348
|
}
|
|
4325
4349
|
) }),
|
|
4326
|
-
/* @__PURE__ */
|
|
4350
|
+
/* @__PURE__ */ jsx44("span", { style: textStyle, children: "Flamingo" })
|
|
4327
4351
|
]
|
|
4328
4352
|
}
|
|
4329
4353
|
)
|
|
@@ -4335,7 +4359,7 @@ function MadeWithLove({
|
|
|
4335
4359
|
// src/components/date-time-picker.tsx
|
|
4336
4360
|
init_cn();
|
|
4337
4361
|
import DatePicker2 from "react-datepicker";
|
|
4338
|
-
import { jsx as
|
|
4362
|
+
import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
4339
4363
|
var inputClassName = cn(
|
|
4340
4364
|
"flex h-10 w-full rounded-md border px-3 py-2 text-sm ring-offset-background",
|
|
4341
4365
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
@@ -4359,9 +4383,9 @@ function DateTimePicker({
|
|
|
4359
4383
|
timeIntervals = 15,
|
|
4360
4384
|
dateFormat = "MMMM d, yyyy h:mm aa"
|
|
4361
4385
|
}) {
|
|
4362
|
-
return /* @__PURE__ */
|
|
4363
|
-
label && /* @__PURE__ */
|
|
4364
|
-
/* @__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(
|
|
4365
4389
|
DatePicker2,
|
|
4366
4390
|
{
|
|
4367
4391
|
selected: value,
|
|
@@ -4376,7 +4400,7 @@ function DateTimePicker({
|
|
|
4376
4400
|
className: inputClassName
|
|
4377
4401
|
}
|
|
4378
4402
|
) }),
|
|
4379
|
-
/* @__PURE__ */
|
|
4403
|
+
/* @__PURE__ */ jsx45("style", { dangerouslySetInnerHTML: { __html: `
|
|
4380
4404
|
.react-datepicker-wrapper {
|
|
4381
4405
|
width: 100% !important;
|
|
4382
4406
|
display: block !important;
|
|
@@ -4481,7 +4505,7 @@ function DateTimePicker({
|
|
|
4481
4505
|
|
|
4482
4506
|
// src/components/authors/author-detail-view.tsx
|
|
4483
4507
|
init_cn();
|
|
4484
|
-
import { jsx as
|
|
4508
|
+
import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
4485
4509
|
function AuthorDetailView({
|
|
4486
4510
|
author,
|
|
4487
4511
|
proxyImageUrl,
|
|
@@ -4496,9 +4520,9 @@ function AuthorDetailView({
|
|
|
4496
4520
|
}) ?? author.avatarUrl : null;
|
|
4497
4521
|
const subtitle = [author.jobTitle, author.company].filter(Boolean).join(" @ ");
|
|
4498
4522
|
const bioText = formatBioText(author.about);
|
|
4499
|
-
return /* @__PURE__ */
|
|
4500
|
-
/* @__PURE__ */
|
|
4501
|
-
/* @__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(
|
|
4502
4526
|
next_image_default,
|
|
4503
4527
|
{
|
|
4504
4528
|
src: proxiedAvatar,
|
|
@@ -4507,12 +4531,12 @@ function AuthorDetailView({
|
|
|
4507
4531
|
className: "object-cover",
|
|
4508
4532
|
unoptimized: true
|
|
4509
4533
|
}
|
|
4510
|
-
) : /* @__PURE__ */
|
|
4511
|
-
/* @__PURE__ */
|
|
4512
|
-
/* @__PURE__ */
|
|
4513
|
-
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 }),
|
|
4514
4538
|
author.socialLinks.length > 0 && // Ghost compact row (transparent 32px) — metadata, not CTAs.
|
|
4515
|
-
/* @__PURE__ */
|
|
4539
|
+
/* @__PURE__ */ jsx46(
|
|
4516
4540
|
SocialIconRow,
|
|
4517
4541
|
{
|
|
4518
4542
|
compact: true,
|
|
@@ -4525,8 +4549,8 @@ function AuthorDetailView({
|
|
|
4525
4549
|
)
|
|
4526
4550
|
] })
|
|
4527
4551
|
] }),
|
|
4528
|
-
bioText && /* @__PURE__ */
|
|
4529
|
-
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)) }),
|
|
4530
4554
|
children
|
|
4531
4555
|
] });
|
|
4532
4556
|
}
|
|
@@ -4550,6 +4574,7 @@ export {
|
|
|
4550
4574
|
ActionsMenu,
|
|
4551
4575
|
ActionsMenuDropdown,
|
|
4552
4576
|
AdminContentCard,
|
|
4577
|
+
AgentMark,
|
|
4553
4578
|
AiRobotIcon,
|
|
4554
4579
|
Alert,
|
|
4555
4580
|
AlertDescription,
|