pxengine 0.1.72 → 0.1.74
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/index.cjs +1185 -840
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -1
- package/dist/index.d.ts +27 -1
- package/dist/index.mjs +1169 -825
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +68 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ var __export = (target, all) => {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// src/render/PXEngineRenderer.tsx
|
|
8
|
-
import
|
|
8
|
+
import React114 from "react";
|
|
9
9
|
|
|
10
10
|
// src/atoms/index.ts
|
|
11
11
|
var atoms_exports = {};
|
|
@@ -33623,6 +33623,7 @@ __export(molecules_exports, {
|
|
|
33623
33623
|
PlatformSelectDisplay: () => PlatformSelectDisplay,
|
|
33624
33624
|
PlatformSelectEdit: () => PlatformSelectEdit,
|
|
33625
33625
|
PollCard: () => PollCard,
|
|
33626
|
+
PresentationJobCard: () => PresentationJobCard,
|
|
33626
33627
|
PriorityActionsCard: () => PriorityActionsCard,
|
|
33627
33628
|
RecommendationCard: () => RecommendationCard,
|
|
33628
33629
|
ResearchBriefCard: () => ResearchBriefCard,
|
|
@@ -38523,8 +38524,350 @@ var NextStepCard = ({
|
|
|
38523
38524
|
)
|
|
38524
38525
|
] });
|
|
38525
38526
|
|
|
38527
|
+
// src/molecules/generic/PresentationJobCard/PresentationJobCard.tsx
|
|
38528
|
+
import { useEffect as useEffect6, useRef as useRef5, useState as useState10, useCallback as useCallback4 } from "react";
|
|
38529
|
+
import { Fragment as Fragment5, jsx as jsx146, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
38530
|
+
var DownloadIcon = () => /* @__PURE__ */ jsxs108("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
38531
|
+
/* @__PURE__ */ jsx146("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
|
|
38532
|
+
/* @__PURE__ */ jsx146("polyline", { points: "7 10 12 15 17 10" }),
|
|
38533
|
+
/* @__PURE__ */ jsx146("line", { x1: "12", y1: "15", x2: "12", y2: "3" })
|
|
38534
|
+
] });
|
|
38535
|
+
var SlidesIcon = () => /* @__PURE__ */ jsxs108("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
38536
|
+
/* @__PURE__ */ jsx146("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
|
|
38537
|
+
/* @__PURE__ */ jsx146("path", { d: "M8 21h8M12 17v4" })
|
|
38538
|
+
] });
|
|
38539
|
+
var CloseIcon = () => /* @__PURE__ */ jsxs108("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
38540
|
+
/* @__PURE__ */ jsx146("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
38541
|
+
/* @__PURE__ */ jsx146("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
38542
|
+
] });
|
|
38543
|
+
var ChevronLeft2 = () => /* @__PURE__ */ jsx146("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx146("polyline", { points: "15 18 9 12 15 6" }) });
|
|
38544
|
+
var ChevronRight2 = () => /* @__PURE__ */ jsx146("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx146("polyline", { points: "9 18 15 12 9 6" }) });
|
|
38545
|
+
var Skel = ({ className, style }) => /* @__PURE__ */ jsx146("div", { className: cn("animate-pulse rounded-md bg-zinc-800/60", className), style });
|
|
38546
|
+
var FORMATS = [
|
|
38547
|
+
{
|
|
38548
|
+
key: "pptx_url",
|
|
38549
|
+
label: "PowerPoint",
|
|
38550
|
+
ext: ".pptx",
|
|
38551
|
+
emoji: "\u{1F4CA}",
|
|
38552
|
+
desc: "Editable slides \u2014 open in Microsoft PowerPoint or Google Slides",
|
|
38553
|
+
accent: { text: "text-orange-400", bg: "bg-orange-500/10 border-orange-500/20", pill: "bg-orange-500/15 text-orange-400 border-orange-500/25" }
|
|
38554
|
+
},
|
|
38555
|
+
{
|
|
38556
|
+
key: "pdf_url",
|
|
38557
|
+
label: "PDF",
|
|
38558
|
+
ext: ".pdf",
|
|
38559
|
+
emoji: "\u{1F4C4}",
|
|
38560
|
+
desc: "Print-ready, fixed layout \u2014 open in any PDF viewer",
|
|
38561
|
+
accent: { text: "text-red-400", bg: "bg-red-500/10 border-red-500/20", pill: "bg-red-500/15 text-red-400 border-red-500/25" }
|
|
38562
|
+
},
|
|
38563
|
+
{
|
|
38564
|
+
key: "html_url",
|
|
38565
|
+
label: "HTML",
|
|
38566
|
+
ext: ".html",
|
|
38567
|
+
emoji: "\u{1F310}",
|
|
38568
|
+
desc: "Interactive web presentation \u2014 download and open in browser",
|
|
38569
|
+
accent: { text: "text-indigo-400", bg: "bg-indigo-500/10 border-indigo-500/20", pill: "bg-indigo-500/15 text-indigo-400 border-indigo-500/25" }
|
|
38570
|
+
}
|
|
38571
|
+
];
|
|
38572
|
+
var ExportModal = ({ formats, title, onClose }) => {
|
|
38573
|
+
const available = FORMATS.filter((f) => formats[f.key]);
|
|
38574
|
+
const filename = title.replace(/[^a-z0-9]/gi, "-").toLowerCase();
|
|
38575
|
+
return /* @__PURE__ */ jsxs108("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", children: [
|
|
38576
|
+
/* @__PURE__ */ jsx146("div", { className: "absolute inset-0 bg-black/70 backdrop-blur-sm", onClick: onClose }),
|
|
38577
|
+
/* @__PURE__ */ jsxs108("div", { className: "relative z-10 bg-zinc-900 border border-zinc-800 rounded-2xl w-full max-w-sm p-6 shadow-2xl", children: [
|
|
38578
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-start justify-between mb-5", children: [
|
|
38579
|
+
/* @__PURE__ */ jsxs108("div", { className: "min-w-0 pr-3", children: [
|
|
38580
|
+
/* @__PURE__ */ jsx146("h3", { className: "text-sm font-semibold text-zinc-100", children: "Export Presentation" }),
|
|
38581
|
+
/* @__PURE__ */ jsx146("p", { className: "text-xs text-zinc-500 mt-0.5 truncate", children: title })
|
|
38582
|
+
] }),
|
|
38583
|
+
/* @__PURE__ */ jsx146(
|
|
38584
|
+
"button",
|
|
38585
|
+
{
|
|
38586
|
+
onClick: onClose,
|
|
38587
|
+
className: "text-zinc-500 hover:text-zinc-200 transition-colors flex-shrink-0 mt-0.5",
|
|
38588
|
+
"aria-label": "Close",
|
|
38589
|
+
children: /* @__PURE__ */ jsx146(CloseIcon, {})
|
|
38590
|
+
}
|
|
38591
|
+
)
|
|
38592
|
+
] }),
|
|
38593
|
+
/* @__PURE__ */ jsxs108("div", { className: "space-y-2.5", children: [
|
|
38594
|
+
available.length === 0 && /* @__PURE__ */ jsx146("p", { className: "text-sm text-zinc-500 text-center py-6", children: "No formats available yet" }),
|
|
38595
|
+
available.map((fmt) => {
|
|
38596
|
+
const url = formats[fmt.key];
|
|
38597
|
+
const dlName = `${filename}${fmt.ext}`;
|
|
38598
|
+
return /* @__PURE__ */ jsxs108(
|
|
38599
|
+
"a",
|
|
38600
|
+
{
|
|
38601
|
+
href: url,
|
|
38602
|
+
download: dlName,
|
|
38603
|
+
className: cn(
|
|
38604
|
+
"flex items-center gap-3.5 p-3.5 rounded-xl border transition-all",
|
|
38605
|
+
"hover:brightness-110 cursor-pointer no-underline group",
|
|
38606
|
+
fmt.accent.bg
|
|
38607
|
+
),
|
|
38608
|
+
children: [
|
|
38609
|
+
/* @__PURE__ */ jsx146("span", { className: "text-xl flex-shrink-0", children: fmt.emoji }),
|
|
38610
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex-1 min-w-0", children: [
|
|
38611
|
+
/* @__PURE__ */ jsx146("p", { className: cn("text-sm font-semibold", fmt.accent.text), children: fmt.label }),
|
|
38612
|
+
/* @__PURE__ */ jsx146("p", { className: "text-xs text-zinc-500 mt-0.5 leading-relaxed", children: fmt.desc })
|
|
38613
|
+
] }),
|
|
38614
|
+
/* @__PURE__ */ jsx146("span", { className: cn("flex-shrink-0 transition-colors", fmt.accent.text), children: /* @__PURE__ */ jsx146(DownloadIcon, {}) })
|
|
38615
|
+
]
|
|
38616
|
+
},
|
|
38617
|
+
fmt.key
|
|
38618
|
+
);
|
|
38619
|
+
})
|
|
38620
|
+
] }),
|
|
38621
|
+
/* @__PURE__ */ jsx146("p", { className: "text-xs text-zinc-600 mt-4 text-center", children: "Download links expire in 7 days" })
|
|
38622
|
+
] })
|
|
38623
|
+
] });
|
|
38624
|
+
};
|
|
38625
|
+
var PresentationJobCard = ({
|
|
38626
|
+
job_id: _job_id,
|
|
38627
|
+
title: initialTitle,
|
|
38628
|
+
status: initialStatus,
|
|
38629
|
+
slide_count: initialSlideCount,
|
|
38630
|
+
formats: initialFormats = {},
|
|
38631
|
+
error: initialError,
|
|
38632
|
+
pollUrl,
|
|
38633
|
+
className
|
|
38634
|
+
}) => {
|
|
38635
|
+
const [status, setStatus] = useState10(initialStatus);
|
|
38636
|
+
const [title, setTitle] = useState10(initialTitle);
|
|
38637
|
+
const [slideCount, setSlideCount] = useState10(initialSlideCount ?? 0);
|
|
38638
|
+
const [formats, setFormats] = useState10(initialFormats);
|
|
38639
|
+
const [error, setError] = useState10(initialError);
|
|
38640
|
+
const [showModal, setShowModal] = useState10(false);
|
|
38641
|
+
const [currentSlide, setCurrentSlide] = useState10(1);
|
|
38642
|
+
const [previewScale, setPreviewScale] = useState10(1);
|
|
38643
|
+
const [iframeReady, setIframeReady] = useState10(false);
|
|
38644
|
+
const [pendingSlide, setPendingSlide] = useState10(null);
|
|
38645
|
+
const intervalRef = useRef5(null);
|
|
38646
|
+
const previewRef = useRef5(null);
|
|
38647
|
+
const iframeRef = useRef5(null);
|
|
38648
|
+
const updateScale = useCallback4(() => {
|
|
38649
|
+
if (previewRef.current) {
|
|
38650
|
+
setPreviewScale(previewRef.current.offsetWidth / 1280);
|
|
38651
|
+
}
|
|
38652
|
+
}, []);
|
|
38653
|
+
useEffect6(() => {
|
|
38654
|
+
updateScale();
|
|
38655
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
38656
|
+
const ro = new ResizeObserver(updateScale);
|
|
38657
|
+
if (previewRef.current) ro.observe(previewRef.current);
|
|
38658
|
+
return () => ro.disconnect();
|
|
38659
|
+
}, [updateScale, formats.html_url]);
|
|
38660
|
+
useEffect6(() => {
|
|
38661
|
+
setIframeReady(false);
|
|
38662
|
+
setPendingSlide(null);
|
|
38663
|
+
}, [formats.html_url]);
|
|
38664
|
+
useEffect6(() => {
|
|
38665
|
+
const handler = (e) => {
|
|
38666
|
+
if (e.data?.type === "slideChanged") {
|
|
38667
|
+
setCurrentSlide(e.data.slide);
|
|
38668
|
+
if (e.data.total && !slideCount) {
|
|
38669
|
+
setSlideCount(e.data.total);
|
|
38670
|
+
}
|
|
38671
|
+
}
|
|
38672
|
+
};
|
|
38673
|
+
window.addEventListener("message", handler);
|
|
38674
|
+
return () => window.removeEventListener("message", handler);
|
|
38675
|
+
}, [slideCount]);
|
|
38676
|
+
useEffect6(() => {
|
|
38677
|
+
if (!iframeReady || pendingSlide === null) return;
|
|
38678
|
+
iframeRef.current?.contentWindow?.postMessage({ type: "goToSlide", slide: pendingSlide }, "*");
|
|
38679
|
+
setPendingSlide(null);
|
|
38680
|
+
}, [iframeReady, pendingSlide]);
|
|
38681
|
+
const goToSlide = (n) => {
|
|
38682
|
+
const total2 = slideCount || 1;
|
|
38683
|
+
const target = (n - 1 + total2) % total2 + 1;
|
|
38684
|
+
setCurrentSlide(target);
|
|
38685
|
+
if (iframeReady) {
|
|
38686
|
+
iframeRef.current?.contentWindow?.postMessage({ type: "goToSlide", slide: target }, "*");
|
|
38687
|
+
return;
|
|
38688
|
+
}
|
|
38689
|
+
setPendingSlide(target);
|
|
38690
|
+
};
|
|
38691
|
+
const isTerminal = status === "complete" || status === "failed";
|
|
38692
|
+
useEffect6(() => {
|
|
38693
|
+
if (isTerminal || !pollUrl) return;
|
|
38694
|
+
const poll = async () => {
|
|
38695
|
+
try {
|
|
38696
|
+
const res = await fetch(pollUrl);
|
|
38697
|
+
if (!res.ok) return;
|
|
38698
|
+
const data = await res.json();
|
|
38699
|
+
const newStatus = data.status;
|
|
38700
|
+
setStatus(newStatus);
|
|
38701
|
+
if (newStatus === "complete" && data.output) {
|
|
38702
|
+
if (data.output.title) setTitle(data.output.title);
|
|
38703
|
+
if (data.output.slide_count) setSlideCount(data.output.slide_count);
|
|
38704
|
+
if (data.output.formats) setFormats(data.output.formats);
|
|
38705
|
+
}
|
|
38706
|
+
if (newStatus === "failed" && data.error) {
|
|
38707
|
+
setError(data.error);
|
|
38708
|
+
}
|
|
38709
|
+
} catch {
|
|
38710
|
+
}
|
|
38711
|
+
};
|
|
38712
|
+
poll();
|
|
38713
|
+
intervalRef.current = setInterval(poll, 3e3);
|
|
38714
|
+
return () => {
|
|
38715
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
38716
|
+
};
|
|
38717
|
+
}, [isTerminal, pollUrl]);
|
|
38718
|
+
useEffect6(() => {
|
|
38719
|
+
if (isTerminal && intervalRef.current) {
|
|
38720
|
+
clearInterval(intervalRef.current);
|
|
38721
|
+
intervalRef.current = null;
|
|
38722
|
+
}
|
|
38723
|
+
}, [isTerminal]);
|
|
38724
|
+
if (status === "pending" || status === "running") {
|
|
38725
|
+
return /* @__PURE__ */ jsx146("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs108("div", { className: "bg-zinc-900 border border-zinc-800 rounded-2xl p-5", children: [
|
|
38726
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-3 mb-5", children: [
|
|
38727
|
+
/* @__PURE__ */ jsx146(Skel, { className: "w-10 h-10 rounded-xl flex-shrink-0" }),
|
|
38728
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex-1 space-y-2", children: [
|
|
38729
|
+
/* @__PURE__ */ jsx146(Skel, { className: "h-3.5 w-44" }),
|
|
38730
|
+
/* @__PURE__ */ jsx146(Skel, { className: "h-3 w-28" })
|
|
38731
|
+
] })
|
|
38732
|
+
] }),
|
|
38733
|
+
/* @__PURE__ */ jsx146("div", { className: "grid grid-cols-3 gap-3", children: [0, 1, 2].map((i) => /* @__PURE__ */ jsx146(Skel, { className: "aspect-video rounded-lg", style: { animationDelay: `${i * 150}ms` } }, i)) }),
|
|
38734
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-2.5 mt-4 pt-4 border-t border-zinc-800/60", children: [
|
|
38735
|
+
/* @__PURE__ */ jsx146("span", { className: "w-2 h-2 rounded-full bg-indigo-500 animate-pulse flex-shrink-0" }),
|
|
38736
|
+
/* @__PURE__ */ jsx146(Skel, { className: "h-3 w-36" })
|
|
38737
|
+
] })
|
|
38738
|
+
] }) });
|
|
38739
|
+
}
|
|
38740
|
+
if (status === "failed") {
|
|
38741
|
+
return /* @__PURE__ */ jsx146("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx146("div", { className: "bg-red-950/20 border border-red-800/25 rounded-2xl p-5", children: /* @__PURE__ */ jsxs108("div", { className: "flex items-start gap-3", children: [
|
|
38742
|
+
/* @__PURE__ */ jsx146("span", { className: "text-red-400 text-base mt-0.5 flex-shrink-0", children: "\u26A0" }),
|
|
38743
|
+
/* @__PURE__ */ jsxs108("div", { children: [
|
|
38744
|
+
/* @__PURE__ */ jsx146("p", { className: "text-sm font-semibold text-red-300", children: "Presentation generation failed" }),
|
|
38745
|
+
/* @__PURE__ */ jsx146("p", { className: "text-xs text-red-400/60 mt-1 leading-relaxed", children: error || "An unexpected error occurred. Please try again." })
|
|
38746
|
+
] })
|
|
38747
|
+
] }) }) });
|
|
38748
|
+
}
|
|
38749
|
+
const availablePills = FORMATS.filter((f) => formats[f.key]);
|
|
38750
|
+
const total = slideCount || 1;
|
|
38751
|
+
return /* @__PURE__ */ jsxs108(Fragment5, { children: [
|
|
38752
|
+
/* @__PURE__ */ jsx146("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxs108("div", { className: "bg-zinc-900 border border-zinc-800 rounded-2xl overflow-hidden", children: [
|
|
38753
|
+
/* @__PURE__ */ jsx146("div", { className: "h-[3px] bg-gradient-to-r from-indigo-600 via-violet-500 to-purple-600" }),
|
|
38754
|
+
/* @__PURE__ */ jsxs108("div", { className: "p-5", children: [
|
|
38755
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-start gap-3", children: [
|
|
38756
|
+
/* @__PURE__ */ jsx146("div", { className: "w-10 h-10 rounded-xl bg-indigo-500/10 border border-indigo-500/20 flex items-center justify-center flex-shrink-0 text-indigo-400", children: /* @__PURE__ */ jsx146(SlidesIcon, {}) }),
|
|
38757
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex-1 min-w-0", children: [
|
|
38758
|
+
/* @__PURE__ */ jsx146("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title }),
|
|
38759
|
+
/* @__PURE__ */ jsxs108("p", { className: "text-xs text-zinc-500 mt-0.5", children: [
|
|
38760
|
+
slideCount ? `${slideCount} slides` : "Presentation",
|
|
38761
|
+
" \xB7 Ready to export"
|
|
38762
|
+
] })
|
|
38763
|
+
] }),
|
|
38764
|
+
/* @__PURE__ */ jsxs108(
|
|
38765
|
+
"button",
|
|
38766
|
+
{
|
|
38767
|
+
onClick: () => setShowModal(true),
|
|
38768
|
+
className: "flex items-center gap-1.5 px-3 py-1.5 bg-indigo-600 hover:bg-indigo-500 active:bg-indigo-700 text-white text-xs font-medium rounded-lg transition-colors flex-shrink-0",
|
|
38769
|
+
children: [
|
|
38770
|
+
/* @__PURE__ */ jsx146(DownloadIcon, {}),
|
|
38771
|
+
"Export"
|
|
38772
|
+
]
|
|
38773
|
+
}
|
|
38774
|
+
)
|
|
38775
|
+
] }),
|
|
38776
|
+
formats.html_url && /* @__PURE__ */ jsxs108("div", { className: "mt-4", children: [
|
|
38777
|
+
/* @__PURE__ */ jsx146(
|
|
38778
|
+
"div",
|
|
38779
|
+
{
|
|
38780
|
+
ref: previewRef,
|
|
38781
|
+
className: "relative overflow-hidden rounded-xl bg-zinc-950 border border-zinc-800/50",
|
|
38782
|
+
style: { height: Math.round(previewScale * 720) },
|
|
38783
|
+
children: /* @__PURE__ */ jsx146(
|
|
38784
|
+
"iframe",
|
|
38785
|
+
{
|
|
38786
|
+
ref: iframeRef,
|
|
38787
|
+
src: formats.html_url,
|
|
38788
|
+
title,
|
|
38789
|
+
onLoad: () => setIframeReady(true),
|
|
38790
|
+
sandbox: "allow-same-origin allow-scripts",
|
|
38791
|
+
style: {
|
|
38792
|
+
width: 1280,
|
|
38793
|
+
height: 720,
|
|
38794
|
+
transform: `scale(${previewScale})`,
|
|
38795
|
+
transformOrigin: "top left",
|
|
38796
|
+
border: "none",
|
|
38797
|
+
pointerEvents: "none",
|
|
38798
|
+
display: "block"
|
|
38799
|
+
}
|
|
38800
|
+
}
|
|
38801
|
+
)
|
|
38802
|
+
}
|
|
38803
|
+
),
|
|
38804
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center justify-between mt-3", children: [
|
|
38805
|
+
/* @__PURE__ */ jsx146("div", { className: "flex items-center gap-2", children: availablePills.map((fmt) => /* @__PURE__ */ jsx146(
|
|
38806
|
+
"span",
|
|
38807
|
+
{
|
|
38808
|
+
className: cn(
|
|
38809
|
+
"text-xs px-2.5 py-0.5 rounded-md border font-medium",
|
|
38810
|
+
fmt.accent.pill
|
|
38811
|
+
),
|
|
38812
|
+
children: fmt.label
|
|
38813
|
+
},
|
|
38814
|
+
fmt.key
|
|
38815
|
+
)) }),
|
|
38816
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-2", children: [
|
|
38817
|
+
/* @__PURE__ */ jsx146(
|
|
38818
|
+
"button",
|
|
38819
|
+
{
|
|
38820
|
+
onClick: () => goToSlide(currentSlide - 1),
|
|
38821
|
+
disabled: total <= 1,
|
|
38822
|
+
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-indigo-500 hover:text-indigo-400 text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
38823
|
+
"aria-label": "Previous slide",
|
|
38824
|
+
children: /* @__PURE__ */ jsx146(ChevronLeft2, {})
|
|
38825
|
+
}
|
|
38826
|
+
),
|
|
38827
|
+
/* @__PURE__ */ jsxs108("span", { className: "text-xs text-zinc-500 font-medium tabular-nums min-w-[3rem] text-center", children: [
|
|
38828
|
+
currentSlide,
|
|
38829
|
+
" / ",
|
|
38830
|
+
total
|
|
38831
|
+
] }),
|
|
38832
|
+
/* @__PURE__ */ jsx146(
|
|
38833
|
+
"button",
|
|
38834
|
+
{
|
|
38835
|
+
onClick: () => goToSlide(currentSlide + 1),
|
|
38836
|
+
disabled: total <= 1,
|
|
38837
|
+
className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-indigo-500 hover:text-indigo-400 text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
38838
|
+
"aria-label": "Next slide",
|
|
38839
|
+
children: /* @__PURE__ */ jsx146(ChevronRight2, {})
|
|
38840
|
+
}
|
|
38841
|
+
)
|
|
38842
|
+
] })
|
|
38843
|
+
] })
|
|
38844
|
+
] }),
|
|
38845
|
+
!formats.html_url && availablePills.length > 0 && /* @__PURE__ */ jsx146("div", { className: "flex items-center gap-2 mt-4", children: availablePills.map((fmt) => /* @__PURE__ */ jsx146(
|
|
38846
|
+
"span",
|
|
38847
|
+
{
|
|
38848
|
+
className: cn(
|
|
38849
|
+
"text-xs px-2.5 py-0.5 rounded-md border font-medium",
|
|
38850
|
+
fmt.accent.pill
|
|
38851
|
+
),
|
|
38852
|
+
children: fmt.label
|
|
38853
|
+
},
|
|
38854
|
+
fmt.key
|
|
38855
|
+
)) })
|
|
38856
|
+
] })
|
|
38857
|
+
] }) }),
|
|
38858
|
+
showModal && /* @__PURE__ */ jsx146(
|
|
38859
|
+
ExportModal,
|
|
38860
|
+
{
|
|
38861
|
+
formats,
|
|
38862
|
+
title,
|
|
38863
|
+
onClose: () => setShowModal(false)
|
|
38864
|
+
}
|
|
38865
|
+
)
|
|
38866
|
+
] });
|
|
38867
|
+
};
|
|
38868
|
+
|
|
38526
38869
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
38527
|
-
import
|
|
38870
|
+
import React106, { useMemo as useMemo5 } from "react";
|
|
38528
38871
|
|
|
38529
38872
|
// src/lib/field-utils.ts
|
|
38530
38873
|
function normalizeLabel(key) {
|
|
@@ -38599,7 +38942,7 @@ function generateFieldsFromPropDefinitions(propDefs, data) {
|
|
|
38599
38942
|
}
|
|
38600
38943
|
|
|
38601
38944
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
38602
|
-
import { useState as
|
|
38945
|
+
import { useState as useState11, useRef as useRef6, useEffect as useEffect7, useMemo as useMemo4 } from "react";
|
|
38603
38946
|
|
|
38604
38947
|
// src/lib/countries.ts
|
|
38605
38948
|
var countries = [
|
|
@@ -38806,15 +39149,15 @@ var countriesWithFlags = Object.fromEntries(
|
|
|
38806
39149
|
);
|
|
38807
39150
|
|
|
38808
39151
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
38809
|
-
import { jsx as
|
|
39152
|
+
import { jsx as jsx147, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
38810
39153
|
var CountrySelectEdit = ({
|
|
38811
39154
|
value,
|
|
38812
39155
|
onChange
|
|
38813
39156
|
}) => {
|
|
38814
|
-
const [isDropdownOpen, setIsDropdownOpen] =
|
|
38815
|
-
const [searchTerm, setSearchTerm] =
|
|
38816
|
-
const dropdownRef =
|
|
38817
|
-
|
|
39157
|
+
const [isDropdownOpen, setIsDropdownOpen] = useState11(false);
|
|
39158
|
+
const [searchTerm, setSearchTerm] = useState11("");
|
|
39159
|
+
const dropdownRef = useRef6(null);
|
|
39160
|
+
useEffect7(() => {
|
|
38818
39161
|
const handleClickOutside = (event) => {
|
|
38819
39162
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
38820
39163
|
setIsDropdownOpen(false);
|
|
@@ -38833,16 +39176,16 @@ var CountrySelectEdit = ({
|
|
|
38833
39176
|
}
|
|
38834
39177
|
return [];
|
|
38835
39178
|
}, [value]);
|
|
38836
|
-
return /* @__PURE__ */
|
|
38837
|
-
/* @__PURE__ */
|
|
38838
|
-
/* @__PURE__ */
|
|
39179
|
+
return /* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39180
|
+
/* @__PURE__ */ jsxs109("div", { className: "relative", ref: dropdownRef, children: [
|
|
39181
|
+
/* @__PURE__ */ jsxs109(
|
|
38839
39182
|
"div",
|
|
38840
39183
|
{
|
|
38841
39184
|
className: "flex-1 bg-background border border-border rounded-md px-3 py-2 text-sm cursor-pointer flex items-center justify-between font-medium hover:border-purple500 transition-colors",
|
|
38842
39185
|
onClick: () => setIsDropdownOpen(!isDropdownOpen),
|
|
38843
39186
|
children: [
|
|
38844
|
-
/* @__PURE__ */
|
|
38845
|
-
/* @__PURE__ */
|
|
39187
|
+
/* @__PURE__ */ jsx147("span", { className: "text-foreground", children: inputValue.length > 0 ? `${inputValue.length} ${inputValue.length === 1 ? "country" : "countries"} selected` : "Select countries..." }),
|
|
39188
|
+
/* @__PURE__ */ jsx147(
|
|
38846
39189
|
ChevronDown,
|
|
38847
39190
|
{
|
|
38848
39191
|
className: cn(
|
|
@@ -38854,8 +39197,8 @@ var CountrySelectEdit = ({
|
|
|
38854
39197
|
]
|
|
38855
39198
|
}
|
|
38856
39199
|
),
|
|
38857
|
-
isDropdownOpen && /* @__PURE__ */
|
|
38858
|
-
/* @__PURE__ */
|
|
39200
|
+
isDropdownOpen && /* @__PURE__ */ jsxs109("div", { className: "relative z-10 top-full left-0 right-0 mt-1 bg-background border border-border rounded-lg shadow-xl z-50 max-h-60 overflow-hidden animate-in fade-in slide-in-from-top-1", children: [
|
|
39201
|
+
/* @__PURE__ */ jsx147("div", { className: "p-2 border-b border-border", children: /* @__PURE__ */ jsx147(
|
|
38859
39202
|
"input",
|
|
38860
39203
|
{
|
|
38861
39204
|
type: "text",
|
|
@@ -38866,9 +39209,9 @@ var CountrySelectEdit = ({
|
|
|
38866
39209
|
onClick: (e) => e.stopPropagation()
|
|
38867
39210
|
}
|
|
38868
39211
|
) }),
|
|
38869
|
-
/* @__PURE__ */
|
|
39212
|
+
/* @__PURE__ */ jsx147("div", { className: "max-h-40 overflow-y-auto p-1", children: countries.filter(
|
|
38870
39213
|
(country) => country.name.toLowerCase().includes(searchTerm.toLowerCase()) || country.code.toLowerCase().includes(searchTerm.toLowerCase())
|
|
38871
|
-
).map((country) => /* @__PURE__ */
|
|
39214
|
+
).map((country) => /* @__PURE__ */ jsxs109(
|
|
38872
39215
|
"div",
|
|
38873
39216
|
{
|
|
38874
39217
|
className: cn(
|
|
@@ -38889,30 +39232,30 @@ var CountrySelectEdit = ({
|
|
|
38889
39232
|
}
|
|
38890
39233
|
},
|
|
38891
39234
|
children: [
|
|
38892
|
-
/* @__PURE__ */
|
|
38893
|
-
/* @__PURE__ */
|
|
38894
|
-
/* @__PURE__ */
|
|
39235
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
39236
|
+
/* @__PURE__ */ jsx147("span", { className: "text-sm text-foreground", children: country.name }),
|
|
39237
|
+
/* @__PURE__ */ jsx147("span", { className: "text-xs text-muted-foreground font-mono", children: country.code })
|
|
38895
39238
|
] }),
|
|
38896
|
-
inputValue.includes(country.code) && /* @__PURE__ */
|
|
39239
|
+
inputValue.includes(country.code) && /* @__PURE__ */ jsx147(Check, { className: "h-4 w-4 text-purple500" })
|
|
38897
39240
|
]
|
|
38898
39241
|
},
|
|
38899
39242
|
country.code
|
|
38900
39243
|
)) })
|
|
38901
39244
|
] })
|
|
38902
39245
|
] }),
|
|
38903
|
-
inputValue.length > 0 && /* @__PURE__ */
|
|
39246
|
+
inputValue.length > 0 && /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-1.5", children: inputValue.map((countryCode) => /* @__PURE__ */ jsxs109(
|
|
38904
39247
|
Badge2,
|
|
38905
39248
|
{
|
|
38906
39249
|
className: "flex items-center gap-1 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
38907
39250
|
children: [
|
|
38908
39251
|
countryCode,
|
|
38909
|
-
/* @__PURE__ */
|
|
39252
|
+
/* @__PURE__ */ jsxs109(
|
|
38910
39253
|
"button",
|
|
38911
39254
|
{
|
|
38912
39255
|
onClick: () => onChange(inputValue.filter((c) => c !== countryCode)),
|
|
38913
39256
|
className: "hover:bg-purple200 rounded-full p-0.5 transition-colors",
|
|
38914
39257
|
children: [
|
|
38915
|
-
/* @__PURE__ */
|
|
39258
|
+
/* @__PURE__ */ jsx147(X, { className: "h-3 w-3" }),
|
|
38916
39259
|
" "
|
|
38917
39260
|
]
|
|
38918
39261
|
}
|
|
@@ -38930,13 +39273,13 @@ var CountrySelectDisplay = ({ value }) => {
|
|
|
38930
39273
|
return [];
|
|
38931
39274
|
}, [value]);
|
|
38932
39275
|
if (displayValues.length === 0) {
|
|
38933
|
-
return /* @__PURE__ */
|
|
39276
|
+
return /* @__PURE__ */ jsx147("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
38934
39277
|
}
|
|
38935
|
-
return /* @__PURE__ */
|
|
39278
|
+
return /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((item) => {
|
|
38936
39279
|
const country = countries.find(
|
|
38937
39280
|
(c) => c.code.toLowerCase() === item.toLowerCase() || c.name.toLowerCase() === item.toLowerCase()
|
|
38938
39281
|
);
|
|
38939
|
-
return /* @__PURE__ */
|
|
39282
|
+
return /* @__PURE__ */ jsx147(
|
|
38940
39283
|
"div",
|
|
38941
39284
|
{
|
|
38942
39285
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
@@ -38970,22 +39313,22 @@ var KeywordBundlesEdit = ({
|
|
|
38970
39313
|
});
|
|
38971
39314
|
});
|
|
38972
39315
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
38973
|
-
return /* @__PURE__ */
|
|
38974
|
-
/* @__PURE__ */
|
|
38975
|
-
/* @__PURE__ */
|
|
39316
|
+
return /* @__PURE__ */ jsx147("div", { className: "space-y-6 pt-2", children: sortedPriorities.map((priority) => /* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39317
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
39318
|
+
/* @__PURE__ */ jsxs109("div", { className: "inline-block px-3 py-1 bg-purple200 hover:bg-purple200 text-purpleText text-sm font-medium rounded-md uppercase", children: [
|
|
38976
39319
|
"Priority ",
|
|
38977
39320
|
priority
|
|
38978
39321
|
] }),
|
|
38979
|
-
/* @__PURE__ */
|
|
39322
|
+
/* @__PURE__ */ jsx147("div", { className: "h-px flex-1 bg-white/10" })
|
|
38980
39323
|
] }),
|
|
38981
|
-
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */
|
|
39324
|
+
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */ jsx147(
|
|
38982
39325
|
"div",
|
|
38983
39326
|
{
|
|
38984
39327
|
className: "bg-gray-50/50 border border-gray-100 rounded-xl p-4 transition-all hover:bg-gray-50 hover:border-gray-200 shadow-sm",
|
|
38985
|
-
children: /* @__PURE__ */
|
|
38986
|
-
/* @__PURE__ */
|
|
38987
|
-
/* @__PURE__ */
|
|
38988
|
-
/* @__PURE__ */
|
|
39328
|
+
children: /* @__PURE__ */ jsxs109("div", { className: "flex flex-col gap-3", children: [
|
|
39329
|
+
/* @__PURE__ */ jsx147("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Keywords" }),
|
|
39330
|
+
/* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39331
|
+
/* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-1.5", children: Array.isArray(bundle.keywords) && bundle.keywords.map((keyword, kIndex) => /* @__PURE__ */ jsxs109(
|
|
38989
39332
|
"div",
|
|
38990
39333
|
{
|
|
38991
39334
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium hover:bg-red-900/40 hover:border-red-500 transition-all cursor-pointer group",
|
|
@@ -39002,12 +39345,12 @@ var KeywordBundlesEdit = ({
|
|
|
39002
39345
|
},
|
|
39003
39346
|
children: [
|
|
39004
39347
|
keyword,
|
|
39005
|
-
/* @__PURE__ */
|
|
39348
|
+
/* @__PURE__ */ jsx147("span", { className: "ml-1 opacity-60 group-hover:opacity-100 transition-opacity", children: "\xD7" })
|
|
39006
39349
|
]
|
|
39007
39350
|
},
|
|
39008
39351
|
kIndex
|
|
39009
39352
|
)) }),
|
|
39010
|
-
/* @__PURE__ */
|
|
39353
|
+
/* @__PURE__ */ jsx147("div", { className: "flex gap-2", children: /* @__PURE__ */ jsx147(
|
|
39011
39354
|
"input",
|
|
39012
39355
|
{
|
|
39013
39356
|
type: "text",
|
|
@@ -39031,9 +39374,9 @@ var KeywordBundlesEdit = ({
|
|
|
39031
39374
|
}
|
|
39032
39375
|
) })
|
|
39033
39376
|
] }),
|
|
39034
|
-
/* @__PURE__ */
|
|
39035
|
-
/* @__PURE__ */
|
|
39036
|
-
/* @__PURE__ */
|
|
39377
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex flex-col gap-1.5 mt-1", children: [
|
|
39378
|
+
/* @__PURE__ */ jsx147("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Priority Level (1-5)" }),
|
|
39379
|
+
/* @__PURE__ */ jsx147(
|
|
39037
39380
|
"input",
|
|
39038
39381
|
{
|
|
39039
39382
|
type: "number",
|
|
@@ -39061,7 +39404,7 @@ var KeywordBundlesEdit = ({
|
|
|
39061
39404
|
var KeywordBundlesDisplay = ({ value }) => {
|
|
39062
39405
|
const bundles = Array.isArray(value) ? value : [];
|
|
39063
39406
|
if (bundles.length === 0)
|
|
39064
|
-
return /* @__PURE__ */
|
|
39407
|
+
return /* @__PURE__ */ jsx147("span", { className: "text-gray-500 italic text-sm", children: "Not specified" });
|
|
39065
39408
|
const groups = {};
|
|
39066
39409
|
bundles.forEach((b, idx) => {
|
|
39067
39410
|
const p = Number(b?.priority) || idx + 1;
|
|
@@ -39074,17 +39417,17 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
39074
39417
|
groups[p].push(...keywords);
|
|
39075
39418
|
});
|
|
39076
39419
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
39077
|
-
return /* @__PURE__ */
|
|
39420
|
+
return /* @__PURE__ */ jsx147("div", { className: "space-y-4 pt-2", children: sortedPriorities.map((priority) => {
|
|
39078
39421
|
const deduped = Array.from(new Set(groups[priority]));
|
|
39079
|
-
return /* @__PURE__ */
|
|
39080
|
-
/* @__PURE__ */
|
|
39081
|
-
/* @__PURE__ */
|
|
39422
|
+
return /* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39423
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
39424
|
+
/* @__PURE__ */ jsxs109("div", { className: "inline-block px-3 py-1 bg-purple200 hover:bg-purple200 text-purpleText text-sm font-medium rounded-md uppercase", children: [
|
|
39082
39425
|
"Priority ",
|
|
39083
39426
|
priority
|
|
39084
39427
|
] }),
|
|
39085
|
-
/* @__PURE__ */
|
|
39428
|
+
/* @__PURE__ */ jsx147("div", { className: "h-px flex-1 bg-white/10" })
|
|
39086
39429
|
] }),
|
|
39087
|
-
/* @__PURE__ */
|
|
39430
|
+
/* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-2 pt-1", children: deduped.map((keyword) => /* @__PURE__ */ jsx147(
|
|
39088
39431
|
"div",
|
|
39089
39432
|
{
|
|
39090
39433
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
@@ -39122,12 +39465,12 @@ var PlatformSelectEdit = ({
|
|
|
39122
39465
|
const options = useMemo4(() => {
|
|
39123
39466
|
return DEFAULT_PLATFORMS;
|
|
39124
39467
|
}, []);
|
|
39125
|
-
return /* @__PURE__ */
|
|
39468
|
+
return /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-4 py-2", children: options.map((platform) => /* @__PURE__ */ jsxs109(
|
|
39126
39469
|
"label",
|
|
39127
39470
|
{
|
|
39128
39471
|
className: "flex items-center gap-2 cursor-pointer group",
|
|
39129
39472
|
children: [
|
|
39130
|
-
/* @__PURE__ */
|
|
39473
|
+
/* @__PURE__ */ jsx147(
|
|
39131
39474
|
"div",
|
|
39132
39475
|
{
|
|
39133
39476
|
className: cn(
|
|
@@ -39135,10 +39478,10 @@ var PlatformSelectEdit = ({
|
|
|
39135
39478
|
isSelected(platform) ? "bg-purple-600 border-purple-600" : "border-gray-300 group-hover:border-purple-400"
|
|
39136
39479
|
),
|
|
39137
39480
|
onClick: () => togglePlatform(platform),
|
|
39138
|
-
children: isSelected(platform) && /* @__PURE__ */
|
|
39481
|
+
children: isSelected(platform) && /* @__PURE__ */ jsx147(Check, { className: "h-3.5 w-3.5 text-white stroke-[3]" })
|
|
39139
39482
|
}
|
|
39140
39483
|
),
|
|
39141
|
-
/* @__PURE__ */
|
|
39484
|
+
/* @__PURE__ */ jsx147("span", { className: "text-sm font-medium text-foreground select-none", children: platform })
|
|
39142
39485
|
]
|
|
39143
39486
|
},
|
|
39144
39487
|
platform
|
|
@@ -39153,9 +39496,9 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
39153
39496
|
return [];
|
|
39154
39497
|
}, [value]);
|
|
39155
39498
|
if (displayValues.length === 0) {
|
|
39156
|
-
return /* @__PURE__ */
|
|
39499
|
+
return /* @__PURE__ */ jsx147("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39157
39500
|
}
|
|
39158
|
-
return /* @__PURE__ */
|
|
39501
|
+
return /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((platform) => /* @__PURE__ */ jsx147(
|
|
39159
39502
|
"div",
|
|
39160
39503
|
{
|
|
39161
39504
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
@@ -39166,21 +39509,21 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
39166
39509
|
};
|
|
39167
39510
|
|
|
39168
39511
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
39169
|
-
import { jsx as
|
|
39512
|
+
import { jsx as jsx148, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
39170
39513
|
var ObjectDisplay = ({ value }) => {
|
|
39171
39514
|
if (!value || typeof value !== "object") return null;
|
|
39172
|
-
return /* @__PURE__ */
|
|
39173
|
-
/* @__PURE__ */
|
|
39515
|
+
return /* @__PURE__ */ jsx148("div", { className: "space-y-1 pt-1", children: Object.entries(value).map(([k, v]) => /* @__PURE__ */ jsxs110("div", { className: "flex gap-2 text-sm", children: [
|
|
39516
|
+
/* @__PURE__ */ jsxs110("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
39174
39517
|
k.replace(/_/g, " "),
|
|
39175
39518
|
":"
|
|
39176
39519
|
] }),
|
|
39177
|
-
/* @__PURE__ */
|
|
39520
|
+
/* @__PURE__ */ jsx148("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
39178
39521
|
] }, k)) });
|
|
39179
39522
|
};
|
|
39180
39523
|
var StringArrayDisplay = ({ value }) => {
|
|
39181
39524
|
if (!Array.isArray(value) || value.length === 0)
|
|
39182
|
-
return /* @__PURE__ */
|
|
39183
|
-
return /* @__PURE__ */
|
|
39525
|
+
return /* @__PURE__ */ jsx148("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39526
|
+
return /* @__PURE__ */ jsx148("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx148(
|
|
39184
39527
|
"div",
|
|
39185
39528
|
{
|
|
39186
39529
|
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
@@ -39198,8 +39541,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39198
39541
|
key,
|
|
39199
39542
|
label: "Keyword Bundles",
|
|
39200
39543
|
type: "custom",
|
|
39201
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39202
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39544
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(KeywordBundlesDisplay, { value: v }),
|
|
39545
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(
|
|
39203
39546
|
Textarea,
|
|
39204
39547
|
{
|
|
39205
39548
|
value: Array.isArray(v) ? v.map((b) => `${(b.keywords || []).join(", ")} (Priority: ${b.priority || 1})`).join("\n") : String(v || ""),
|
|
@@ -39231,8 +39574,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39231
39574
|
key,
|
|
39232
39575
|
label: "Geography",
|
|
39233
39576
|
type: "custom",
|
|
39234
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39235
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39577
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(CountrySelectDisplay, { value: v }),
|
|
39578
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(CountrySelectEdit, { value: v, onChange })
|
|
39236
39579
|
};
|
|
39237
39580
|
}
|
|
39238
39581
|
if (key === "platforms" || key === "target_platforms" || key === "targetPlatforms") {
|
|
@@ -39240,8 +39583,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39240
39583
|
key,
|
|
39241
39584
|
label: "Platforms",
|
|
39242
39585
|
type: "custom",
|
|
39243
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39244
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39586
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(PlatformSelectDisplay, { value: v }),
|
|
39587
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(
|
|
39245
39588
|
PlatformSelectEdit,
|
|
39246
39589
|
{
|
|
39247
39590
|
value: v,
|
|
@@ -39256,7 +39599,7 @@ function buildCampaignSeedFields(data) {
|
|
|
39256
39599
|
key,
|
|
39257
39600
|
label,
|
|
39258
39601
|
type: "custom",
|
|
39259
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39602
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(StringArrayDisplay, { value: v })
|
|
39260
39603
|
};
|
|
39261
39604
|
}
|
|
39262
39605
|
if (typeof value === "object" && value !== null && !Array.isArray(value) && "min" in value && "max" in value) {
|
|
@@ -39267,9 +39610,9 @@ function buildCampaignSeedFields(data) {
|
|
|
39267
39610
|
type: "custom",
|
|
39268
39611
|
renderDisplay: (v) => {
|
|
39269
39612
|
if (typeof v === "object" && v !== null) {
|
|
39270
|
-
return /* @__PURE__ */
|
|
39613
|
+
return /* @__PURE__ */ jsx148("span", { className: "text-foreground font-medium", children: `${v.min?.toLocaleString()} - ${v.max?.toLocaleString()}` });
|
|
39271
39614
|
}
|
|
39272
|
-
return /* @__PURE__ */
|
|
39615
|
+
return /* @__PURE__ */ jsx148("span", { className: "text-foreground font-medium", children: v });
|
|
39273
39616
|
}
|
|
39274
39617
|
};
|
|
39275
39618
|
}
|
|
@@ -39279,8 +39622,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39279
39622
|
key,
|
|
39280
39623
|
label,
|
|
39281
39624
|
type: "custom",
|
|
39282
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39283
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39625
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(ObjectDisplay, { value: v }),
|
|
39626
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(
|
|
39284
39627
|
Textarea,
|
|
39285
39628
|
{
|
|
39286
39629
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -39305,7 +39648,7 @@ function buildCampaignSeedFields(data) {
|
|
|
39305
39648
|
return generated;
|
|
39306
39649
|
});
|
|
39307
39650
|
}
|
|
39308
|
-
var CampaignSeedCard =
|
|
39651
|
+
var CampaignSeedCard = React106.memo(
|
|
39309
39652
|
({
|
|
39310
39653
|
selectionStatus,
|
|
39311
39654
|
isLatestMessage = true,
|
|
@@ -39328,7 +39671,7 @@ var CampaignSeedCard = React105.memo(
|
|
|
39328
39671
|
});
|
|
39329
39672
|
};
|
|
39330
39673
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
39331
|
-
return /* @__PURE__ */
|
|
39674
|
+
return /* @__PURE__ */ jsx148("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx148(
|
|
39332
39675
|
FormCard,
|
|
39333
39676
|
{
|
|
39334
39677
|
...formCardProps,
|
|
@@ -39340,9 +39683,9 @@ var CampaignSeedCard = React105.memo(
|
|
|
39340
39683
|
showTimeline: true,
|
|
39341
39684
|
isLatestMessage: effectiveIsLatest,
|
|
39342
39685
|
className,
|
|
39343
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
39344
|
-
/* @__PURE__ */
|
|
39345
|
-
/* @__PURE__ */
|
|
39686
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs110("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
39687
|
+
/* @__PURE__ */ jsx148(CircleCheck, { className: "h-3 w-3" }),
|
|
39688
|
+
/* @__PURE__ */ jsx148("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
39346
39689
|
] }) : formCardProps.footer
|
|
39347
39690
|
}
|
|
39348
39691
|
) });
|
|
@@ -39351,22 +39694,22 @@ var CampaignSeedCard = React105.memo(
|
|
|
39351
39694
|
CampaignSeedCard.displayName = "CampaignSeedCard";
|
|
39352
39695
|
|
|
39353
39696
|
// src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
|
|
39354
|
-
import
|
|
39355
|
-
import { jsx as
|
|
39697
|
+
import React107, { useMemo as useMemo6 } from "react";
|
|
39698
|
+
import { jsx as jsx149, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
39356
39699
|
var ObjectDisplay2 = ({ value }) => {
|
|
39357
39700
|
if (!value || typeof value !== "object") return null;
|
|
39358
|
-
return /* @__PURE__ */
|
|
39359
|
-
/* @__PURE__ */
|
|
39701
|
+
return /* @__PURE__ */ jsx149("div", { className: "space-y-1 pt-1", children: Object.entries(value).map(([k, v]) => /* @__PURE__ */ jsxs111("div", { className: "flex gap-2 text-sm", children: [
|
|
39702
|
+
/* @__PURE__ */ jsxs111("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
39360
39703
|
k.replace(/_/g, " "),
|
|
39361
39704
|
":"
|
|
39362
39705
|
] }),
|
|
39363
|
-
/* @__PURE__ */
|
|
39706
|
+
/* @__PURE__ */ jsx149("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
39364
39707
|
] }, k)) });
|
|
39365
39708
|
};
|
|
39366
39709
|
var StringArrayDisplay2 = ({ value }) => {
|
|
39367
39710
|
if (!Array.isArray(value) || value.length === 0)
|
|
39368
|
-
return /* @__PURE__ */
|
|
39369
|
-
return /* @__PURE__ */
|
|
39711
|
+
return /* @__PURE__ */ jsx149("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39712
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx149(
|
|
39370
39713
|
"div",
|
|
39371
39714
|
{
|
|
39372
39715
|
className: "flex items-center gap-2 px-3 py-1 bg-grayPill border border-foreground rounded-md text-foreground text-sm font-grotesk font-medium",
|
|
@@ -39384,8 +39727,8 @@ function buildSearchSpecFields(data) {
|
|
|
39384
39727
|
key,
|
|
39385
39728
|
label: "Keyword Bundles",
|
|
39386
39729
|
type: "custom",
|
|
39387
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39388
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39730
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(KeywordBundlesDisplay, { value: v }),
|
|
39731
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(KeywordBundlesEdit, { value: v, onChange })
|
|
39389
39732
|
};
|
|
39390
39733
|
}
|
|
39391
39734
|
if (key === "geography") {
|
|
@@ -39393,8 +39736,8 @@ function buildSearchSpecFields(data) {
|
|
|
39393
39736
|
key,
|
|
39394
39737
|
label: "Geography",
|
|
39395
39738
|
type: "custom",
|
|
39396
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39397
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39739
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(CountrySelectDisplay, { value: v }),
|
|
39740
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(CountrySelectEdit, { value: v, onChange })
|
|
39398
39741
|
};
|
|
39399
39742
|
}
|
|
39400
39743
|
if (key === "platforms" && Array.isArray(value)) {
|
|
@@ -39405,8 +39748,8 @@ function buildSearchSpecFields(data) {
|
|
|
39405
39748
|
config: {
|
|
39406
39749
|
options: data.platform_options || data.available_platforms || data.platforms_list || []
|
|
39407
39750
|
},
|
|
39408
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39409
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39751
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(PlatformSelectDisplay, { value: v }),
|
|
39752
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(
|
|
39410
39753
|
PlatformSelectEdit,
|
|
39411
39754
|
{
|
|
39412
39755
|
value: v,
|
|
@@ -39420,8 +39763,8 @@ function buildSearchSpecFields(data) {
|
|
|
39420
39763
|
key,
|
|
39421
39764
|
label: "Exclude Keywords",
|
|
39422
39765
|
type: "custom",
|
|
39423
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39424
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39766
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(StringArrayDisplay2, { value: v }),
|
|
39767
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(
|
|
39425
39768
|
Textarea,
|
|
39426
39769
|
{
|
|
39427
39770
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -39441,8 +39784,8 @@ function buildSearchSpecFields(data) {
|
|
|
39441
39784
|
key,
|
|
39442
39785
|
label,
|
|
39443
39786
|
type: "custom",
|
|
39444
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39445
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39787
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(ObjectDisplay2, { value: v }),
|
|
39788
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(
|
|
39446
39789
|
Textarea,
|
|
39447
39790
|
{
|
|
39448
39791
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -39467,7 +39810,7 @@ function buildSearchSpecFields(data) {
|
|
|
39467
39810
|
return generated;
|
|
39468
39811
|
});
|
|
39469
39812
|
}
|
|
39470
|
-
var SearchSpecCard =
|
|
39813
|
+
var SearchSpecCard = React107.memo(
|
|
39471
39814
|
({
|
|
39472
39815
|
selectionStatus,
|
|
39473
39816
|
isLatestMessage = true,
|
|
@@ -39495,7 +39838,7 @@ var SearchSpecCard = React106.memo(
|
|
|
39495
39838
|
});
|
|
39496
39839
|
};
|
|
39497
39840
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
39498
|
-
return /* @__PURE__ */
|
|
39841
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx149(
|
|
39499
39842
|
FormCard,
|
|
39500
39843
|
{
|
|
39501
39844
|
...formCardProps,
|
|
@@ -39506,9 +39849,9 @@ var SearchSpecCard = React106.memo(
|
|
|
39506
39849
|
onProceed: handleProceed,
|
|
39507
39850
|
isLatestMessage: effectiveIsLatest,
|
|
39508
39851
|
className,
|
|
39509
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
39510
|
-
/* @__PURE__ */
|
|
39511
|
-
/* @__PURE__ */
|
|
39852
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs111("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-1", children: [
|
|
39853
|
+
/* @__PURE__ */ jsx149(CircleCheck, { className: "h-3 w-3" }),
|
|
39854
|
+
/* @__PURE__ */ jsx149("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
39512
39855
|
] }) : formCardProps.footer
|
|
39513
39856
|
}
|
|
39514
39857
|
) });
|
|
@@ -39517,7 +39860,7 @@ var SearchSpecCard = React106.memo(
|
|
|
39517
39860
|
SearchSpecCard.displayName = "SearchSpecCard";
|
|
39518
39861
|
|
|
39519
39862
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
39520
|
-
import
|
|
39863
|
+
import React108 from "react";
|
|
39521
39864
|
|
|
39522
39865
|
// src/molecules/creator-discovery/MCQCard/defaultFetchers.ts
|
|
39523
39866
|
function getBackendOrigin() {
|
|
@@ -39617,8 +39960,8 @@ async function defaultPersistSelection(sessionId, questionKey, value) {
|
|
|
39617
39960
|
}
|
|
39618
39961
|
|
|
39619
39962
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
39620
|
-
import { jsx as
|
|
39621
|
-
var MCQCard =
|
|
39963
|
+
import { jsx as jsx150, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
39964
|
+
var MCQCard = React108.memo(
|
|
39622
39965
|
({
|
|
39623
39966
|
question,
|
|
39624
39967
|
options,
|
|
@@ -39643,16 +39986,16 @@ var MCQCard = React107.memo(
|
|
|
39643
39986
|
const resolvedOptions = options || allProps.Options || allProps.opts || {};
|
|
39644
39987
|
const resolvedRecommended = recommended || allProps.Recommended || allProps.rec;
|
|
39645
39988
|
console.log("[MCQCard] FULL PROPS:", { allProps, resolvedQuestion, resolvedOptions: Object.keys(resolvedOptions || {}), resolvedRecommended });
|
|
39646
|
-
const [selectedOption, setSelectedOption] =
|
|
39647
|
-
const [isProceeded, setIsProceeded] =
|
|
39648
|
-
const fetchedSessionRef =
|
|
39649
|
-
|
|
39989
|
+
const [selectedOption, setSelectedOption] = React108.useState(propsSelectedOption);
|
|
39990
|
+
const [isProceeded, setIsProceeded] = React108.useState(false);
|
|
39991
|
+
const fetchedSessionRef = React108.useRef("");
|
|
39992
|
+
React108.useEffect(() => {
|
|
39650
39993
|
if (propsSelectedOption) {
|
|
39651
39994
|
setSelectedOption(propsSelectedOption);
|
|
39652
39995
|
setIsProceeded(true);
|
|
39653
39996
|
}
|
|
39654
39997
|
}, [propsSelectedOption]);
|
|
39655
|
-
const buildQuestionKey =
|
|
39998
|
+
const buildQuestionKey = React108.useCallback((sid, question2) => {
|
|
39656
39999
|
let hash = 2166136261;
|
|
39657
40000
|
for (let i = 0; i < question2.length; i++) {
|
|
39658
40001
|
hash ^= question2.charCodeAt(i);
|
|
@@ -39660,7 +40003,7 @@ var MCQCard = React107.memo(
|
|
|
39660
40003
|
}
|
|
39661
40004
|
return `mcq_${sid}_${hash.toString(36)}`;
|
|
39662
40005
|
}, []);
|
|
39663
|
-
|
|
40006
|
+
React108.useEffect(() => {
|
|
39664
40007
|
if (!sessionId || !resolvedQuestion) return;
|
|
39665
40008
|
const fetchKey = `${sessionId}::${resolvedQuestion}`;
|
|
39666
40009
|
if (fetchedSessionRef.current === fetchKey) return;
|
|
@@ -39723,7 +40066,7 @@ A: ${label}`);
|
|
|
39723
40066
|
key,
|
|
39724
40067
|
typeof val === "string" ? val : typeof val === "object" && val !== null ? val.label || val.description || val.id || JSON.stringify(val) : String(val ?? "")
|
|
39725
40068
|
]) : [];
|
|
39726
|
-
return /* @__PURE__ */
|
|
40069
|
+
return /* @__PURE__ */ jsxs112(
|
|
39727
40070
|
"div",
|
|
39728
40071
|
{
|
|
39729
40072
|
className: cn(
|
|
@@ -39731,11 +40074,11 @@ A: ${label}`);
|
|
|
39731
40074
|
className
|
|
39732
40075
|
),
|
|
39733
40076
|
children: [
|
|
39734
|
-
/* @__PURE__ */
|
|
39735
|
-
/* @__PURE__ */
|
|
40077
|
+
/* @__PURE__ */ jsx150("div", { className: "mb-4", children: /* @__PURE__ */ jsx150("p", { className: "text-sm text-cardText", children: resolvedQuestion || "Select an option:" }) }),
|
|
40078
|
+
/* @__PURE__ */ jsx150("div", { className: "space-y-2.5 mb-4", children: optionsEntries.map(([key, label]) => {
|
|
39736
40079
|
const isSelected = selectedOption === key;
|
|
39737
40080
|
const isRecommended = key === recommended;
|
|
39738
|
-
return /* @__PURE__ */
|
|
40081
|
+
return /* @__PURE__ */ jsx150(
|
|
39739
40082
|
"div",
|
|
39740
40083
|
{
|
|
39741
40084
|
onClick: (e) => handleOptionClick(key, e),
|
|
@@ -39746,8 +40089,8 @@ A: ${label}`);
|
|
|
39746
40089
|
!selectedOption && !isOptionsDisabled && "hover:border-gray500",
|
|
39747
40090
|
(isLoading || isOptionsDisabled) && "opacity-50 cursor-not-allowed"
|
|
39748
40091
|
),
|
|
39749
|
-
children: /* @__PURE__ */
|
|
39750
|
-
/* @__PURE__ */
|
|
40092
|
+
children: /* @__PURE__ */ jsxs112("div", { className: "flex items-start gap-3", children: [
|
|
40093
|
+
/* @__PURE__ */ jsx150("div", { className: "mt-0.5 flex-shrink-0", children: /* @__PURE__ */ jsx150(
|
|
39751
40094
|
"div",
|
|
39752
40095
|
{
|
|
39753
40096
|
className: cn(
|
|
@@ -39757,19 +40100,19 @@ A: ${label}`);
|
|
|
39757
40100
|
!selectedOption && !isOptionsDisabled && "hover:border-gold"
|
|
39758
40101
|
)
|
|
39759
40102
|
),
|
|
39760
|
-
children: isSelected && /* @__PURE__ */
|
|
40103
|
+
children: isSelected && /* @__PURE__ */ jsx150("div", { className: "w-2 h-2 rounded-full bg-gold" })
|
|
39761
40104
|
}
|
|
39762
40105
|
) }),
|
|
39763
|
-
/* @__PURE__ */
|
|
39764
|
-
isRecommended && /* @__PURE__ */
|
|
39765
|
-
/* @__PURE__ */
|
|
40106
|
+
/* @__PURE__ */ jsxs112("div", { className: "flex-1 min-w-0", children: [
|
|
40107
|
+
isRecommended && /* @__PURE__ */ jsx150("p", { className: "text-xs font-semibold text-gold mb-1", children: "Recommended" }),
|
|
40108
|
+
/* @__PURE__ */ jsx150("p", { className: "text-sm text-cardText", children: label })
|
|
39766
40109
|
] })
|
|
39767
40110
|
] })
|
|
39768
40111
|
},
|
|
39769
40112
|
key
|
|
39770
40113
|
);
|
|
39771
40114
|
}) }),
|
|
39772
|
-
/* @__PURE__ */
|
|
40115
|
+
/* @__PURE__ */ jsx150("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx150(
|
|
39773
40116
|
"button",
|
|
39774
40117
|
{
|
|
39775
40118
|
onClick: handleProceed,
|
|
@@ -39790,8 +40133,8 @@ A: ${label}`);
|
|
|
39790
40133
|
MCQCard.displayName = "MCQCard";
|
|
39791
40134
|
|
|
39792
40135
|
// src/molecules/creator-discovery/PlatformIconGroup/PlatformIconGroup.tsx
|
|
39793
|
-
import { jsx as
|
|
39794
|
-
var TikTokIcon = ({ className }) => /* @__PURE__ */
|
|
40136
|
+
import { jsx as jsx151 } from "react/jsx-runtime";
|
|
40137
|
+
var TikTokIcon = ({ className }) => /* @__PURE__ */ jsx151(Video, { className });
|
|
39795
40138
|
var PlatformIconGroup = ({
|
|
39796
40139
|
platforms,
|
|
39797
40140
|
className
|
|
@@ -39824,10 +40167,10 @@ var PlatformIconGroup = ({
|
|
|
39824
40167
|
return "text-gray-500 bg-gray-50 border-gray-100";
|
|
39825
40168
|
}
|
|
39826
40169
|
};
|
|
39827
|
-
return /* @__PURE__ */
|
|
40170
|
+
return /* @__PURE__ */ jsx151("div", { className: cn("flex gap-2", className), children: platforms.map((p, i) => {
|
|
39828
40171
|
const Icon3 = getIcon(p.platform);
|
|
39829
40172
|
if (!Icon3) return null;
|
|
39830
|
-
return /* @__PURE__ */
|
|
40173
|
+
return /* @__PURE__ */ jsx151(
|
|
39831
40174
|
"a",
|
|
39832
40175
|
{
|
|
39833
40176
|
href: p.url || "#",
|
|
@@ -39838,7 +40181,7 @@ var PlatformIconGroup = ({
|
|
|
39838
40181
|
"p-1.5 rounded-lg border transition-colors flex items-center justify-center",
|
|
39839
40182
|
getColors(p.platform)
|
|
39840
40183
|
),
|
|
39841
|
-
children: /* @__PURE__ */
|
|
40184
|
+
children: /* @__PURE__ */ jsx151(Icon3, { className: "w-4 h-4" })
|
|
39842
40185
|
},
|
|
39843
40186
|
i
|
|
39844
40187
|
);
|
|
@@ -39846,7 +40189,7 @@ var PlatformIconGroup = ({
|
|
|
39846
40189
|
};
|
|
39847
40190
|
|
|
39848
40191
|
// src/molecules/creator-discovery/CreatorProfileSummary/CreatorProfileSummary.tsx
|
|
39849
|
-
import { jsx as
|
|
40192
|
+
import { jsx as jsx152, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
39850
40193
|
var CreatorProfileSummary = ({
|
|
39851
40194
|
avatarSrc,
|
|
39852
40195
|
name,
|
|
@@ -39854,7 +40197,7 @@ var CreatorProfileSummary = ({
|
|
|
39854
40197
|
engagementRate,
|
|
39855
40198
|
className
|
|
39856
40199
|
}) => {
|
|
39857
|
-
return /* @__PURE__ */
|
|
40200
|
+
return /* @__PURE__ */ jsxs113(
|
|
39858
40201
|
"div",
|
|
39859
40202
|
{
|
|
39860
40203
|
className: cn(
|
|
@@ -39862,7 +40205,7 @@ var CreatorProfileSummary = ({
|
|
|
39862
40205
|
className
|
|
39863
40206
|
),
|
|
39864
40207
|
children: [
|
|
39865
|
-
/* @__PURE__ */
|
|
40208
|
+
/* @__PURE__ */ jsx152(
|
|
39866
40209
|
AvatarAtom,
|
|
39867
40210
|
{
|
|
39868
40211
|
id: `avatar-${name}`,
|
|
@@ -39872,8 +40215,8 @@ var CreatorProfileSummary = ({
|
|
|
39872
40215
|
className: "w-12 h-12 ring-2 ring-purple-100"
|
|
39873
40216
|
}
|
|
39874
40217
|
),
|
|
39875
|
-
/* @__PURE__ */
|
|
39876
|
-
/* @__PURE__ */
|
|
40218
|
+
/* @__PURE__ */ jsxs113("div", { className: "flex flex-col flex-1", children: [
|
|
40219
|
+
/* @__PURE__ */ jsx152(
|
|
39877
40220
|
TextAtom,
|
|
39878
40221
|
{
|
|
39879
40222
|
id: `name-${name}`,
|
|
@@ -39883,14 +40226,14 @@ var CreatorProfileSummary = ({
|
|
|
39883
40226
|
className: "text-gray-900 leading-tight"
|
|
39884
40227
|
}
|
|
39885
40228
|
),
|
|
39886
|
-
/* @__PURE__ */
|
|
39887
|
-
followerCount && /* @__PURE__ */
|
|
39888
|
-
/* @__PURE__ */
|
|
39889
|
-
/* @__PURE__ */
|
|
40229
|
+
/* @__PURE__ */ jsxs113("div", { className: "flex gap-3 mt-1", children: [
|
|
40230
|
+
followerCount && /* @__PURE__ */ jsxs113("div", { className: "flex flex-col", children: [
|
|
40231
|
+
/* @__PURE__ */ jsx152("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Followers" }),
|
|
40232
|
+
/* @__PURE__ */ jsx152("span", { className: "text-xs font-semibold text-purple-700", children: followerCount })
|
|
39890
40233
|
] }),
|
|
39891
|
-
engagementRate && /* @__PURE__ */
|
|
39892
|
-
/* @__PURE__ */
|
|
39893
|
-
/* @__PURE__ */
|
|
40234
|
+
engagementRate && /* @__PURE__ */ jsxs113("div", { className: "flex flex-col border-l border-purple-100 pl-3", children: [
|
|
40235
|
+
/* @__PURE__ */ jsx152("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Engagement" }),
|
|
40236
|
+
/* @__PURE__ */ jsx152("span", { className: "text-xs font-semibold text-indigo-600", children: engagementRate })
|
|
39894
40237
|
] })
|
|
39895
40238
|
] })
|
|
39896
40239
|
] })
|
|
@@ -39900,13 +40243,13 @@ var CreatorProfileSummary = ({
|
|
|
39900
40243
|
};
|
|
39901
40244
|
|
|
39902
40245
|
// src/molecules/creator-discovery/AudienceMetricCard/AudienceMetricCard.tsx
|
|
39903
|
-
import { jsx as
|
|
40246
|
+
import { jsx as jsx153, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
39904
40247
|
var AudienceMetricCard = ({
|
|
39905
40248
|
title,
|
|
39906
40249
|
metrics,
|
|
39907
40250
|
className
|
|
39908
40251
|
}) => {
|
|
39909
|
-
return /* @__PURE__ */
|
|
40252
|
+
return /* @__PURE__ */ jsxs114(
|
|
39910
40253
|
Card,
|
|
39911
40254
|
{
|
|
39912
40255
|
className: cn(
|
|
@@ -39914,13 +40257,13 @@ var AudienceMetricCard = ({
|
|
|
39914
40257
|
className
|
|
39915
40258
|
),
|
|
39916
40259
|
children: [
|
|
39917
|
-
/* @__PURE__ */
|
|
39918
|
-
/* @__PURE__ */
|
|
39919
|
-
/* @__PURE__ */
|
|
39920
|
-
/* @__PURE__ */
|
|
39921
|
-
/* @__PURE__ */
|
|
40260
|
+
/* @__PURE__ */ jsx153(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx153(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
40261
|
+
/* @__PURE__ */ jsx153(CardContent, { className: "space-y-4", children: metrics.map((metric, i) => /* @__PURE__ */ jsxs114("div", { className: "space-y-1.5", children: [
|
|
40262
|
+
/* @__PURE__ */ jsxs114("div", { className: "flex justify-between items-center text-sm", children: [
|
|
40263
|
+
/* @__PURE__ */ jsx153("span", { className: "font-medium text-gray-700", children: metric.label }),
|
|
40264
|
+
/* @__PURE__ */ jsx153("span", { className: "font-bold text-gray-900", children: metric.value })
|
|
39922
40265
|
] }),
|
|
39923
|
-
metric.percentage !== void 0 && /* @__PURE__ */
|
|
40266
|
+
metric.percentage !== void 0 && /* @__PURE__ */ jsx153(
|
|
39924
40267
|
ProgressAtom,
|
|
39925
40268
|
{
|
|
39926
40269
|
id: `progress-${i}`,
|
|
@@ -39937,8 +40280,8 @@ var AudienceMetricCard = ({
|
|
|
39937
40280
|
};
|
|
39938
40281
|
|
|
39939
40282
|
// src/molecules/creator-discovery/CreatorGridCard/CreatorGridCard.tsx
|
|
39940
|
-
import { jsx as
|
|
39941
|
-
var TikTokIcon2 = ({ className }) => /* @__PURE__ */
|
|
40283
|
+
import { jsx as jsx154, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
40284
|
+
var TikTokIcon2 = ({ className }) => /* @__PURE__ */ jsx154(Video, { className });
|
|
39942
40285
|
var CreatorGridCard = ({
|
|
39943
40286
|
bannerSrc,
|
|
39944
40287
|
avatarSrc,
|
|
@@ -39966,7 +40309,7 @@ var CreatorGridCard = ({
|
|
|
39966
40309
|
const safePlatforms = Array.isArray(platforms) ? platforms : [];
|
|
39967
40310
|
const safeMetrics = Array.isArray(metrics) ? metrics : [];
|
|
39968
40311
|
const displayName = typeof name === "string" ? name : String(name || "");
|
|
39969
|
-
return /* @__PURE__ */
|
|
40312
|
+
return /* @__PURE__ */ jsxs115(
|
|
39970
40313
|
Card,
|
|
39971
40314
|
{
|
|
39972
40315
|
className: cn(
|
|
@@ -39974,43 +40317,43 @@ var CreatorGridCard = ({
|
|
|
39974
40317
|
className
|
|
39975
40318
|
),
|
|
39976
40319
|
children: [
|
|
39977
|
-
/* @__PURE__ */
|
|
39978
|
-
bannerSrc ? /* @__PURE__ */
|
|
40320
|
+
/* @__PURE__ */ jsxs115("div", { className: "relative h-32 w-full overflow-hidden", children: [
|
|
40321
|
+
bannerSrc ? /* @__PURE__ */ jsx154(
|
|
39979
40322
|
"img",
|
|
39980
40323
|
{
|
|
39981
40324
|
src: bannerSrc,
|
|
39982
40325
|
alt: displayName,
|
|
39983
40326
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
39984
40327
|
}
|
|
39985
|
-
) : /* @__PURE__ */
|
|
39986
|
-
/* @__PURE__ */
|
|
40328
|
+
) : /* @__PURE__ */ jsx154("div", { className: "h-full w-full bg-gradient-to-br from-purple-500 to-indigo-600" }),
|
|
40329
|
+
/* @__PURE__ */ jsx154("div", { className: "absolute inset-x-0 bottom-0 h-1/2 bg-gradient-to-t from-black/20 to-transparent" })
|
|
39987
40330
|
] }),
|
|
39988
|
-
/* @__PURE__ */
|
|
39989
|
-
/* @__PURE__ */
|
|
39990
|
-
/* @__PURE__ */
|
|
39991
|
-
/* @__PURE__ */
|
|
40331
|
+
/* @__PURE__ */ jsxs115(CardContent, { className: "relative pt-0 px-5 pb-6", children: [
|
|
40332
|
+
/* @__PURE__ */ jsx154("div", { className: "absolute -top-10 left-5", children: /* @__PURE__ */ jsxs115(Avatar, { className: "h-20 w-20 border-4 border-[var(--card-background)] shadow-lg ring-2 ring-purple-100/20", children: [
|
|
40333
|
+
/* @__PURE__ */ jsx154(AvatarImage, { src: avatarSrc, alt: displayName }),
|
|
40334
|
+
/* @__PURE__ */ jsx154(AvatarFallback, { className: "bg-purple-500/10 text-purple-500 font-bold text-xl", children: displayName.charAt(0) || "?" })
|
|
39992
40335
|
] }) }),
|
|
39993
|
-
/* @__PURE__ */
|
|
39994
|
-
/* @__PURE__ */
|
|
39995
|
-
/* @__PURE__ */
|
|
40336
|
+
/* @__PURE__ */ jsxs115("div", { className: "mt-12 flex flex-col gap-1", children: [
|
|
40337
|
+
/* @__PURE__ */ jsx154("h3", { className: "text-xl font-bold text-[var(--foreground)] truncate", children: displayName }),
|
|
40338
|
+
/* @__PURE__ */ jsxs115("p", { className: "text-sm text-[var(--foreground)]/60 font-medium", children: [
|
|
39996
40339
|
"@",
|
|
39997
40340
|
handle
|
|
39998
40341
|
] })
|
|
39999
40342
|
] }),
|
|
40000
|
-
/* @__PURE__ */
|
|
40343
|
+
/* @__PURE__ */ jsx154("div", { className: "mt-4 flex gap-2", children: safePlatforms.map((p, i) => {
|
|
40001
40344
|
const Icon3 = getIcon(p);
|
|
40002
|
-
return Icon3 ? /* @__PURE__ */
|
|
40345
|
+
return Icon3 ? /* @__PURE__ */ jsx154(
|
|
40003
40346
|
"div",
|
|
40004
40347
|
{
|
|
40005
40348
|
className: "p-1.5 rounded-lg bg-[var(--foreground)]/5 text-[var(--foreground)]/60 hover:text-purple-500 hover:bg-purple-500/10 transition-colors",
|
|
40006
|
-
children: /* @__PURE__ */
|
|
40349
|
+
children: /* @__PURE__ */ jsx154(Icon3, { className: "h-4 w-4" })
|
|
40007
40350
|
},
|
|
40008
40351
|
typeof p === "string" ? p : i
|
|
40009
40352
|
) : null;
|
|
40010
40353
|
}) }),
|
|
40011
|
-
/* @__PURE__ */
|
|
40012
|
-
/* @__PURE__ */
|
|
40013
|
-
/* @__PURE__ */
|
|
40354
|
+
/* @__PURE__ */ jsx154("div", { className: "mt-6 grid grid-cols-2 gap-4 border-t border-[var(--border-color)] pt-4", children: safeMetrics.map((m, i) => /* @__PURE__ */ jsxs115("div", { className: "flex flex-col", children: [
|
|
40355
|
+
/* @__PURE__ */ jsx154("span", { className: "text-[10px] font-bold uppercase tracking-wider text-[var(--foreground)]/40", children: m.label }),
|
|
40356
|
+
/* @__PURE__ */ jsx154("span", { className: "text-sm font-bold text-[var(--primary-color)]", children: m.value })
|
|
40014
40357
|
] }, i)) })
|
|
40015
40358
|
] })
|
|
40016
40359
|
]
|
|
@@ -40019,15 +40362,15 @@ var CreatorGridCard = ({
|
|
|
40019
40362
|
};
|
|
40020
40363
|
|
|
40021
40364
|
// src/molecules/creator-discovery/BrandAffinityGroup/BrandAffinityGroup.tsx
|
|
40022
|
-
import { jsx as
|
|
40365
|
+
import { jsx as jsx155, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
40023
40366
|
var BrandAffinityGroup = ({
|
|
40024
40367
|
brands,
|
|
40025
40368
|
className
|
|
40026
40369
|
}) => {
|
|
40027
|
-
return /* @__PURE__ */
|
|
40028
|
-
/* @__PURE__ */
|
|
40029
|
-
/* @__PURE__ */
|
|
40030
|
-
/* @__PURE__ */
|
|
40370
|
+
return /* @__PURE__ */ jsxs116("div", { className: cn("flex flex-col gap-3", className), children: [
|
|
40371
|
+
/* @__PURE__ */ jsx155("h5", { className: "text-[10px] font-bold uppercase tracking-widest text-muted-foreground", children: "Recent Collaborations" }),
|
|
40372
|
+
/* @__PURE__ */ jsx155("div", { className: "flex flex-wrap gap-4 items-center", children: brands.map((brand, i) => /* @__PURE__ */ jsxs116("div", { className: "group relative", children: [
|
|
40373
|
+
/* @__PURE__ */ jsx155("div", { className: "h-10 w-10 overflow-hidden rounded-xl bg-white border border-gray-100 p-1.5 flex items-center justify-center grayscale hover:grayscale-0 transition-all duration-300 hover:scale-110 shadow-sm hover:shadow-md", children: /* @__PURE__ */ jsx155(
|
|
40031
40374
|
"img",
|
|
40032
40375
|
{
|
|
40033
40376
|
src: brand.logoSrc,
|
|
@@ -40035,18 +40378,18 @@ var BrandAffinityGroup = ({
|
|
|
40035
40378
|
className: "max-h-full max-w-full object-contain"
|
|
40036
40379
|
}
|
|
40037
40380
|
) }),
|
|
40038
|
-
/* @__PURE__ */
|
|
40381
|
+
/* @__PURE__ */ jsx155("div", { className: "absolute -bottom-6 left-1/2 -translate-x-1/2 px-2 py-0.5 bg-gray-900 text-white text-[10px] rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-50 pointer-events-none", children: brand.name })
|
|
40039
40382
|
] }, i)) })
|
|
40040
40383
|
] });
|
|
40041
40384
|
};
|
|
40042
40385
|
|
|
40043
40386
|
// src/molecules/creator-discovery/ContentPreviewGallery/ContentPreviewGallery.tsx
|
|
40044
|
-
import { jsx as
|
|
40387
|
+
import { jsx as jsx156, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
40045
40388
|
var ContentPreviewGallery = ({
|
|
40046
40389
|
items,
|
|
40047
40390
|
className
|
|
40048
40391
|
}) => {
|
|
40049
|
-
return /* @__PURE__ */
|
|
40392
|
+
return /* @__PURE__ */ jsx156("div", { className: cn("grid grid-cols-2 gap-2", className), children: items.map((item, i) => /* @__PURE__ */ jsxs117(
|
|
40050
40393
|
"a",
|
|
40051
40394
|
{
|
|
40052
40395
|
href: item.url || "#",
|
|
@@ -40054,7 +40397,7 @@ var ContentPreviewGallery = ({
|
|
|
40054
40397
|
rel: "noopener noreferrer",
|
|
40055
40398
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100",
|
|
40056
40399
|
children: [
|
|
40057
|
-
/* @__PURE__ */
|
|
40400
|
+
/* @__PURE__ */ jsx156(
|
|
40058
40401
|
"img",
|
|
40059
40402
|
{
|
|
40060
40403
|
src: item.thumbnail,
|
|
@@ -40062,8 +40405,8 @@ var ContentPreviewGallery = ({
|
|
|
40062
40405
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40063
40406
|
}
|
|
40064
40407
|
),
|
|
40065
|
-
item.type === "video" && /* @__PURE__ */
|
|
40066
|
-
/* @__PURE__ */
|
|
40408
|
+
item.type === "video" && /* @__PURE__ */ jsx156("div", { className: "absolute inset-0 flex items-center justify-center bg-black/10 group-hover:bg-black/20 transition-colors", children: /* @__PURE__ */ jsx156("div", { className: "rounded-full bg-white/30 backdrop-blur-md p-3 text-white ring-1 ring-white/50", children: /* @__PURE__ */ jsx156(Play, { className: "h-6 w-6 fill-white" }) }) }),
|
|
40409
|
+
/* @__PURE__ */ jsx156("div", { className: "absolute inset-0 ring-1 ring-inset ring-black/10 rounded-2xl" })
|
|
40067
40410
|
]
|
|
40068
40411
|
},
|
|
40069
40412
|
i
|
|
@@ -40071,10 +40414,10 @@ var ContentPreviewGallery = ({
|
|
|
40071
40414
|
};
|
|
40072
40415
|
|
|
40073
40416
|
// src/molecules/creator-discovery/AudienceDemographicsCard/AudienceDemographicsCard.tsx
|
|
40074
|
-
import { jsx as
|
|
40417
|
+
import { jsx as jsx157, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
40075
40418
|
var AudienceDemographicsCard = ({ title, data, config, demographicType, className }) => {
|
|
40076
40419
|
const chartType = demographicType === "location" ? "bar" : "pie";
|
|
40077
|
-
return /* @__PURE__ */
|
|
40420
|
+
return /* @__PURE__ */ jsxs118(
|
|
40078
40421
|
Card,
|
|
40079
40422
|
{
|
|
40080
40423
|
className: cn(
|
|
@@ -40082,8 +40425,8 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
40082
40425
|
className
|
|
40083
40426
|
),
|
|
40084
40427
|
children: [
|
|
40085
|
-
/* @__PURE__ */
|
|
40086
|
-
/* @__PURE__ */
|
|
40428
|
+
/* @__PURE__ */ jsx157(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx157(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
40429
|
+
/* @__PURE__ */ jsx157(CardContent, { children: /* @__PURE__ */ jsx157("div", { className: "h-[250px] w-full", children: /* @__PURE__ */ jsx157(
|
|
40087
40430
|
ChartAtom,
|
|
40088
40431
|
{
|
|
40089
40432
|
type: "chart",
|
|
@@ -40102,7 +40445,7 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
40102
40445
|
};
|
|
40103
40446
|
|
|
40104
40447
|
// src/molecules/creator-discovery/GrowthChartCard/GrowthChartCard.tsx
|
|
40105
|
-
import { jsx as
|
|
40448
|
+
import { jsx as jsx158, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
40106
40449
|
var GrowthChartCard = ({
|
|
40107
40450
|
title,
|
|
40108
40451
|
data,
|
|
@@ -40111,7 +40454,7 @@ var GrowthChartCard = ({
|
|
|
40111
40454
|
period,
|
|
40112
40455
|
className
|
|
40113
40456
|
}) => {
|
|
40114
|
-
return /* @__PURE__ */
|
|
40457
|
+
return /* @__PURE__ */ jsxs119(
|
|
40115
40458
|
Card,
|
|
40116
40459
|
{
|
|
40117
40460
|
className: cn(
|
|
@@ -40119,15 +40462,15 @@ var GrowthChartCard = ({
|
|
|
40119
40462
|
className
|
|
40120
40463
|
),
|
|
40121
40464
|
children: [
|
|
40122
|
-
/* @__PURE__ */
|
|
40123
|
-
/* @__PURE__ */
|
|
40124
|
-
/* @__PURE__ */
|
|
40125
|
-
/* @__PURE__ */
|
|
40465
|
+
/* @__PURE__ */ jsxs119(CardHeader, { className: "flex flex-row items-center justify-between pb-2 space-y-0", children: [
|
|
40466
|
+
/* @__PURE__ */ jsxs119("div", { children: [
|
|
40467
|
+
/* @__PURE__ */ jsx158(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }),
|
|
40468
|
+
/* @__PURE__ */ jsx158("p", { className: "text-xs text-muted-foreground", children: period })
|
|
40126
40469
|
] }),
|
|
40127
|
-
/* @__PURE__ */
|
|
40470
|
+
/* @__PURE__ */ jsx158("div", { className: "bg-green-50 p-2 rounded-xl", children: /* @__PURE__ */ jsx158(TrendingUp, { className: "w-4 h-4 text-green-600" }) })
|
|
40128
40471
|
] }),
|
|
40129
|
-
/* @__PURE__ */
|
|
40130
|
-
/* @__PURE__ */
|
|
40472
|
+
/* @__PURE__ */ jsxs119(CardContent, { children: [
|
|
40473
|
+
/* @__PURE__ */ jsx158("div", { className: "h-[200px] w-full mt-4", children: /* @__PURE__ */ jsx158(
|
|
40131
40474
|
ChartAtom,
|
|
40132
40475
|
{
|
|
40133
40476
|
type: "chart",
|
|
@@ -40140,9 +40483,9 @@ var GrowthChartCard = ({
|
|
|
40140
40483
|
showLegend: false
|
|
40141
40484
|
}
|
|
40142
40485
|
) }),
|
|
40143
|
-
/* @__PURE__ */
|
|
40144
|
-
/* @__PURE__ */
|
|
40145
|
-
/* @__PURE__ */
|
|
40486
|
+
/* @__PURE__ */ jsxs119("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
40487
|
+
/* @__PURE__ */ jsx158("span", { className: "text-sm font-medium text-gray-500", children: metric }),
|
|
40488
|
+
/* @__PURE__ */ jsx158("span", { className: "text-sm font-bold text-purple-600", children: "+12.5%" })
|
|
40146
40489
|
] })
|
|
40147
40490
|
] })
|
|
40148
40491
|
]
|
|
@@ -40151,24 +40494,24 @@ var GrowthChartCard = ({
|
|
|
40151
40494
|
};
|
|
40152
40495
|
|
|
40153
40496
|
// src/molecules/creator-discovery/TopPostsGrid/TopPostsGrid.tsx
|
|
40154
|
-
import { jsx as
|
|
40497
|
+
import { jsx as jsx159, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
40155
40498
|
var TopPostsGrid = ({
|
|
40156
40499
|
posts,
|
|
40157
40500
|
className
|
|
40158
40501
|
}) => {
|
|
40159
|
-
return /* @__PURE__ */
|
|
40502
|
+
return /* @__PURE__ */ jsx159(
|
|
40160
40503
|
"div",
|
|
40161
40504
|
{
|
|
40162
40505
|
className: cn(
|
|
40163
40506
|
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
40164
40507
|
className
|
|
40165
40508
|
),
|
|
40166
|
-
children: posts.map((post, i) => /* @__PURE__ */
|
|
40509
|
+
children: posts.map((post, i) => /* @__PURE__ */ jsxs120(
|
|
40167
40510
|
"div",
|
|
40168
40511
|
{
|
|
40169
40512
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100 border border-purple-50",
|
|
40170
40513
|
children: [
|
|
40171
|
-
/* @__PURE__ */
|
|
40514
|
+
/* @__PURE__ */ jsx159(
|
|
40172
40515
|
"img",
|
|
40173
40516
|
{
|
|
40174
40517
|
src: post.thumbnail,
|
|
@@ -40176,25 +40519,25 @@ var TopPostsGrid = ({
|
|
|
40176
40519
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40177
40520
|
}
|
|
40178
40521
|
),
|
|
40179
|
-
/* @__PURE__ */
|
|
40180
|
-
/* @__PURE__ */
|
|
40181
|
-
/* @__PURE__ */
|
|
40182
|
-
/* @__PURE__ */
|
|
40522
|
+
/* @__PURE__ */ jsxs120("div", { className: "absolute inset-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity p-4 flex flex-col justify-end", children: [
|
|
40523
|
+
/* @__PURE__ */ jsxs120("div", { className: "flex items-center gap-4 text-white text-xs font-bold", children: [
|
|
40524
|
+
/* @__PURE__ */ jsxs120("span", { className: "flex items-center gap-1", children: [
|
|
40525
|
+
/* @__PURE__ */ jsx159(Heart, { className: "w-3 h-3 fill-white" }),
|
|
40183
40526
|
" ",
|
|
40184
40527
|
post.likes
|
|
40185
40528
|
] }),
|
|
40186
|
-
/* @__PURE__ */
|
|
40187
|
-
/* @__PURE__ */
|
|
40529
|
+
/* @__PURE__ */ jsxs120("span", { className: "flex items-center gap-1", children: [
|
|
40530
|
+
/* @__PURE__ */ jsx159(MessageCircle, { className: "w-3 h-3 fill-white" }),
|
|
40188
40531
|
" ",
|
|
40189
40532
|
post.comments
|
|
40190
40533
|
] }),
|
|
40191
|
-
/* @__PURE__ */
|
|
40192
|
-
/* @__PURE__ */
|
|
40534
|
+
/* @__PURE__ */ jsxs120("span", { className: "flex items-center gap-1", children: [
|
|
40535
|
+
/* @__PURE__ */ jsx159(ChartColumn, { className: "w-3 h-3" }),
|
|
40193
40536
|
" ",
|
|
40194
40537
|
post.engagement
|
|
40195
40538
|
] })
|
|
40196
40539
|
] }),
|
|
40197
|
-
/* @__PURE__ */
|
|
40540
|
+
/* @__PURE__ */ jsx159("span", { className: "text-[10px] text-gray-300 mt-2", children: post.date })
|
|
40198
40541
|
] })
|
|
40199
40542
|
]
|
|
40200
40543
|
},
|
|
@@ -40205,7 +40548,7 @@ var TopPostsGrid = ({
|
|
|
40205
40548
|
};
|
|
40206
40549
|
|
|
40207
40550
|
// src/molecules/creator-discovery/CreatorActionHeader/CreatorActionHeader.tsx
|
|
40208
|
-
import { jsx as
|
|
40551
|
+
import { jsx as jsx160, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
40209
40552
|
var CreatorActionHeader = ({
|
|
40210
40553
|
bannerSrc,
|
|
40211
40554
|
avatarSrc,
|
|
@@ -40214,7 +40557,7 @@ var CreatorActionHeader = ({
|
|
|
40214
40557
|
actions,
|
|
40215
40558
|
className
|
|
40216
40559
|
}) => {
|
|
40217
|
-
return /* @__PURE__ */
|
|
40560
|
+
return /* @__PURE__ */ jsxs121(
|
|
40218
40561
|
"div",
|
|
40219
40562
|
{
|
|
40220
40563
|
className: cn(
|
|
@@ -40222,8 +40565,8 @@ var CreatorActionHeader = ({
|
|
|
40222
40565
|
className
|
|
40223
40566
|
),
|
|
40224
40567
|
children: [
|
|
40225
|
-
/* @__PURE__ */
|
|
40226
|
-
bannerSrc && /* @__PURE__ */
|
|
40568
|
+
/* @__PURE__ */ jsxs121("div", { className: "h-48 w-full bg-gradient-to-r from-purple-100 to-indigo-100 relative", children: [
|
|
40569
|
+
bannerSrc && /* @__PURE__ */ jsx160(
|
|
40227
40570
|
"img",
|
|
40228
40571
|
{
|
|
40229
40572
|
src: bannerSrc,
|
|
@@ -40231,23 +40574,23 @@ var CreatorActionHeader = ({
|
|
|
40231
40574
|
alt: "Banner"
|
|
40232
40575
|
}
|
|
40233
40576
|
),
|
|
40234
|
-
/* @__PURE__ */
|
|
40577
|
+
/* @__PURE__ */ jsx160("div", { className: "absolute inset-0 bg-black/5" })
|
|
40235
40578
|
] }),
|
|
40236
|
-
/* @__PURE__ */
|
|
40237
|
-
/* @__PURE__ */
|
|
40238
|
-
/* @__PURE__ */
|
|
40239
|
-
/* @__PURE__ */
|
|
40240
|
-
/* @__PURE__ */
|
|
40579
|
+
/* @__PURE__ */ jsxs121("div", { className: "px-8 pb-8 flex flex-col md:flex-row md:items-end justify-between gap-6 -mt-12 relative z-10", children: [
|
|
40580
|
+
/* @__PURE__ */ jsxs121("div", { className: "flex flex-col md:flex-row items-start md:items-end gap-6", children: [
|
|
40581
|
+
/* @__PURE__ */ jsx160("div", { className: "p-2 bg-white rounded-[32px] shadow-lg", children: /* @__PURE__ */ jsxs121(Avatar, { className: "h-32 w-32 rounded-[24px] border-4 border-white", children: [
|
|
40582
|
+
/* @__PURE__ */ jsx160(AvatarImage, { src: avatarSrc, className: "rounded-[24px]" }),
|
|
40583
|
+
/* @__PURE__ */ jsx160(AvatarFallback, { className: "rounded-[24px] bg-purple-50 text-purple-600 text-3xl font-bold", children: name.charAt(0) })
|
|
40241
40584
|
] }) }),
|
|
40242
|
-
/* @__PURE__ */
|
|
40243
|
-
/* @__PURE__ */
|
|
40244
|
-
/* @__PURE__ */
|
|
40585
|
+
/* @__PURE__ */ jsxs121("div", { className: "mb-2", children: [
|
|
40586
|
+
/* @__PURE__ */ jsx160("h1", { className: "text-3xl font-bold text-gray-900 tracking-tight", children: name }),
|
|
40587
|
+
/* @__PURE__ */ jsxs121("p", { className: "text-purple-600 font-medium tracking-wide", children: [
|
|
40245
40588
|
"@",
|
|
40246
40589
|
handle
|
|
40247
40590
|
] })
|
|
40248
40591
|
] })
|
|
40249
40592
|
] }),
|
|
40250
|
-
/* @__PURE__ */
|
|
40593
|
+
/* @__PURE__ */ jsx160("div", { className: "flex items-center gap-3 mb-2", children: actions.map((action, i) => /* @__PURE__ */ jsx160(
|
|
40251
40594
|
Button,
|
|
40252
40595
|
{
|
|
40253
40596
|
variant: action.variant || "default",
|
|
@@ -40266,9 +40609,9 @@ var CreatorActionHeader = ({
|
|
|
40266
40609
|
};
|
|
40267
40610
|
|
|
40268
40611
|
// src/molecules/creator-discovery/CreatorSearchBox/CreatorSearch.tsx
|
|
40269
|
-
import
|
|
40270
|
-
import { jsx as
|
|
40271
|
-
var CreatorSearch =
|
|
40612
|
+
import React109, { useMemo as useMemo7 } from "react";
|
|
40613
|
+
import { jsx as jsx161, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
40614
|
+
var CreatorSearch = React109.memo(
|
|
40272
40615
|
({
|
|
40273
40616
|
selectionStatus,
|
|
40274
40617
|
isLatestMessage = true,
|
|
@@ -40285,7 +40628,7 @@ var CreatorSearch = React108.memo(
|
|
|
40285
40628
|
...field,
|
|
40286
40629
|
renderDisplay: (val) => {
|
|
40287
40630
|
const platforms = Array.isArray(val) ? val : [val];
|
|
40288
|
-
return /* @__PURE__ */
|
|
40631
|
+
return /* @__PURE__ */ jsx161("div", { className: "flex flex-wrap gap-2", children: platforms.map((p) => /* @__PURE__ */ jsx161(
|
|
40289
40632
|
BadgeAtom,
|
|
40290
40633
|
{
|
|
40291
40634
|
id: `platform-${p}`,
|
|
@@ -40302,13 +40645,13 @@ var CreatorSearch = React108.memo(
|
|
|
40302
40645
|
if (field.key === "geography") {
|
|
40303
40646
|
return {
|
|
40304
40647
|
...field,
|
|
40305
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40648
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx161(CountrySelectDisplay, { value: val })
|
|
40306
40649
|
};
|
|
40307
40650
|
}
|
|
40308
40651
|
if (field.key === "keywordBundles") {
|
|
40309
40652
|
return {
|
|
40310
40653
|
...field,
|
|
40311
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40654
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx161(KeywordBundlesDisplay, { value: val })
|
|
40312
40655
|
};
|
|
40313
40656
|
}
|
|
40314
40657
|
if (field.key === "followerRange") {
|
|
@@ -40316,9 +40659,9 @@ var CreatorSearch = React108.memo(
|
|
|
40316
40659
|
...field,
|
|
40317
40660
|
renderDisplay: (val) => {
|
|
40318
40661
|
if (typeof val === "object" && val !== null) {
|
|
40319
|
-
return /* @__PURE__ */
|
|
40662
|
+
return /* @__PURE__ */ jsx161("span", { className: "text-white font-medium", children: `${val.min?.toLocaleString()} - ${val.max?.toLocaleString()} followers` });
|
|
40320
40663
|
}
|
|
40321
|
-
return /* @__PURE__ */
|
|
40664
|
+
return /* @__PURE__ */ jsxs122("span", { className: "text-white font-medium", children: [
|
|
40322
40665
|
val,
|
|
40323
40666
|
" followers"
|
|
40324
40667
|
] });
|
|
@@ -40328,7 +40671,7 @@ var CreatorSearch = React108.memo(
|
|
|
40328
40671
|
if (field.key === "initialCreators") {
|
|
40329
40672
|
return {
|
|
40330
40673
|
...field,
|
|
40331
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40674
|
+
renderDisplay: (val) => /* @__PURE__ */ jsxs122("span", { className: "text-white font-medium", children: [
|
|
40332
40675
|
val,
|
|
40333
40676
|
" creators"
|
|
40334
40677
|
] })
|
|
@@ -40337,7 +40680,7 @@ var CreatorSearch = React108.memo(
|
|
|
40337
40680
|
return field;
|
|
40338
40681
|
});
|
|
40339
40682
|
}, [providedFields, data]);
|
|
40340
|
-
return /* @__PURE__ */
|
|
40683
|
+
return /* @__PURE__ */ jsx161("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx161(
|
|
40341
40684
|
FormCard,
|
|
40342
40685
|
{
|
|
40343
40686
|
...formCardProps,
|
|
@@ -40346,9 +40689,9 @@ var CreatorSearch = React108.memo(
|
|
|
40346
40689
|
fields,
|
|
40347
40690
|
showTimeline: true,
|
|
40348
40691
|
className: cn("font-noto", className),
|
|
40349
|
-
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */
|
|
40350
|
-
/* @__PURE__ */
|
|
40351
|
-
/* @__PURE__ */
|
|
40692
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ jsxs122("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-[10px] font-semibold py-4 pr-6", children: [
|
|
40693
|
+
/* @__PURE__ */ jsx161(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
40694
|
+
/* @__PURE__ */ jsx161("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
40352
40695
|
] }) : formCardProps.footer
|
|
40353
40696
|
}
|
|
40354
40697
|
) });
|
|
@@ -40357,10 +40700,10 @@ var CreatorSearch = React108.memo(
|
|
|
40357
40700
|
CreatorSearch.displayName = "CreatorSearch";
|
|
40358
40701
|
|
|
40359
40702
|
// src/molecules/creator-discovery/CampaignConceptCard/CampaignConceptCard.tsx
|
|
40360
|
-
import
|
|
40703
|
+
import React110, { useMemo as useMemo8, useState as useState12 } from "react";
|
|
40361
40704
|
import { motion, AnimatePresence } from "framer-motion";
|
|
40362
|
-
import { jsx as
|
|
40363
|
-
var CampaignConceptCard =
|
|
40705
|
+
import { jsx as jsx162, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
40706
|
+
var CampaignConceptCard = React110.memo(
|
|
40364
40707
|
({
|
|
40365
40708
|
index,
|
|
40366
40709
|
isRecommended,
|
|
@@ -40376,7 +40719,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40376
40719
|
onAction,
|
|
40377
40720
|
...formCardProps
|
|
40378
40721
|
}) => {
|
|
40379
|
-
const [internalIsOpen, setInternalIsOpen] =
|
|
40722
|
+
const [internalIsOpen, setInternalIsOpen] = useState12(false);
|
|
40380
40723
|
const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
|
|
40381
40724
|
const handleToggle = () => {
|
|
40382
40725
|
if (onToggle) {
|
|
@@ -40432,39 +40775,39 @@ var CampaignConceptCard = React109.memo(
|
|
|
40432
40775
|
label: "Budget Allocation",
|
|
40433
40776
|
renderDisplay: (val) => {
|
|
40434
40777
|
if (!val)
|
|
40435
|
-
return /* @__PURE__ */
|
|
40778
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40436
40779
|
if (Array.isArray(val)) {
|
|
40437
|
-
return /* @__PURE__ */
|
|
40780
|
+
return /* @__PURE__ */ jsx162("div", { className: "space-y-2", children: val.map((item, idx) => {
|
|
40438
40781
|
const label = item?.label ?? item?.key ?? `Item ${idx + 1}`;
|
|
40439
40782
|
const value = item?.value ?? item;
|
|
40440
|
-
return /* @__PURE__ */
|
|
40441
|
-
/* @__PURE__ */
|
|
40783
|
+
return /* @__PURE__ */ jsxs123("div", { className: "flex items-center gap-2", children: [
|
|
40784
|
+
/* @__PURE__ */ jsxs123("span", { className: "text-muted-foreground font-medium", children: [
|
|
40442
40785
|
idx + 1,
|
|
40443
40786
|
"."
|
|
40444
40787
|
] }),
|
|
40445
|
-
/* @__PURE__ */
|
|
40446
|
-
/* @__PURE__ */
|
|
40447
|
-
/* @__PURE__ */
|
|
40788
|
+
/* @__PURE__ */ jsx162("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md", children: String(label) }),
|
|
40789
|
+
/* @__PURE__ */ jsx162("span", { className: "text-cardText", children: "=" }),
|
|
40790
|
+
/* @__PURE__ */ jsx162("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-1 text-cardText text-sm rounded-md font-grotesk font-medium", children: formatVal(value) })
|
|
40448
40791
|
] }, idx);
|
|
40449
40792
|
}) });
|
|
40450
40793
|
}
|
|
40451
40794
|
if (typeof val === "object") {
|
|
40452
40795
|
const entries = Object.entries(val);
|
|
40453
40796
|
if (entries.length === 0)
|
|
40454
|
-
return /* @__PURE__ */
|
|
40455
|
-
return /* @__PURE__ */
|
|
40456
|
-
/* @__PURE__ */
|
|
40797
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40798
|
+
return /* @__PURE__ */ jsx162("div", { className: "space-y-2", children: entries.map(([k, v], idx) => /* @__PURE__ */ jsxs123("div", { className: "flex items-center gap-2", children: [
|
|
40799
|
+
/* @__PURE__ */ jsxs123("span", { className: "text-muted-foreground font-medium", children: [
|
|
40457
40800
|
idx + 1,
|
|
40458
40801
|
"."
|
|
40459
40802
|
] }),
|
|
40460
|
-
/* @__PURE__ */
|
|
40461
|
-
/* @__PURE__ */
|
|
40462
|
-
/* @__PURE__ */
|
|
40803
|
+
/* @__PURE__ */ jsx162("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md", children: formatKey(k) }),
|
|
40804
|
+
/* @__PURE__ */ jsx162("span", { className: "text-cardText", children: "=" }),
|
|
40805
|
+
/* @__PURE__ */ jsx162("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-1 text-cardText text-sm rounded-md font-grotesk font-medium", children: formatVal(v) })
|
|
40463
40806
|
] }, k)) });
|
|
40464
40807
|
}
|
|
40465
|
-
return /* @__PURE__ */
|
|
40808
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: String(val) });
|
|
40466
40809
|
},
|
|
40467
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40810
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40468
40811
|
Textarea,
|
|
40469
40812
|
{
|
|
40470
40813
|
value: typeof v === "object" ? Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n") : String(v || ""),
|
|
@@ -40489,8 +40832,8 @@ var CampaignConceptCard = React109.memo(
|
|
|
40489
40832
|
return {
|
|
40490
40833
|
...field,
|
|
40491
40834
|
label: "Geography",
|
|
40492
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40493
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40835
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx162(CountrySelectDisplay, { value: v }),
|
|
40836
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(CountrySelectEdit, { value: v, onChange })
|
|
40494
40837
|
};
|
|
40495
40838
|
}
|
|
40496
40839
|
if (field.key === "estimatedCreators" || field.key === "estimated_creators") {
|
|
@@ -40499,11 +40842,11 @@ var CampaignConceptCard = React109.memo(
|
|
|
40499
40842
|
label: "Estimated Creators",
|
|
40500
40843
|
renderDisplay: (val) => {
|
|
40501
40844
|
if (!val)
|
|
40502
|
-
return /* @__PURE__ */
|
|
40845
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40503
40846
|
const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
|
|
40504
|
-
return /* @__PURE__ */
|
|
40847
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: displayValue });
|
|
40505
40848
|
},
|
|
40506
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40849
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40507
40850
|
Input,
|
|
40508
40851
|
{
|
|
40509
40852
|
value: typeof v === "object" ? `${v.min ?? 0}-${v.max ?? 0}` : String(v || ""),
|
|
@@ -40526,8 +40869,8 @@ var CampaignConceptCard = React109.memo(
|
|
|
40526
40869
|
return {
|
|
40527
40870
|
...field,
|
|
40528
40871
|
label: field.label || "Primary KPI",
|
|
40529
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40530
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40872
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: val ? String(val) : "-" }),
|
|
40873
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40531
40874
|
Input,
|
|
40532
40875
|
{
|
|
40533
40876
|
value: String(v || ""),
|
|
@@ -40544,9 +40887,9 @@ var CampaignConceptCard = React109.memo(
|
|
|
40544
40887
|
label: field.label || "Secondary KPIs",
|
|
40545
40888
|
renderDisplay: (val) => {
|
|
40546
40889
|
const display = Array.isArray(val) ? val.map(String).join(", ") : val ? String(val) : "-";
|
|
40547
|
-
return /* @__PURE__ */
|
|
40890
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: display });
|
|
40548
40891
|
},
|
|
40549
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40892
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40550
40893
|
Textarea,
|
|
40551
40894
|
{
|
|
40552
40895
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -40563,15 +40906,15 @@ var CampaignConceptCard = React109.memo(
|
|
|
40563
40906
|
if (field.key === "platforms" || field.key === "target_platforms" || field.key === "targetPlatforms") {
|
|
40564
40907
|
return {
|
|
40565
40908
|
...field,
|
|
40566
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40567
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40909
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx162(PlatformSelectDisplay, { value: v }),
|
|
40910
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(PlatformSelectEdit, { value: v, onChange })
|
|
40568
40911
|
};
|
|
40569
40912
|
}
|
|
40570
40913
|
if (field.key === "description" || field.key === "creator_strategy" || field.key === "creatorStrategy") {
|
|
40571
40914
|
return {
|
|
40572
40915
|
...field,
|
|
40573
40916
|
type: "textarea",
|
|
40574
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40917
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm leading-relaxed", children: val ? String(val) : "-" })
|
|
40575
40918
|
};
|
|
40576
40919
|
}
|
|
40577
40920
|
return {
|
|
@@ -40579,10 +40922,10 @@ var CampaignConceptCard = React109.memo(
|
|
|
40579
40922
|
renderDisplay: (val) => {
|
|
40580
40923
|
if (Array.isArray(val)) {
|
|
40581
40924
|
if (val.length === 0)
|
|
40582
|
-
return /* @__PURE__ */
|
|
40583
|
-
return /* @__PURE__ */
|
|
40925
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40926
|
+
return /* @__PURE__ */ jsx162("div", { className: "flex flex-wrap gap-2 pt-1", children: val.map((item, idx) => {
|
|
40584
40927
|
const label = typeof item === "object" && item !== null ? item.label || item.value || item.name || JSON.stringify(item) : String(item);
|
|
40585
|
-
return /* @__PURE__ */
|
|
40928
|
+
return /* @__PURE__ */ jsx162(
|
|
40586
40929
|
"span",
|
|
40587
40930
|
{
|
|
40588
40931
|
className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md",
|
|
@@ -40593,14 +40936,14 @@ var CampaignConceptCard = React109.memo(
|
|
|
40593
40936
|
}) });
|
|
40594
40937
|
}
|
|
40595
40938
|
if (typeof val === "object" && val !== null) {
|
|
40596
|
-
return /* @__PURE__ */
|
|
40939
|
+
return /* @__PURE__ */ jsx162("div", { className: "text-muted-foreground text-xs font-mono bg-paperBackground p-2 rounded mt-1 overflow-auto max-h-24", children: Object.entries(val).map(([k, v]) => `${k.replace(/_/g, " ")}: ${v}`).join("\n") });
|
|
40597
40940
|
}
|
|
40598
|
-
return /* @__PURE__ */
|
|
40941
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: val !== void 0 && val !== null ? String(val) : "-" });
|
|
40599
40942
|
}
|
|
40600
40943
|
};
|
|
40601
40944
|
});
|
|
40602
40945
|
}, [providedFields, data]);
|
|
40603
|
-
return /* @__PURE__ */
|
|
40946
|
+
return /* @__PURE__ */ jsxs123(
|
|
40604
40947
|
"div",
|
|
40605
40948
|
{
|
|
40606
40949
|
className: cn(
|
|
@@ -40609,31 +40952,31 @@ var CampaignConceptCard = React109.memo(
|
|
|
40609
40952
|
className
|
|
40610
40953
|
),
|
|
40611
40954
|
children: [
|
|
40612
|
-
/* @__PURE__ */
|
|
40955
|
+
/* @__PURE__ */ jsxs123(
|
|
40613
40956
|
"div",
|
|
40614
40957
|
{
|
|
40615
40958
|
className: "px-4 py-2.5 relative flex items-center justify-between cursor-pointer select-none",
|
|
40616
40959
|
onClick: handleToggle,
|
|
40617
40960
|
children: [
|
|
40618
|
-
/* @__PURE__ */
|
|
40619
|
-
/* @__PURE__ */
|
|
40961
|
+
/* @__PURE__ */ jsxs123("div", { className: "flex-1", children: [
|
|
40962
|
+
/* @__PURE__ */ jsxs123("h3", { className: "text-cardText font-semibold text-sm", children: [
|
|
40620
40963
|
"Concept ",
|
|
40621
40964
|
index !== void 0 ? index : "",
|
|
40622
40965
|
" :",
|
|
40623
40966
|
" ",
|
|
40624
40967
|
typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
|
|
40625
40968
|
] }),
|
|
40626
|
-
/* @__PURE__ */
|
|
40627
|
-
isRecommended && /* @__PURE__ */
|
|
40628
|
-
!effectiveIsLatest && selectionStatus && /* @__PURE__ */
|
|
40969
|
+
/* @__PURE__ */ jsxs123("div", { className: "flex flex-wrap gap-2", children: [
|
|
40970
|
+
isRecommended && /* @__PURE__ */ jsx162("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: "Recommended" }),
|
|
40971
|
+
!effectiveIsLatest && selectionStatus && /* @__PURE__ */ jsx162("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
40629
40972
|
] })
|
|
40630
40973
|
] }),
|
|
40631
|
-
/* @__PURE__ */
|
|
40974
|
+
/* @__PURE__ */ jsx162(
|
|
40632
40975
|
"div",
|
|
40633
40976
|
{
|
|
40634
40977
|
className: "flex items-center gap-2 ml-3",
|
|
40635
40978
|
onClick: (e) => e.stopPropagation(),
|
|
40636
|
-
children: /* @__PURE__ */
|
|
40979
|
+
children: /* @__PURE__ */ jsx162(
|
|
40637
40980
|
"button",
|
|
40638
40981
|
{
|
|
40639
40982
|
onClick: (e) => {
|
|
@@ -40644,7 +40987,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40644
40987
|
className: "p-2 bg-cardSurface hover:bg-gray200 text-cardText rounded-lg",
|
|
40645
40988
|
"aria-label": isOpen ? "Collapse" : "Expand",
|
|
40646
40989
|
title: isOpen ? "Collapse" : "Expand",
|
|
40647
|
-
children: /* @__PURE__ */
|
|
40990
|
+
children: /* @__PURE__ */ jsx162(
|
|
40648
40991
|
ChevronDown,
|
|
40649
40992
|
{
|
|
40650
40993
|
className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
|
|
@@ -40657,7 +41000,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40657
41000
|
]
|
|
40658
41001
|
}
|
|
40659
41002
|
),
|
|
40660
|
-
/* @__PURE__ */
|
|
41003
|
+
/* @__PURE__ */ jsx162(AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ jsx162(
|
|
40661
41004
|
motion.div,
|
|
40662
41005
|
{
|
|
40663
41006
|
initial: { height: 0, opacity: 0 },
|
|
@@ -40665,8 +41008,8 @@ var CampaignConceptCard = React109.memo(
|
|
|
40665
41008
|
exit: { height: 0, opacity: 0 },
|
|
40666
41009
|
transition: { duration: 0.2, ease: "easeIn" },
|
|
40667
41010
|
className: "overflow-hidden",
|
|
40668
|
-
children: /* @__PURE__ */
|
|
40669
|
-
/* @__PURE__ */
|
|
41011
|
+
children: /* @__PURE__ */ jsxs123("div", { className: "px-3 py-2 w-full relative", children: [
|
|
41012
|
+
/* @__PURE__ */ jsx162(
|
|
40670
41013
|
"div",
|
|
40671
41014
|
{
|
|
40672
41015
|
className: "absolute left-[48px] top-[70px] bottom-[40px] w-[2px]",
|
|
@@ -40675,7 +41018,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40675
41018
|
}
|
|
40676
41019
|
}
|
|
40677
41020
|
),
|
|
40678
|
-
/* @__PURE__ */
|
|
41021
|
+
/* @__PURE__ */ jsx162(
|
|
40679
41022
|
FormCard,
|
|
40680
41023
|
{
|
|
40681
41024
|
...formCardProps,
|
|
@@ -40689,9 +41032,9 @@ var CampaignConceptCard = React109.memo(
|
|
|
40689
41032
|
hideTitle: true,
|
|
40690
41033
|
hideCopyButton: true,
|
|
40691
41034
|
className: "bg-transparent border-none shadow-none mb-0 p-0",
|
|
40692
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
40693
|
-
/* @__PURE__ */
|
|
40694
|
-
/* @__PURE__ */
|
|
41035
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs123("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
41036
|
+
/* @__PURE__ */ jsx162(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
41037
|
+
/* @__PURE__ */ jsx162("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
40695
41038
|
] }) : formCardProps.footer
|
|
40696
41039
|
}
|
|
40697
41040
|
)
|
|
@@ -40707,14 +41050,14 @@ var CampaignConceptCard = React109.memo(
|
|
|
40707
41050
|
CampaignConceptCard.displayName = "CampaignConceptCard";
|
|
40708
41051
|
|
|
40709
41052
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
40710
|
-
import { useCallback as
|
|
41053
|
+
import { useCallback as useCallback8, useState as useState20, memo } from "react";
|
|
40711
41054
|
|
|
40712
41055
|
// src/molecules/creator-discovery/CreatorWidget/CreatorImageList.tsx
|
|
40713
|
-
import { useEffect as
|
|
40714
|
-
import { Fragment as
|
|
41056
|
+
import { useEffect as useEffect8, useState as useState13 } from "react";
|
|
41057
|
+
import { Fragment as Fragment6, jsx as jsx163, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
40715
41058
|
function useMediaQuery(query) {
|
|
40716
|
-
const [matches, setMatches] =
|
|
40717
|
-
|
|
41059
|
+
const [matches, setMatches] = useState13(false);
|
|
41060
|
+
useEffect8(() => {
|
|
40718
41061
|
const media = window.matchMedia(query);
|
|
40719
41062
|
const listener = () => setMatches(media.matches);
|
|
40720
41063
|
listener();
|
|
@@ -40732,8 +41075,8 @@ function CreatorImage({
|
|
|
40732
41075
|
const processedCount = Math.floor(creatorsPercentage / 100 * totalCreators);
|
|
40733
41076
|
const isProcessed = idx < processedCount;
|
|
40734
41077
|
const isCurrentlyProcessing = idx === processedCount;
|
|
40735
|
-
return /* @__PURE__ */
|
|
40736
|
-
/* @__PURE__ */
|
|
41078
|
+
return /* @__PURE__ */ jsxs124("div", { className: "relative w-8 h-8", children: [
|
|
41079
|
+
/* @__PURE__ */ jsx163(
|
|
40737
41080
|
"img",
|
|
40738
41081
|
{
|
|
40739
41082
|
src: img,
|
|
@@ -40741,9 +41084,9 @@ function CreatorImage({
|
|
|
40741
41084
|
className: `w-8 h-8 rounded-full border-2 ${isProcessed ? "border-green-600" : "border-foreground"} object-cover transition-all duration-300`
|
|
40742
41085
|
}
|
|
40743
41086
|
),
|
|
40744
|
-
!isProcessed && /* @__PURE__ */
|
|
40745
|
-
isCurrentlyProcessing && /* @__PURE__ */
|
|
40746
|
-
/* @__PURE__ */
|
|
41087
|
+
!isProcessed && /* @__PURE__ */ jsx163("div", { className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none" }),
|
|
41088
|
+
isCurrentlyProcessing && /* @__PURE__ */ jsxs124(Fragment6, { children: [
|
|
41089
|
+
/* @__PURE__ */ jsx163(
|
|
40747
41090
|
"div",
|
|
40748
41091
|
{
|
|
40749
41092
|
className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none",
|
|
@@ -40759,7 +41102,7 @@ function CreatorImage({
|
|
|
40759
41102
|
}
|
|
40760
41103
|
}
|
|
40761
41104
|
),
|
|
40762
|
-
/* @__PURE__ */
|
|
41105
|
+
/* @__PURE__ */ jsx163("div", { className: "absolute inset-0 rounded-full border-2 border-[#9CA3AF]/30 pointer-events-none" })
|
|
40763
41106
|
] })
|
|
40764
41107
|
] });
|
|
40765
41108
|
}
|
|
@@ -40772,8 +41115,8 @@ function CreatorImageList({
|
|
|
40772
41115
|
const isMobile = useMediaQuery("(max-width: 640px)");
|
|
40773
41116
|
const isTablet = useMediaQuery("(min-width: 641px) and (max-width: 1024px)");
|
|
40774
41117
|
const visibleCount = isMobile ? 7 : isTablet ? 10 : isAgentOutput ? 6 : 15;
|
|
40775
|
-
return /* @__PURE__ */
|
|
40776
|
-
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */
|
|
41118
|
+
return /* @__PURE__ */ jsxs124("div", { className: "flex flex-nowrap sm:flex-wrap -space-x-2 w-fit", children: [
|
|
41119
|
+
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */ jsx163(
|
|
40777
41120
|
CreatorImage,
|
|
40778
41121
|
{
|
|
40779
41122
|
img,
|
|
@@ -40783,7 +41126,7 @@ function CreatorImageList({
|
|
|
40783
41126
|
},
|
|
40784
41127
|
idx
|
|
40785
41128
|
)),
|
|
40786
|
-
creatorLength > visibleCount && /* @__PURE__ */
|
|
41129
|
+
creatorLength > visibleCount && /* @__PURE__ */ jsxs124(
|
|
40787
41130
|
"div",
|
|
40788
41131
|
{
|
|
40789
41132
|
className: `relative w-8 h-8 rounded-full text-white flex items-center justify-center text-sm font-medium border-2 ${initialCreatorsPercentage === 100 ? "border-green-600 bg-sliderFill" : "border-foreground bg-black/50"}`,
|
|
@@ -40797,28 +41140,28 @@ function CreatorImageList({
|
|
|
40797
41140
|
}
|
|
40798
41141
|
|
|
40799
41142
|
// src/molecules/creator-discovery/CreatorWidget/CreatorProgressBar.tsx
|
|
40800
|
-
import { useEffect as
|
|
41143
|
+
import { useEffect as useEffect9, useState as useState14 } from "react";
|
|
40801
41144
|
import { motion as motion2, AnimatePresence as AnimatePresence2 } from "framer-motion";
|
|
40802
|
-
import { jsx as
|
|
41145
|
+
import { jsx as jsx164, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
40803
41146
|
function truncateName(name, maxLength) {
|
|
40804
41147
|
if (!name || name.length <= maxLength) return name || "";
|
|
40805
41148
|
return name.substring(0, maxLength) + "...";
|
|
40806
41149
|
}
|
|
40807
41150
|
function ProgressBar({ overallPercentage }) {
|
|
40808
|
-
const [showTooltip, setShowTooltip] =
|
|
40809
|
-
|
|
41151
|
+
const [showTooltip, setShowTooltip] = useState14(true);
|
|
41152
|
+
useEffect9(() => {
|
|
40810
41153
|
if (overallPercentage && overallPercentage >= 100) {
|
|
40811
41154
|
setShowTooltip(false);
|
|
40812
41155
|
}
|
|
40813
41156
|
}, [overallPercentage]);
|
|
40814
|
-
return /* @__PURE__ */
|
|
41157
|
+
return /* @__PURE__ */ jsx164("div", { className: "relative w-full", children: /* @__PURE__ */ jsx164("div", { className: "md:w-full dark:bg-purple500 bg-gray-200 rounded-full h-[6px]", children: /* @__PURE__ */ jsx164(
|
|
40815
41158
|
motion2.div,
|
|
40816
41159
|
{
|
|
40817
41160
|
className: "bg-purple100 h-[6px] rounded-full relative",
|
|
40818
41161
|
initial: { width: 0 },
|
|
40819
41162
|
animate: { width: `${overallPercentage}%` },
|
|
40820
41163
|
transition: { duration: 0.5, ease: "easeOut" },
|
|
40821
|
-
children: /* @__PURE__ */
|
|
41164
|
+
children: /* @__PURE__ */ jsx164(AnimatePresence2, { children: showTooltip && /* @__PURE__ */ jsxs125(
|
|
40822
41165
|
motion2.div,
|
|
40823
41166
|
{
|
|
40824
41167
|
initial: { opacity: 0, y: 5 },
|
|
@@ -40828,9 +41171,9 @@ function ProgressBar({ overallPercentage }) {
|
|
|
40828
41171
|
children: [
|
|
40829
41172
|
overallPercentage ? Math.round(overallPercentage) : 0,
|
|
40830
41173
|
"%",
|
|
40831
|
-
/* @__PURE__ */
|
|
40832
|
-
/* @__PURE__ */
|
|
40833
|
-
/* @__PURE__ */
|
|
41174
|
+
/* @__PURE__ */ jsxs125("div", { className: "absolute left-1/2 top-full -translate-x-1/2", children: [
|
|
41175
|
+
/* @__PURE__ */ jsx164("div", { className: "w-0 h-0 border-l-[6px] border-r-[6px] border-t-[6px] border-transparent border-t-gray300" }),
|
|
41176
|
+
/* @__PURE__ */ jsx164("div", { className: "absolute left-1/2 top-[-1px] -translate-x-1/2 w-0 h-0 border-l-[5px] border-r-[5px] border-t-[5px] border-transparent border-t-gray50" })
|
|
40834
41177
|
] })
|
|
40835
41178
|
]
|
|
40836
41179
|
}
|
|
@@ -40842,38 +41185,38 @@ function CreatorProgressBar({
|
|
|
40842
41185
|
statusDetails,
|
|
40843
41186
|
timeRemaining: _timeRemaining
|
|
40844
41187
|
}) {
|
|
40845
|
-
return /* @__PURE__ */
|
|
40846
|
-
/* @__PURE__ */
|
|
40847
|
-
/* @__PURE__ */
|
|
41188
|
+
return /* @__PURE__ */ jsxs125("div", { children: [
|
|
41189
|
+
/* @__PURE__ */ jsx164(ProgressBar, { overallPercentage: statusDetails?.overall_percentage }),
|
|
41190
|
+
/* @__PURE__ */ jsx164("div", { className: "dark:text-gray400 text-gray-500 text-xs mt-2", children: (statusDetails?.overall_percentage ?? 0) < 100 && /* @__PURE__ */ jsx164("span", { children: statusDetails?.thinking_message ? truncateName(statusDetails.thinking_message, 200) : "Processing..." }) })
|
|
40848
41191
|
] });
|
|
40849
41192
|
}
|
|
40850
41193
|
|
|
40851
41194
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidgetSkeleton.tsx
|
|
40852
|
-
import { jsx as
|
|
41195
|
+
import { jsx as jsx165, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
40853
41196
|
function CreatorWidgetSkeleton() {
|
|
40854
|
-
return /* @__PURE__ */
|
|
40855
|
-
/* @__PURE__ */
|
|
40856
|
-
/* @__PURE__ */
|
|
40857
|
-
/* @__PURE__ */
|
|
41197
|
+
return /* @__PURE__ */ jsx165("div", { className: "bg-background dark:bg-gray50 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs126("div", { className: "p-4 md:p-6 space-y-4", children: [
|
|
41198
|
+
/* @__PURE__ */ jsx165("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: /* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
41199
|
+
/* @__PURE__ */ jsx165("div", { className: "w-40 h-6 bg-purple200 rounded-md animate-pulse" }),
|
|
41200
|
+
/* @__PURE__ */ jsx165("div", { className: "w-64 h-7 bg-gray200 dark:bg-gray300 rounded animate-pulse" })
|
|
40858
41201
|
] }) }),
|
|
40859
|
-
/* @__PURE__ */
|
|
40860
|
-
/* @__PURE__ */
|
|
40861
|
-
/* @__PURE__ */
|
|
41202
|
+
/* @__PURE__ */ jsxs126("div", { className: "bg-paperBackground rounded-lg px-3 md:px-4 py-4 md:py-5 flex flex-col md:flex-row md:items-center md:justify-between gap-4 md:gap-0", children: [
|
|
41203
|
+
/* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
41204
|
+
/* @__PURE__ */ jsx165("div", { className: "flex -space-x-2", children: Array.from({ length: 10 }).map((_, idx) => /* @__PURE__ */ jsx165(
|
|
40862
41205
|
"div",
|
|
40863
41206
|
{
|
|
40864
41207
|
className: "w-8 h-8 md:w-10 md:h-10 rounded-full border-2 border-gray300 bg-gray200 animate-pulse"
|
|
40865
41208
|
},
|
|
40866
41209
|
idx
|
|
40867
41210
|
)) }),
|
|
40868
|
-
/* @__PURE__ */
|
|
41211
|
+
/* @__PURE__ */ jsx165("div", { className: "space-y-2", children: /* @__PURE__ */ jsx165("div", { className: "w-full max-w-xs bg-gray200 rounded-full h-2 animate-pulse" }) })
|
|
40869
41212
|
] }),
|
|
40870
|
-
/* @__PURE__ */
|
|
41213
|
+
/* @__PURE__ */ jsx165("div", { className: "px-6 py-2 bg-gray200 rounded-[30px] animate-pulse h-10 w-48" })
|
|
40871
41214
|
] })
|
|
40872
41215
|
] }) });
|
|
40873
41216
|
}
|
|
40874
41217
|
|
|
40875
41218
|
// src/molecules/creator-discovery/CreatorWidget/CreatorCompactView.tsx
|
|
40876
|
-
import { Fragment as
|
|
41219
|
+
import { Fragment as Fragment7, jsx as jsx166, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
40877
41220
|
function CreatorCompactView({
|
|
40878
41221
|
versions,
|
|
40879
41222
|
selectedVersion,
|
|
@@ -40890,16 +41233,16 @@ function CreatorCompactView({
|
|
|
40890
41233
|
const isComplete = versionStatus === "completed" || versionStatus === "complete";
|
|
40891
41234
|
const statusTitle = isComplete ? "Creator Search Complete" : versionStatus === "failed" ? "Creator Search Failed" : "Creator Search Processing";
|
|
40892
41235
|
if (isLoading) {
|
|
40893
|
-
return /* @__PURE__ */
|
|
41236
|
+
return /* @__PURE__ */ jsx166(CreatorWidgetSkeleton, {});
|
|
40894
41237
|
}
|
|
40895
|
-
return /* @__PURE__ */
|
|
40896
|
-
/* @__PURE__ */
|
|
40897
|
-
/* @__PURE__ */
|
|
40898
|
-
/* @__PURE__ */
|
|
40899
|
-
/* @__PURE__ */
|
|
41238
|
+
return /* @__PURE__ */ jsx166("div", { className: "bg-background dark:bg-gray100 rounded-[25px] border border-gray300 overflow-hidden shadow-sm w-full relative", children: /* @__PURE__ */ jsxs127("div", { className: "p-4 md:p-6 space-y-4", children: [
|
|
41239
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: [
|
|
41240
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
41241
|
+
/* @__PURE__ */ jsx166("h4", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] text-xs font-medium text-purpleText", children: "VERIFIED CREATORS LIST" }),
|
|
41242
|
+
/* @__PURE__ */ jsx166("h3", { className: "text-gray900 md:text-lg font-bold", children: statusTitle })
|
|
40900
41243
|
] }),
|
|
40901
|
-
versions.length > 1 && /* @__PURE__ */
|
|
40902
|
-
/* @__PURE__ */
|
|
41244
|
+
versions.length > 1 && /* @__PURE__ */ jsx166("div", { className: "relative md:self-start", children: /* @__PURE__ */ jsxs127(DropdownMenu, { children: [
|
|
41245
|
+
/* @__PURE__ */ jsxs127(
|
|
40903
41246
|
DropdownMenuTrigger,
|
|
40904
41247
|
{
|
|
40905
41248
|
disabled: !isComplete,
|
|
@@ -40907,11 +41250,11 @@ function CreatorCompactView({
|
|
|
40907
41250
|
children: [
|
|
40908
41251
|
"Version ",
|
|
40909
41252
|
selectedVersion ?? "-",
|
|
40910
|
-
/* @__PURE__ */
|
|
41253
|
+
/* @__PURE__ */ jsx166(ChevronDown, { className: "w-3 h-3 md:w-4 md:h-4 transition-transform" })
|
|
40911
41254
|
]
|
|
40912
41255
|
}
|
|
40913
41256
|
),
|
|
40914
|
-
/* @__PURE__ */
|
|
41257
|
+
/* @__PURE__ */ jsx166(DropdownMenuContent, { className: "bg-gray25 border-2 border-gray400 min-w-[120px] max-h-[150px] overflow-y-auto", children: versions.map((v) => /* @__PURE__ */ jsxs127(
|
|
40915
41258
|
DropdownMenuItem,
|
|
40916
41259
|
{
|
|
40917
41260
|
onClick: () => onVersionSelect(v),
|
|
@@ -40925,12 +41268,12 @@ function CreatorCompactView({
|
|
|
40925
41268
|
)) })
|
|
40926
41269
|
] }) })
|
|
40927
41270
|
] }),
|
|
40928
|
-
/* @__PURE__ */
|
|
40929
|
-
/* @__PURE__ */
|
|
40930
|
-
/* @__PURE__ */
|
|
40931
|
-
] }) : /* @__PURE__ */
|
|
40932
|
-
/* @__PURE__ */
|
|
40933
|
-
/* @__PURE__ */
|
|
41271
|
+
/* @__PURE__ */ jsx166("div", { className: "bg-paperBackground rounded-lg px-3 md:px-4 py-4 md:py-5 flex flex-col md:flex-row md:items-center md:justify-between gap-4 md:gap-0", children: versionStatus === "failed" ? /* @__PURE__ */ jsxs127("div", { className: "flex flex-col items-center justify-center w-full py-6 md:py-8 text-center text-red-500", children: [
|
|
41272
|
+
/* @__PURE__ */ jsx166("p", { className: "text-base md:text-lg font-semibold mb-2", children: "Creator Search Failed" }),
|
|
41273
|
+
/* @__PURE__ */ jsx166("p", { className: "text-xs md:text-sm text-gray600 px-2", children: "Something went wrong while fetching creators. Please try again later or regenerate a new version." })
|
|
41274
|
+
] }) : /* @__PURE__ */ jsxs127(Fragment7, { children: [
|
|
41275
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
41276
|
+
/* @__PURE__ */ jsx166(
|
|
40934
41277
|
CreatorImageList,
|
|
40935
41278
|
{
|
|
40936
41279
|
creatorImages,
|
|
@@ -40939,7 +41282,7 @@ function CreatorCompactView({
|
|
|
40939
41282
|
initialCreatorsPercentage: statusDetails?.social_fetch_percentage
|
|
40940
41283
|
}
|
|
40941
41284
|
),
|
|
40942
|
-
/* @__PURE__ */
|
|
41285
|
+
/* @__PURE__ */ jsx166(
|
|
40943
41286
|
CreatorProgressBar,
|
|
40944
41287
|
{
|
|
40945
41288
|
statusDetails,
|
|
@@ -40947,7 +41290,7 @@ function CreatorCompactView({
|
|
|
40947
41290
|
}
|
|
40948
41291
|
)
|
|
40949
41292
|
] }),
|
|
40950
|
-
/* @__PURE__ */
|
|
41293
|
+
/* @__PURE__ */ jsxs127(
|
|
40951
41294
|
"button",
|
|
40952
41295
|
{
|
|
40953
41296
|
className: `px-4 py-2 text-xs md:text-sm rounded-[30px] shadow flex items-center justify-center gap-2 w-full md:w-auto md:flex-shrink-0 whitespace-nowrap ${!isComplete ? "bg-gray300 text-gray500 border-2 border-gray300 cursor-not-allowed" : "bg-purpleLight dark:bg-purple200 text-purpleText2 dark:text-purpleText border-2 border-purple100 cursor-pointer hover:bg-purpleText1 dark:hover:bg-purple100 dark:hover:text-background"}`,
|
|
@@ -40957,7 +41300,7 @@ function CreatorCompactView({
|
|
|
40957
41300
|
"View ",
|
|
40958
41301
|
creatorLength,
|
|
40959
41302
|
" Verified Creators",
|
|
40960
|
-
/* @__PURE__ */
|
|
41303
|
+
/* @__PURE__ */ jsx166(Triangle, { className: "w-3 h-3 md:w-4 md:h-4 rotate-90 font-bold" })
|
|
40961
41304
|
]
|
|
40962
41305
|
}
|
|
40963
41306
|
)
|
|
@@ -40966,7 +41309,7 @@ function CreatorCompactView({
|
|
|
40966
41309
|
}
|
|
40967
41310
|
|
|
40968
41311
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
40969
|
-
import { useState as
|
|
41312
|
+
import { useState as useState18, useEffect as useEffect11, useCallback as useCallback6 } from "react";
|
|
40970
41313
|
import ReactDOM2 from "react-dom";
|
|
40971
41314
|
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "framer-motion";
|
|
40972
41315
|
|
|
@@ -41248,7 +41591,7 @@ var normalizeToIso2 = (input) => {
|
|
|
41248
41591
|
};
|
|
41249
41592
|
|
|
41250
41593
|
// src/molecules/creator-discovery/CreatorWidget/EngagedAudienceDemographics.tsx
|
|
41251
|
-
import { jsx as
|
|
41594
|
+
import { jsx as jsx167, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
41252
41595
|
function EngagedAudienceDemographics({
|
|
41253
41596
|
audienceDemographics
|
|
41254
41597
|
}) {
|
|
@@ -41266,31 +41609,31 @@ function EngagedAudienceDemographics({
|
|
|
41266
41609
|
if (hasAges) columns.push("1fr");
|
|
41267
41610
|
if (hasGenders) columns.push("0.4fr");
|
|
41268
41611
|
const gridTemplate = columns.join(" ");
|
|
41269
|
-
return /* @__PURE__ */
|
|
41270
|
-
/* @__PURE__ */
|
|
41271
|
-
/* @__PURE__ */
|
|
41612
|
+
return /* @__PURE__ */ jsxs128("div", { className: "flex flex-col gap-4", children: [
|
|
41613
|
+
/* @__PURE__ */ jsx167("div", { className: "text-purpleText text-xs", children: /* @__PURE__ */ jsx167("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "ENGAGED AUDIENCE" }) }),
|
|
41614
|
+
/* @__PURE__ */ jsxs128(
|
|
41272
41615
|
"div",
|
|
41273
41616
|
{
|
|
41274
41617
|
className: "flex flex-col sm:col-span-3 sm:grid gap-6",
|
|
41275
41618
|
style: { gridTemplateColumns: gridTemplate },
|
|
41276
41619
|
children: [
|
|
41277
|
-
hasCities && /* @__PURE__ */
|
|
41278
|
-
/* @__PURE__ */
|
|
41279
|
-
/* @__PURE__ */
|
|
41280
|
-
([code, value]) => /* @__PURE__ */
|
|
41620
|
+
hasCities && /* @__PURE__ */ jsxs128("div", { children: [
|
|
41621
|
+
/* @__PURE__ */ jsx167("h4", { className: "text-xs text-gray700 mb-3", children: "Cities" }),
|
|
41622
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.cities || {}).map(
|
|
41623
|
+
([code, value]) => /* @__PURE__ */ jsxs128(
|
|
41281
41624
|
"div",
|
|
41282
41625
|
{
|
|
41283
41626
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41284
41627
|
children: [
|
|
41285
|
-
/* @__PURE__ */
|
|
41286
|
-
/* @__PURE__ */
|
|
41628
|
+
/* @__PURE__ */ jsx167("span", { className: "w-[90px]", children: /* @__PURE__ */ jsx167("div", { className: "flex gap-1 items-center", children: /* @__PURE__ */ jsx167("span", { children: code.split(",")[0] }) }) }),
|
|
41629
|
+
/* @__PURE__ */ jsx167("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx167(
|
|
41287
41630
|
"div",
|
|
41288
41631
|
{
|
|
41289
41632
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41290
41633
|
style: { width: `${value}%` }
|
|
41291
41634
|
}
|
|
41292
41635
|
) }),
|
|
41293
|
-
/* @__PURE__ */
|
|
41636
|
+
/* @__PURE__ */ jsxs128("span", { className: "w-10 text-right font-medium", children: [
|
|
41294
41637
|
value,
|
|
41295
41638
|
"%"
|
|
41296
41639
|
] })
|
|
@@ -41300,29 +41643,29 @@ function EngagedAudienceDemographics({
|
|
|
41300
41643
|
)
|
|
41301
41644
|
) })
|
|
41302
41645
|
] }),
|
|
41303
|
-
hasCountries && /* @__PURE__ */
|
|
41304
|
-
/* @__PURE__ */
|
|
41305
|
-
/* @__PURE__ */
|
|
41646
|
+
hasCountries && /* @__PURE__ */ jsxs128("div", { children: [
|
|
41647
|
+
/* @__PURE__ */ jsx167("h4", { className: "text-xs text-gray700 mb-3", children: "Countries" }),
|
|
41648
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.countries || {}).map(
|
|
41306
41649
|
([code, value]) => {
|
|
41307
41650
|
const iso2 = normalizeToIso2(code);
|
|
41308
41651
|
const meta = codeToMeta[iso2];
|
|
41309
|
-
return /* @__PURE__ */
|
|
41652
|
+
return /* @__PURE__ */ jsxs128(
|
|
41310
41653
|
"div",
|
|
41311
41654
|
{
|
|
41312
41655
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41313
41656
|
children: [
|
|
41314
|
-
/* @__PURE__ */
|
|
41315
|
-
/* @__PURE__ */
|
|
41316
|
-
/* @__PURE__ */
|
|
41657
|
+
/* @__PURE__ */ jsx167("span", { className: "w-10", children: /* @__PURE__ */ jsxs128("div", { className: "flex gap-1 items-center", children: [
|
|
41658
|
+
/* @__PURE__ */ jsx167("span", { className: "text-base", children: meta?.flag }),
|
|
41659
|
+
/* @__PURE__ */ jsx167("span", { children: code })
|
|
41317
41660
|
] }) }),
|
|
41318
|
-
/* @__PURE__ */
|
|
41661
|
+
/* @__PURE__ */ jsx167("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx167(
|
|
41319
41662
|
"div",
|
|
41320
41663
|
{
|
|
41321
41664
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41322
41665
|
style: { width: `${value}%` }
|
|
41323
41666
|
}
|
|
41324
41667
|
) }),
|
|
41325
|
-
/* @__PURE__ */
|
|
41668
|
+
/* @__PURE__ */ jsxs128("span", { className: "w-10 text-right font-medium", children: [
|
|
41326
41669
|
value,
|
|
41327
41670
|
"%"
|
|
41328
41671
|
] })
|
|
@@ -41333,23 +41676,23 @@ function EngagedAudienceDemographics({
|
|
|
41333
41676
|
}
|
|
41334
41677
|
) })
|
|
41335
41678
|
] }),
|
|
41336
|
-
hasAges && /* @__PURE__ */
|
|
41337
|
-
/* @__PURE__ */
|
|
41338
|
-
/* @__PURE__ */
|
|
41339
|
-
([ageRange, value]) => /* @__PURE__ */
|
|
41679
|
+
hasAges && /* @__PURE__ */ jsxs128("div", { children: [
|
|
41680
|
+
/* @__PURE__ */ jsx167("h4", { className: "text-xs text-gray700 mb-3", children: "Ages" }),
|
|
41681
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.ages || {}).map(
|
|
41682
|
+
([ageRange, value]) => /* @__PURE__ */ jsxs128(
|
|
41340
41683
|
"div",
|
|
41341
41684
|
{
|
|
41342
41685
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41343
41686
|
children: [
|
|
41344
|
-
/* @__PURE__ */
|
|
41345
|
-
/* @__PURE__ */
|
|
41687
|
+
/* @__PURE__ */ jsx167("span", { className: "w-12", children: ageRange }),
|
|
41688
|
+
/* @__PURE__ */ jsx167("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx167(
|
|
41346
41689
|
"div",
|
|
41347
41690
|
{
|
|
41348
41691
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41349
41692
|
style: { width: `${value}%` }
|
|
41350
41693
|
}
|
|
41351
41694
|
) }),
|
|
41352
|
-
/* @__PURE__ */
|
|
41695
|
+
/* @__PURE__ */ jsxs128("span", { className: "w-10 text-right font-medium", children: [
|
|
41353
41696
|
value,
|
|
41354
41697
|
"%"
|
|
41355
41698
|
] })
|
|
@@ -41359,20 +41702,20 @@ function EngagedAudienceDemographics({
|
|
|
41359
41702
|
)
|
|
41360
41703
|
) })
|
|
41361
41704
|
] }),
|
|
41362
|
-
hasGenders && /* @__PURE__ */
|
|
41363
|
-
([gender, value]) => /* @__PURE__ */
|
|
41705
|
+
hasGenders && /* @__PURE__ */ jsx167("div", { className: "flex flex-col justify-center", children: /* @__PURE__ */ jsx167("div", { className: "flex sm:flex-col gap-3", children: Object.entries(audienceDemographics?.genders || {}).map(
|
|
41706
|
+
([gender, value]) => /* @__PURE__ */ jsxs128(
|
|
41364
41707
|
"div",
|
|
41365
41708
|
{
|
|
41366
41709
|
className: "flex flex-col justify-center text-sm",
|
|
41367
41710
|
children: [
|
|
41368
|
-
/* @__PURE__ */
|
|
41369
|
-
gender === "female" ? /* @__PURE__ */
|
|
41370
|
-
/* @__PURE__ */
|
|
41711
|
+
/* @__PURE__ */ jsxs128("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
41712
|
+
gender === "female" ? /* @__PURE__ */ jsx167(Venus, { className: "text-red-500", strokeWidth: 3 }) : /* @__PURE__ */ jsx167(Mars, { className: "text-blue-500", strokeWidth: 3 }),
|
|
41713
|
+
/* @__PURE__ */ jsxs128("span", { className: "capitalize text-gray800 text-xl", children: [
|
|
41371
41714
|
value,
|
|
41372
41715
|
"%"
|
|
41373
41716
|
] })
|
|
41374
41717
|
] }),
|
|
41375
|
-
/* @__PURE__ */
|
|
41718
|
+
/* @__PURE__ */ jsx167("span", { className: "text-lg text-gray700", children: gender.charAt(0).toUpperCase() + gender.slice(1) })
|
|
41376
41719
|
]
|
|
41377
41720
|
},
|
|
41378
41721
|
gender
|
|
@@ -41385,40 +41728,40 @@ function EngagedAudienceDemographics({
|
|
|
41385
41728
|
}
|
|
41386
41729
|
|
|
41387
41730
|
// src/molecules/creator-discovery/CreatorWidget/PlatformIcons.tsx
|
|
41388
|
-
import { jsx as
|
|
41731
|
+
import { jsx as jsx168 } from "react/jsx-runtime";
|
|
41389
41732
|
function InstagramIcon({ className }) {
|
|
41390
|
-
return /* @__PURE__ */
|
|
41733
|
+
return /* @__PURE__ */ jsx168(
|
|
41391
41734
|
"svg",
|
|
41392
41735
|
{
|
|
41393
41736
|
className,
|
|
41394
41737
|
viewBox: "0 0 24 24",
|
|
41395
41738
|
fill: "currentColor",
|
|
41396
41739
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41397
|
-
children: /* @__PURE__ */
|
|
41740
|
+
children: /* @__PURE__ */ jsx168("path", { d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z" })
|
|
41398
41741
|
}
|
|
41399
41742
|
);
|
|
41400
41743
|
}
|
|
41401
41744
|
function YouTubeIcon({ className }) {
|
|
41402
|
-
return /* @__PURE__ */
|
|
41745
|
+
return /* @__PURE__ */ jsx168(
|
|
41403
41746
|
"svg",
|
|
41404
41747
|
{
|
|
41405
41748
|
className,
|
|
41406
41749
|
viewBox: "0 0 24 24",
|
|
41407
41750
|
fill: "currentColor",
|
|
41408
41751
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41409
|
-
children: /* @__PURE__ */
|
|
41752
|
+
children: /* @__PURE__ */ jsx168("path", { d: "M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" })
|
|
41410
41753
|
}
|
|
41411
41754
|
);
|
|
41412
41755
|
}
|
|
41413
41756
|
function TikTokIcon3({ className }) {
|
|
41414
|
-
return /* @__PURE__ */
|
|
41757
|
+
return /* @__PURE__ */ jsx168(
|
|
41415
41758
|
"svg",
|
|
41416
41759
|
{
|
|
41417
41760
|
className,
|
|
41418
41761
|
viewBox: "0 0 24 24",
|
|
41419
41762
|
fill: "currentColor",
|
|
41420
41763
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41421
|
-
children: /* @__PURE__ */
|
|
41764
|
+
children: /* @__PURE__ */ jsx168("path", { d: "M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z" })
|
|
41422
41765
|
}
|
|
41423
41766
|
);
|
|
41424
41767
|
}
|
|
@@ -41452,8 +41795,8 @@ function getPlatformIconColor(platform) {
|
|
|
41452
41795
|
}
|
|
41453
41796
|
|
|
41454
41797
|
// src/molecules/creator-discovery/CreatorWidget/PostCard.tsx
|
|
41455
|
-
import { useState as
|
|
41456
|
-
import { Fragment as
|
|
41798
|
+
import { useState as useState15 } from "react";
|
|
41799
|
+
import { Fragment as Fragment8, jsx as jsx169, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
41457
41800
|
var formatFollowerCount = (count) => {
|
|
41458
41801
|
if (count >= 1e6) {
|
|
41459
41802
|
const millions = count / 1e6;
|
|
@@ -41466,15 +41809,15 @@ var formatFollowerCount = (count) => {
|
|
|
41466
41809
|
return Math.floor(count).toString();
|
|
41467
41810
|
};
|
|
41468
41811
|
function PostCard({ post, platformUsername }) {
|
|
41469
|
-
const [expanded, setExpanded] =
|
|
41470
|
-
const [errored, setErrored] =
|
|
41812
|
+
const [expanded, setExpanded] = useState15(false);
|
|
41813
|
+
const [errored, setErrored] = useState15(false);
|
|
41471
41814
|
const thumbnail = post.thumbnail_url || post.thumbnail || post.image || "";
|
|
41472
41815
|
const likes = post.engagement?.likes ?? post.likes ?? null;
|
|
41473
41816
|
const comments = post.engagement?.comments ?? post.comments ?? null;
|
|
41474
41817
|
const views = post.engagement?.views ?? post.engagement?.plays ?? post.views ?? post.plays ?? null;
|
|
41475
41818
|
const impressions = post.impressions ?? null;
|
|
41476
41819
|
const reach = post.reach ?? null;
|
|
41477
|
-
return /* @__PURE__ */
|
|
41820
|
+
return /* @__PURE__ */ jsxs129(
|
|
41478
41821
|
"div",
|
|
41479
41822
|
{
|
|
41480
41823
|
className: "rounded-xl overflow-hidden border border-gray500 bg-transparent shadow-sm cursor-pointer",
|
|
@@ -41483,7 +41826,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
41483
41826
|
window.open(post.url, "_blank", "noopener,noreferrer");
|
|
41484
41827
|
},
|
|
41485
41828
|
children: [
|
|
41486
|
-
/* @__PURE__ */
|
|
41829
|
+
/* @__PURE__ */ jsx169("div", { className: "w-full aspect-square relative bg-gray25", children: thumbnail && !errored ? /* @__PURE__ */ jsx169(
|
|
41487
41830
|
"img",
|
|
41488
41831
|
{
|
|
41489
41832
|
src: thumbnail,
|
|
@@ -41491,55 +41834,55 @@ function PostCard({ post, platformUsername }) {
|
|
|
41491
41834
|
className: "w-full h-full object-cover",
|
|
41492
41835
|
onError: () => setErrored(true)
|
|
41493
41836
|
}
|
|
41494
|
-
) : /* @__PURE__ */
|
|
41495
|
-
/* @__PURE__ */
|
|
41496
|
-
/* @__PURE__ */
|
|
41497
|
-
likes !== null && /* @__PURE__ */
|
|
41498
|
-
/* @__PURE__ */
|
|
41837
|
+
) : /* @__PURE__ */ jsx169("div", { className: "w-full h-full flex items-center justify-center text-gray500 text-sm", children: "No preview" }) }),
|
|
41838
|
+
/* @__PURE__ */ jsxs129("div", { className: "p-3", children: [
|
|
41839
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-4 text-sm text-gray600 mb-2", children: [
|
|
41840
|
+
likes !== null && /* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1", children: [
|
|
41841
|
+
/* @__PURE__ */ jsx169("span", { children: formatFollowerCount(likes) }),
|
|
41499
41842
|
" ",
|
|
41500
|
-
/* @__PURE__ */
|
|
41843
|
+
/* @__PURE__ */ jsx169(Heart, { size: 14 })
|
|
41501
41844
|
] }),
|
|
41502
|
-
comments !== null && /* @__PURE__ */
|
|
41503
|
-
/* @__PURE__ */
|
|
41845
|
+
comments !== null && /* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1", children: [
|
|
41846
|
+
/* @__PURE__ */ jsx169("span", { children: formatFollowerCount(comments) }),
|
|
41504
41847
|
" ",
|
|
41505
|
-
/* @__PURE__ */
|
|
41848
|
+
/* @__PURE__ */ jsx169(MessageCircle, { size: 14 })
|
|
41506
41849
|
] }),
|
|
41507
|
-
views !== null && /* @__PURE__ */
|
|
41508
|
-
/* @__PURE__ */
|
|
41850
|
+
views !== null && /* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1", children: [
|
|
41851
|
+
/* @__PURE__ */ jsx169("span", { children: formatFollowerCount(views) }),
|
|
41509
41852
|
" ",
|
|
41510
|
-
/* @__PURE__ */
|
|
41853
|
+
/* @__PURE__ */ jsx169(Eye, { size: 14 })
|
|
41511
41854
|
] })
|
|
41512
41855
|
] }),
|
|
41513
|
-
/* @__PURE__ */
|
|
41514
|
-
impressions !== null && /* @__PURE__ */
|
|
41515
|
-
/* @__PURE__ */
|
|
41856
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex gap-4 text-sm text-gray800 mb-2", children: [
|
|
41857
|
+
impressions !== null && /* @__PURE__ */ jsxs129("div", { children: [
|
|
41858
|
+
/* @__PURE__ */ jsx169("span", { className: "text-gray500 font-bold", children: formatFollowerCount(impressions) }),
|
|
41516
41859
|
" ",
|
|
41517
41860
|
"est.Impressions"
|
|
41518
41861
|
] }),
|
|
41519
|
-
reach !== null && /* @__PURE__ */
|
|
41520
|
-
/* @__PURE__ */
|
|
41862
|
+
reach !== null && /* @__PURE__ */ jsxs129("div", { children: [
|
|
41863
|
+
/* @__PURE__ */ jsx169("span", { className: "text-gray500 font-bold", children: formatFollowerCount(reach) }),
|
|
41521
41864
|
" ",
|
|
41522
41865
|
"est.Reach"
|
|
41523
41866
|
] })
|
|
41524
41867
|
] }),
|
|
41525
|
-
/* @__PURE__ */
|
|
41526
|
-
platformUsername && /* @__PURE__ */
|
|
41868
|
+
/* @__PURE__ */ jsxs129("div", { className: "text-sm mb-1", children: [
|
|
41869
|
+
platformUsername && /* @__PURE__ */ jsxs129("div", { className: "text-md font-semibold text-gray500", children: [
|
|
41527
41870
|
"@",
|
|
41528
41871
|
platformUsername
|
|
41529
41872
|
] }),
|
|
41530
41873
|
["instagram", "tiktok"].includes(
|
|
41531
41874
|
post.platform?.toLowerCase() || ""
|
|
41532
|
-
) ? /* @__PURE__ */
|
|
41875
|
+
) ? /* @__PURE__ */ jsx169(Fragment8, { children: (() => {
|
|
41533
41876
|
const text = post.title || post.description || "";
|
|
41534
|
-
return /* @__PURE__ */
|
|
41535
|
-
/* @__PURE__ */
|
|
41877
|
+
return /* @__PURE__ */ jsxs129(Fragment8, { children: [
|
|
41878
|
+
/* @__PURE__ */ jsx169(
|
|
41536
41879
|
"div",
|
|
41537
41880
|
{
|
|
41538
41881
|
className: `text-gray900 font-light mt-2 text-sm ${!expanded ? "line-clamp-3" : ""}`,
|
|
41539
41882
|
children: text
|
|
41540
41883
|
}
|
|
41541
41884
|
),
|
|
41542
|
-
text.length > 100 && /* @__PURE__ */
|
|
41885
|
+
text.length > 100 && /* @__PURE__ */ jsx169(
|
|
41543
41886
|
"button",
|
|
41544
41887
|
{
|
|
41545
41888
|
onClick: (e) => {
|
|
@@ -41551,9 +41894,9 @@ function PostCard({ post, platformUsername }) {
|
|
|
41551
41894
|
}
|
|
41552
41895
|
)
|
|
41553
41896
|
] });
|
|
41554
|
-
})() }) : /* @__PURE__ */
|
|
41555
|
-
post.title && /* @__PURE__ */
|
|
41556
|
-
post.description && /* @__PURE__ */
|
|
41897
|
+
})() }) : /* @__PURE__ */ jsxs129(Fragment8, { children: [
|
|
41898
|
+
post.title && /* @__PURE__ */ jsx169("div", { className: "text-gray900 font-light", children: post.title }),
|
|
41899
|
+
post.description && /* @__PURE__ */ jsx169(
|
|
41557
41900
|
"div",
|
|
41558
41901
|
{
|
|
41559
41902
|
className: "mt-2 text-sm text-gray900 overflow-hidden font-light",
|
|
@@ -41561,7 +41904,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
41561
41904
|
children: post.description
|
|
41562
41905
|
}
|
|
41563
41906
|
),
|
|
41564
|
-
post.description && post.description.length > 200 && /* @__PURE__ */
|
|
41907
|
+
post.description && post.description.length > 200 && /* @__PURE__ */ jsx169(
|
|
41565
41908
|
"button",
|
|
41566
41909
|
{
|
|
41567
41910
|
onClick: (e) => {
|
|
@@ -41581,7 +41924,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
41581
41924
|
}
|
|
41582
41925
|
|
|
41583
41926
|
// src/molecules/creator-discovery/CreatorWidget/PlatformPostsSection.tsx
|
|
41584
|
-
import { jsx as
|
|
41927
|
+
import { jsx as jsx170, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
41585
41928
|
var formatFollowerCount2 = (count) => {
|
|
41586
41929
|
if (count >= 1e6) {
|
|
41587
41930
|
const millions = count / 1e6;
|
|
@@ -41605,18 +41948,18 @@ function PlatformMetricsBanner({
|
|
|
41605
41948
|
const platformName = getPlatformName(platform);
|
|
41606
41949
|
const bgColor = getPlatformBgColor(platform);
|
|
41607
41950
|
const IconComponent = getPlatformIcon(platform);
|
|
41608
|
-
return /* @__PURE__ */
|
|
41951
|
+
return /* @__PURE__ */ jsxs130(
|
|
41609
41952
|
"div",
|
|
41610
41953
|
{
|
|
41611
41954
|
className: "\n flex overflow-x-auto gap-6 rounded-l-xl py-4 px-4 shadow-sm\n md:grid md:grid-cols-[0.5fr_1fr_1fr_1fr_1fr] md:items-center md:gap-0 md:px-0 md:ml-8\n ",
|
|
41612
41955
|
style: { backgroundColor: bgColor },
|
|
41613
41956
|
children: [
|
|
41614
|
-
/* @__PURE__ */
|
|
41615
|
-
/* @__PURE__ */
|
|
41616
|
-
/* @__PURE__ */
|
|
41957
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-center min-w-[90px] md:min-w-0", children: [
|
|
41958
|
+
/* @__PURE__ */ jsx170(IconComponent, { className: "w-5 h-5 md:w-6 md:h-6 text-gray900" }),
|
|
41959
|
+
/* @__PURE__ */ jsx170("span", { className: "text-lg md:text-xl font-bold text-gray900", children: platform === "youtubeMetrics" ? formatFollowerCount2(metrics.subscribers || 0) : formatFollowerCount2(metrics.followers || 0) })
|
|
41617
41960
|
] }),
|
|
41618
|
-
/* @__PURE__ */
|
|
41619
|
-
/* @__PURE__ */
|
|
41961
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[130px] md:min-w-0", children: [
|
|
41962
|
+
/* @__PURE__ */ jsxs130(
|
|
41620
41963
|
"span",
|
|
41621
41964
|
{
|
|
41622
41965
|
className: "text-base md:text-lg dark:text-white max-w-[90%] truncate cursor-default",
|
|
@@ -41627,22 +41970,22 @@ function PlatformMetricsBanner({
|
|
|
41627
41970
|
]
|
|
41628
41971
|
}
|
|
41629
41972
|
),
|
|
41630
|
-
/* @__PURE__ */
|
|
41973
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs md:text-sm text-gray900 opacity-90", children: platformName })
|
|
41631
41974
|
] }),
|
|
41632
|
-
/* @__PURE__ */
|
|
41633
|
-
/* @__PURE__ */
|
|
41975
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
41976
|
+
/* @__PURE__ */ jsxs130("span", { className: "text-sm md:text-md font-semibold text-gray900", children: [
|
|
41634
41977
|
(metrics.engagementRate * 100).toFixed(2),
|
|
41635
41978
|
"%"
|
|
41636
41979
|
] }),
|
|
41637
|
-
/* @__PURE__ */
|
|
41980
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs text-gray900 opacity-80", children: "Engagement Rate" })
|
|
41638
41981
|
] }),
|
|
41639
|
-
/* @__PURE__ */
|
|
41640
|
-
/* @__PURE__ */
|
|
41641
|
-
/* @__PURE__ */
|
|
41982
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
41983
|
+
/* @__PURE__ */ jsx170("span", { className: "text-sm md:text-md font-semibold text-gray900", children: Math.round(metrics.avgLikes)?.toLocaleString() }),
|
|
41984
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Likes" })
|
|
41642
41985
|
] }),
|
|
41643
|
-
/* @__PURE__ */
|
|
41644
|
-
/* @__PURE__ */
|
|
41645
|
-
/* @__PURE__ */
|
|
41986
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
41987
|
+
/* @__PURE__ */ jsx170("span", { className: "text-sm md:text-md font-semibold text-gray900", children: Math.round(metrics.avgComments)?.toLocaleString() }),
|
|
41988
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Comments" })
|
|
41646
41989
|
] })
|
|
41647
41990
|
]
|
|
41648
41991
|
}
|
|
@@ -41653,16 +41996,16 @@ function PlatformPostsSection({
|
|
|
41653
41996
|
posts = []
|
|
41654
41997
|
}) {
|
|
41655
41998
|
if (!platformMetrics) return null;
|
|
41656
|
-
return /* @__PURE__ */
|
|
41999
|
+
return /* @__PURE__ */ jsx170("div", { className: "flex flex-col gap-4", children: /* @__PURE__ */ jsx170("div", { className: "flex flex-col gap-8", children: Object.entries(platformMetrics || {}).map(
|
|
41657
42000
|
([platform, metrics]) => {
|
|
41658
42001
|
if (!metrics) return null;
|
|
41659
42002
|
if (metrics.followers === 0 && metrics.subscribers === 0)
|
|
41660
42003
|
return null;
|
|
41661
42004
|
const platformPosts = filterPostsByPlatform(posts, platform);
|
|
41662
42005
|
const platformUsername = metrics.username ?? metrics.channelName ?? "";
|
|
41663
|
-
return /* @__PURE__ */
|
|
41664
|
-
/* @__PURE__ */
|
|
41665
|
-
platformPosts.length > 0 && /* @__PURE__ */
|
|
42006
|
+
return /* @__PURE__ */ jsxs130("div", { className: "w-full flex flex-col gap-8", children: [
|
|
42007
|
+
/* @__PURE__ */ jsx170(PlatformMetricsBanner, { platform, metrics }),
|
|
42008
|
+
platformPosts.length > 0 && /* @__PURE__ */ jsx170("div", { className: "pr-6 sm:ml-8 sm:pr-7", children: /* @__PURE__ */ jsx170("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-4", children: platformPosts.map((post, idx) => /* @__PURE__ */ jsx170(
|
|
41666
42009
|
PostCard,
|
|
41667
42010
|
{
|
|
41668
42011
|
post,
|
|
@@ -41676,10 +42019,10 @@ function PlatformPostsSection({
|
|
|
41676
42019
|
}
|
|
41677
42020
|
|
|
41678
42021
|
// src/molecules/creator-discovery/CreatorWidget/BrandCollaborationsList.tsx
|
|
41679
|
-
import { useState as
|
|
42022
|
+
import { useState as useState16 } from "react";
|
|
41680
42023
|
import ReactDOM from "react-dom";
|
|
41681
42024
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
41682
|
-
import { Fragment as
|
|
42025
|
+
import { Fragment as Fragment9, jsx as jsx171, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
41683
42026
|
var getSentimentRank = (score) => {
|
|
41684
42027
|
if (score >= 80) {
|
|
41685
42028
|
return {
|
|
@@ -41724,8 +42067,8 @@ function BrandMentionDetails({
|
|
|
41724
42067
|
) || [];
|
|
41725
42068
|
if (typeof window === "undefined") return null;
|
|
41726
42069
|
return ReactDOM.createPortal(
|
|
41727
|
-
/* @__PURE__ */
|
|
41728
|
-
/* @__PURE__ */
|
|
42070
|
+
/* @__PURE__ */ jsx171(AnimatePresence3, { mode: "sync", children: open && /* @__PURE__ */ jsxs131(Fragment9, { children: [
|
|
42071
|
+
/* @__PURE__ */ jsx171(
|
|
41729
42072
|
motion3.div,
|
|
41730
42073
|
{
|
|
41731
42074
|
initial: { opacity: 0 },
|
|
@@ -41740,7 +42083,7 @@ function BrandMentionDetails({
|
|
|
41740
42083
|
},
|
|
41741
42084
|
"brand-overlay"
|
|
41742
42085
|
),
|
|
41743
|
-
/* @__PURE__ */
|
|
42086
|
+
/* @__PURE__ */ jsxs131(
|
|
41744
42087
|
motion3.div,
|
|
41745
42088
|
{
|
|
41746
42089
|
initial: { opacity: 0, scale: 0.95 },
|
|
@@ -41750,42 +42093,42 @@ function BrandMentionDetails({
|
|
|
41750
42093
|
className: "fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[90] w-full max-w-lg bg-background rounded-xl border border-gray300 shadow-2xl",
|
|
41751
42094
|
onClick: (e) => e.stopPropagation(),
|
|
41752
42095
|
children: [
|
|
41753
|
-
/* @__PURE__ */
|
|
41754
|
-
/* @__PURE__ */
|
|
42096
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex justify-between items-center p-4 border-b border-gray300", children: [
|
|
42097
|
+
/* @__PURE__ */ jsxs131("h3", { className: "text-lg font-bold text-gray900", children: [
|
|
41755
42098
|
"Brand Mention Details: ",
|
|
41756
42099
|
selectedBrand
|
|
41757
42100
|
] }),
|
|
41758
|
-
/* @__PURE__ */
|
|
42101
|
+
/* @__PURE__ */ jsx171(
|
|
41759
42102
|
"button",
|
|
41760
42103
|
{
|
|
41761
42104
|
onClick: onClose,
|
|
41762
42105
|
className: "p-1 rounded-full hover:bg-gray200 transition-colors",
|
|
41763
|
-
children: /* @__PURE__ */
|
|
42106
|
+
children: /* @__PURE__ */ jsx171(X, { className: "w-4 h-4" })
|
|
41764
42107
|
}
|
|
41765
42108
|
)
|
|
41766
42109
|
] }),
|
|
41767
|
-
/* @__PURE__ */
|
|
41768
|
-
brandStats && /* @__PURE__ */
|
|
41769
|
-
/* @__PURE__ */
|
|
41770
|
-
/* @__PURE__ */
|
|
41771
|
-
/* @__PURE__ */
|
|
41772
|
-
/* @__PURE__ */
|
|
41773
|
-
/* @__PURE__ */
|
|
42110
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col gap-6 max-h-[70vh] overflow-y-auto p-4", children: [
|
|
42111
|
+
brandStats && /* @__PURE__ */ jsxs131("div", { className: "bg-gray25 border-2 border-gray200 rounded-xl p-4", children: [
|
|
42112
|
+
/* @__PURE__ */ jsx171("h3", { className: "text-lg font-bold text-gray900 mb-4", children: "Overview" }),
|
|
42113
|
+
/* @__PURE__ */ jsxs131("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
42114
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42115
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Total Mentions" }),
|
|
42116
|
+
/* @__PURE__ */ jsx171("div", { className: "text-2xl font-bold text-gray900", children: brandStats.mentions })
|
|
41774
42117
|
] }),
|
|
41775
|
-
/* @__PURE__ */
|
|
41776
|
-
/* @__PURE__ */
|
|
41777
|
-
/* @__PURE__ */
|
|
42118
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42119
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Posts Count" }),
|
|
42120
|
+
/* @__PURE__ */ jsx171("div", { className: "text-2xl font-bold text-gray900", children: brandStats.postCount })
|
|
41778
42121
|
] }),
|
|
41779
|
-
/* @__PURE__ */
|
|
41780
|
-
/* @__PURE__ */
|
|
41781
|
-
/* @__PURE__ */
|
|
42122
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42123
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Avg Engagement" }),
|
|
42124
|
+
/* @__PURE__ */ jsxs131("div", { className: "text-2xl font-bold text-gray900", children: [
|
|
41782
42125
|
brandStats.averageEngagementRate?.toFixed(2),
|
|
41783
42126
|
"%"
|
|
41784
42127
|
] })
|
|
41785
42128
|
] }),
|
|
41786
|
-
/* @__PURE__ */
|
|
41787
|
-
/* @__PURE__ */
|
|
41788
|
-
/* @__PURE__ */
|
|
42129
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42130
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Effectiveness" }),
|
|
42131
|
+
/* @__PURE__ */ jsxs131(
|
|
41789
42132
|
"div",
|
|
41790
42133
|
{
|
|
41791
42134
|
className: `text-2xl font-bold ${getSentimentRank(brandStats.effectivenessPercent).scoreColor}`,
|
|
@@ -41797,8 +42140,8 @@ function BrandMentionDetails({
|
|
|
41797
42140
|
)
|
|
41798
42141
|
] })
|
|
41799
42142
|
] }),
|
|
41800
|
-
/* @__PURE__ */
|
|
41801
|
-
(type, idx) => /* @__PURE__ */
|
|
42143
|
+
/* @__PURE__ */ jsx171("div", { className: "mt-3 flex gap-2 flex-wrap", children: brandStats.collaborationTypes?.map(
|
|
42144
|
+
(type, idx) => /* @__PURE__ */ jsx171(
|
|
41802
42145
|
"span",
|
|
41803
42146
|
{
|
|
41804
42147
|
className: "px-3 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]",
|
|
@@ -41808,55 +42151,55 @@ function BrandMentionDetails({
|
|
|
41808
42151
|
)
|
|
41809
42152
|
) })
|
|
41810
42153
|
] }),
|
|
41811
|
-
/* @__PURE__ */
|
|
41812
|
-
/* @__PURE__ */
|
|
42154
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42155
|
+
/* @__PURE__ */ jsxs131("h3", { className: "text-lg font-bold text-gray900 mb-3", children: [
|
|
41813
42156
|
"Individual Mentions (",
|
|
41814
42157
|
brandMentions.length,
|
|
41815
42158
|
")"
|
|
41816
42159
|
] }),
|
|
41817
|
-
/* @__PURE__ */
|
|
42160
|
+
/* @__PURE__ */ jsx171("div", { className: "flex flex-col gap-3", children: brandMentions.map((mention, index) => {
|
|
41818
42161
|
const IconComponent = getPlatformIcon(mention?.platform);
|
|
41819
|
-
return /* @__PURE__ */
|
|
42162
|
+
return /* @__PURE__ */ jsxs131(
|
|
41820
42163
|
"div",
|
|
41821
42164
|
{
|
|
41822
42165
|
className: "bg-gray50 border-2 border-gray200 rounded-xl p-4 hover:border-purple100 transition-colors",
|
|
41823
42166
|
children: [
|
|
41824
|
-
/* @__PURE__ */
|
|
41825
|
-
/* @__PURE__ */
|
|
41826
|
-
/* @__PURE__ */
|
|
41827
|
-
/* @__PURE__ */
|
|
42167
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center justify-between mb-3", children: [
|
|
42168
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-2", children: [
|
|
42169
|
+
/* @__PURE__ */ jsx171(IconComponent, { className: "w-5 h-5 text-gray900" }),
|
|
42170
|
+
/* @__PURE__ */ jsx171("span", { className: "text-sm font-medium text-gray700 capitalize", children: mention.platform })
|
|
41828
42171
|
] }),
|
|
41829
|
-
/* @__PURE__ */
|
|
41830
|
-
/* @__PURE__ */
|
|
41831
|
-
/* @__PURE__ */
|
|
42172
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-2", children: [
|
|
42173
|
+
/* @__PURE__ */ jsx171("span", { className: "px-2 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]", children: mention.collaborationType }),
|
|
42174
|
+
/* @__PURE__ */ jsxs131("span", { className: "text-xs text-gray600", children: [
|
|
41832
42175
|
Math.round(mention.confidence * 100),
|
|
41833
42176
|
"% confidence"
|
|
41834
42177
|
] })
|
|
41835
42178
|
] })
|
|
41836
42179
|
] }),
|
|
41837
|
-
/* @__PURE__ */
|
|
41838
|
-
/* @__PURE__ */
|
|
42180
|
+
/* @__PURE__ */ jsxs131("div", { className: "mb-2", children: [
|
|
42181
|
+
/* @__PURE__ */ jsxs131("span", { className: "text-xs text-gray500", children: [
|
|
41839
42182
|
"Post ID:",
|
|
41840
42183
|
" "
|
|
41841
42184
|
] }),
|
|
41842
|
-
/* @__PURE__ */
|
|
42185
|
+
/* @__PURE__ */ jsx171("span", { className: "text-xs font-mono text-gray700", children: mention.post_id })
|
|
41843
42186
|
] }),
|
|
41844
|
-
/* @__PURE__ */
|
|
41845
|
-
/* @__PURE__ */
|
|
41846
|
-
/* @__PURE__ */
|
|
42187
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3 border border-gray300", children: [
|
|
42188
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600 mb-1", children: "Evidence:" }),
|
|
42189
|
+
/* @__PURE__ */ jsxs131("p", { className: "text-sm text-gray800 italic", children: [
|
|
41847
42190
|
"\u201C",
|
|
41848
42191
|
mention.evidence,
|
|
41849
42192
|
"\u201D"
|
|
41850
42193
|
] })
|
|
41851
42194
|
] }),
|
|
41852
|
-
/* @__PURE__ */
|
|
42195
|
+
/* @__PURE__ */ jsxs131("div", { className: "mt-2 text-xs text-gray500", children: [
|
|
41853
42196
|
"Source:",
|
|
41854
42197
|
" ",
|
|
41855
|
-
/* @__PURE__ */
|
|
41856
|
-
mention.handle && /* @__PURE__ */
|
|
42198
|
+
/* @__PURE__ */ jsx171("span", { className: "font-medium", children: mention.source }),
|
|
42199
|
+
mention.handle && /* @__PURE__ */ jsxs131("span", { className: "ml-2", children: [
|
|
41857
42200
|
"Handle:",
|
|
41858
42201
|
" ",
|
|
41859
|
-
/* @__PURE__ */
|
|
42202
|
+
/* @__PURE__ */ jsx171("span", { className: "font-medium", children: mention.handle })
|
|
41860
42203
|
] })
|
|
41861
42204
|
] })
|
|
41862
42205
|
]
|
|
@@ -41865,7 +42208,7 @@ function BrandMentionDetails({
|
|
|
41865
42208
|
);
|
|
41866
42209
|
}) })
|
|
41867
42210
|
] }),
|
|
41868
|
-
brandMentions.length === 0 && /* @__PURE__ */
|
|
42211
|
+
brandMentions.length === 0 && /* @__PURE__ */ jsx171("div", { className: "text-center py-8 text-gray500", children: "No mentions found for this brand" })
|
|
41869
42212
|
] })
|
|
41870
42213
|
]
|
|
41871
42214
|
},
|
|
@@ -41878,16 +42221,16 @@ function BrandMentionDetails({
|
|
|
41878
42221
|
function BrandCollaborationsList({
|
|
41879
42222
|
brandBreakdown
|
|
41880
42223
|
}) {
|
|
41881
|
-
const [openDetails, setOpenDetails] =
|
|
41882
|
-
const [selectedBrand, setSelectedBrand] =
|
|
42224
|
+
const [openDetails, setOpenDetails] = useState16(false);
|
|
42225
|
+
const [selectedBrand, setSelectedBrand] = useState16("");
|
|
41883
42226
|
if (!brandBreakdown?.insights?.brandBreakdown || brandBreakdown.insights.brandBreakdown.length === 0) {
|
|
41884
42227
|
return null;
|
|
41885
42228
|
}
|
|
41886
|
-
return /* @__PURE__ */
|
|
41887
|
-
/* @__PURE__ */
|
|
41888
|
-
/* @__PURE__ */
|
|
41889
|
-
/* @__PURE__ */
|
|
41890
|
-
(item, index) => /* @__PURE__ */
|
|
42229
|
+
return /* @__PURE__ */ jsxs131(Fragment9, { children: [
|
|
42230
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42231
|
+
/* @__PURE__ */ jsx171("div", { className: "text-purpleText text-xs mb-2", children: /* @__PURE__ */ jsx171("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "BRAND MENTIONS" }) }),
|
|
42232
|
+
/* @__PURE__ */ jsx171("div", { className: "flex flex-col gap-2 max-h-[220px] overflow-y-auto", children: brandBreakdown.insights.brandBreakdown.map(
|
|
42233
|
+
(item, index) => /* @__PURE__ */ jsxs131(
|
|
41891
42234
|
"div",
|
|
41892
42235
|
{
|
|
41893
42236
|
className: "flex gap-4 bg-gray50 border-2 border-gray25 rounded-xl px-3 py-3 shadow-sm cursor-pointer hover:border-purple100 transition-colors",
|
|
@@ -41897,17 +42240,17 @@ function BrandCollaborationsList({
|
|
|
41897
42240
|
setOpenDetails(true);
|
|
41898
42241
|
},
|
|
41899
42242
|
children: [
|
|
41900
|
-
/* @__PURE__ */
|
|
41901
|
-
/* @__PURE__ */
|
|
41902
|
-
/* @__PURE__ */
|
|
41903
|
-
/* @__PURE__ */
|
|
41904
|
-
/* @__PURE__ */
|
|
41905
|
-
/* @__PURE__ */
|
|
42243
|
+
/* @__PURE__ */ jsx171("div", { className: "w-10 h-10 rounded-full bg-gray200 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx171("span", { className: "text-sm font-bold text-gray700", children: item.brand?.charAt(0)?.toUpperCase() || "?" }) }),
|
|
42244
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col gap-1", children: [
|
|
42245
|
+
/* @__PURE__ */ jsx171("div", { className: "text-gray900 text-sm", children: item.brand }),
|
|
42246
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex gap-2 text-xs text-gray600", children: [
|
|
42247
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42248
|
+
/* @__PURE__ */ jsx171("span", { className: "text-gray900", children: item?.mentions }),
|
|
41906
42249
|
" ",
|
|
41907
42250
|
"Mention"
|
|
41908
42251
|
] }),
|
|
41909
|
-
/* @__PURE__ */
|
|
41910
|
-
/* @__PURE__ */
|
|
42252
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42253
|
+
/* @__PURE__ */ jsx171(
|
|
41911
42254
|
"span",
|
|
41912
42255
|
{
|
|
41913
42256
|
className: `${getSentimentRank(item.effectivenessPercent).scoreColor} font-bold`,
|
|
@@ -41925,7 +42268,7 @@ function BrandCollaborationsList({
|
|
|
41925
42268
|
)
|
|
41926
42269
|
) })
|
|
41927
42270
|
] }),
|
|
41928
|
-
/* @__PURE__ */
|
|
42271
|
+
/* @__PURE__ */ jsx171(
|
|
41929
42272
|
BrandMentionDetails,
|
|
41930
42273
|
{
|
|
41931
42274
|
open: openDetails,
|
|
@@ -41938,9 +42281,9 @@ function BrandCollaborationsList({
|
|
|
41938
42281
|
}
|
|
41939
42282
|
|
|
41940
42283
|
// src/molecules/creator-discovery/CreatorWidget/CreatorGridView.tsx
|
|
41941
|
-
import { useState as
|
|
42284
|
+
import { useState as useState17, useMemo as useMemo9, useRef as useRef7, useCallback as useCallback5, useEffect as useEffect10 } from "react";
|
|
41942
42285
|
import { motion as motion4 } from "framer-motion";
|
|
41943
|
-
import { jsx as
|
|
42286
|
+
import { jsx as jsx172, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
41944
42287
|
var formatFollowerCount3 = (count) => {
|
|
41945
42288
|
if (count >= 1e6) {
|
|
41946
42289
|
const millions = count / 1e6;
|
|
@@ -41987,20 +42330,20 @@ var itemsExplanation = [
|
|
|
41987
42330
|
{ key: "brandSafety", label: "Brand Safety" }
|
|
41988
42331
|
];
|
|
41989
42332
|
function CreatorGridViewCard({ creator }) {
|
|
41990
|
-
const [isExpanded, setIsExpanded] =
|
|
41991
|
-
const [showFullDescription, setShowFullDescription] =
|
|
41992
|
-
const [isDescriptionOverflowing, setIsDescriptionOverflowing] =
|
|
41993
|
-
const descriptionRef =
|
|
41994
|
-
const cardRef =
|
|
41995
|
-
const checkDescriptionOverflow =
|
|
42333
|
+
const [isExpanded, setIsExpanded] = useState17(false);
|
|
42334
|
+
const [showFullDescription, setShowFullDescription] = useState17(false);
|
|
42335
|
+
const [isDescriptionOverflowing, setIsDescriptionOverflowing] = useState17(false);
|
|
42336
|
+
const descriptionRef = useRef7(null);
|
|
42337
|
+
const cardRef = useRef7(null);
|
|
42338
|
+
const checkDescriptionOverflow = useCallback5(() => {
|
|
41996
42339
|
const el = descriptionRef.current;
|
|
41997
42340
|
if (!el) return;
|
|
41998
42341
|
setIsDescriptionOverflowing(el.scrollHeight > el.clientHeight + 1);
|
|
41999
42342
|
}, []);
|
|
42000
|
-
|
|
42343
|
+
useEffect10(() => {
|
|
42001
42344
|
checkDescriptionOverflow();
|
|
42002
42345
|
}, [checkDescriptionOverflow, isExpanded, showFullDescription]);
|
|
42003
|
-
|
|
42346
|
+
useEffect10(() => {
|
|
42004
42347
|
const onResize = () => checkDescriptionOverflow();
|
|
42005
42348
|
window.addEventListener("resize", onResize);
|
|
42006
42349
|
return () => window.removeEventListener("resize", onResize);
|
|
@@ -42041,7 +42384,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42041
42384
|
};
|
|
42042
42385
|
const iso2 = normalizeToIso2(creator.country);
|
|
42043
42386
|
const meta = codeToMeta[iso2];
|
|
42044
|
-
return /* @__PURE__ */
|
|
42387
|
+
return /* @__PURE__ */ jsx172(
|
|
42045
42388
|
motion4.div,
|
|
42046
42389
|
{
|
|
42047
42390
|
ref: cardRef,
|
|
@@ -42052,10 +42395,10 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42052
42395
|
className: `bg-paperBackground dark:bg-gray50 rounded-[10px] border border-gray300 hover:border-purple100 shadow-sm cursor-pointer transition-all duration-300 ease-in-out ${isExpanded ? "col-span-full border-purple100" : ""}`,
|
|
42053
42396
|
style: isExpanded ? { gridColumn: "1 / -1" } : {},
|
|
42054
42397
|
onClick: toggleExpanded,
|
|
42055
|
-
children: /* @__PURE__ */
|
|
42056
|
-
/* @__PURE__ */
|
|
42057
|
-
/* @__PURE__ */
|
|
42058
|
-
creator.profile_pic ? /* @__PURE__ */
|
|
42398
|
+
children: /* @__PURE__ */ jsxs132("div", { className: "flex", children: [
|
|
42399
|
+
/* @__PURE__ */ jsxs132("div", { className: `${isExpanded ? "w-1/3" : "w-full"}`, children: [
|
|
42400
|
+
/* @__PURE__ */ jsxs132("div", { className: "relative w-full aspect-square mb-2", children: [
|
|
42401
|
+
creator.profile_pic ? /* @__PURE__ */ jsx172(
|
|
42059
42402
|
"img",
|
|
42060
42403
|
{
|
|
42061
42404
|
src: creator.profile_pic,
|
|
@@ -42063,15 +42406,15 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42063
42406
|
className: "w-full h-full object-cover bg-primary/10",
|
|
42064
42407
|
style: { borderRadius: "10px 10px 0 0" }
|
|
42065
42408
|
}
|
|
42066
|
-
) : /* @__PURE__ */
|
|
42409
|
+
) : /* @__PURE__ */ jsx172(
|
|
42067
42410
|
"div",
|
|
42068
42411
|
{
|
|
42069
42412
|
className: "w-full h-full bg-primary/10 flex items-center justify-center",
|
|
42070
42413
|
style: { borderRadius: "10px 10px 0 0" },
|
|
42071
|
-
children: /* @__PURE__ */
|
|
42414
|
+
children: /* @__PURE__ */ jsx172("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" })
|
|
42072
42415
|
}
|
|
42073
42416
|
),
|
|
42074
|
-
/* @__PURE__ */
|
|
42417
|
+
/* @__PURE__ */ jsx172(
|
|
42075
42418
|
"div",
|
|
42076
42419
|
{
|
|
42077
42420
|
className: `absolute bottom-2 right-2 ${getSentimentRank2(creator.sentiment?.matchScore || 0).bgColor} ${getSentimentRank2(creator.sentiment?.matchScore || 0).textColor} px-2 py-1 rounded-md text-md font-medium`,
|
|
@@ -42079,34 +42422,34 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42079
42422
|
}
|
|
42080
42423
|
)
|
|
42081
42424
|
] }),
|
|
42082
|
-
/* @__PURE__ */
|
|
42083
|
-
/* @__PURE__ */
|
|
42084
|
-
/* @__PURE__ */
|
|
42425
|
+
/* @__PURE__ */ jsxs132("div", { className: "px-3 pb-1", children: [
|
|
42426
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42427
|
+
/* @__PURE__ */ jsx172(
|
|
42085
42428
|
"h3",
|
|
42086
42429
|
{
|
|
42087
42430
|
className: `${isExpanded ? "text-md" : "text-sm"} font-normal text-gray900 mb-1 line-clamp-2 text-start`,
|
|
42088
42431
|
children: creator.name || "Unnamed"
|
|
42089
42432
|
}
|
|
42090
42433
|
),
|
|
42091
|
-
/* @__PURE__ */
|
|
42434
|
+
/* @__PURE__ */ jsxs132(
|
|
42092
42435
|
"div",
|
|
42093
42436
|
{
|
|
42094
42437
|
className: `${isExpanded ? "text-sm" : "text-xs"} text-gray700 mb-1 text-start flex items-center gap-1`,
|
|
42095
42438
|
children: [
|
|
42096
|
-
/* @__PURE__ */
|
|
42097
|
-
/* @__PURE__ */
|
|
42439
|
+
/* @__PURE__ */ jsx172("span", { className: "text-base", children: meta?.flag }),
|
|
42440
|
+
/* @__PURE__ */ jsx172("span", { children: meta?.name || creator.country || "Unknown" })
|
|
42098
42441
|
]
|
|
42099
42442
|
}
|
|
42100
42443
|
),
|
|
42101
|
-
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */
|
|
42444
|
+
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */ jsx172("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsx172("div", { className: "mt-2 w-[150px] flex gap-2", children: Object.entries(creator.sentiment.detailedScores).map(
|
|
42102
42445
|
([key, value]) => {
|
|
42103
42446
|
const itemRank = getSentimentRank2(value);
|
|
42104
|
-
return /* @__PURE__ */
|
|
42447
|
+
return /* @__PURE__ */ jsxs132(
|
|
42105
42448
|
"div",
|
|
42106
42449
|
{
|
|
42107
42450
|
className: "flex flex-col items-center w-[100px]",
|
|
42108
42451
|
children: [
|
|
42109
|
-
/* @__PURE__ */
|
|
42452
|
+
/* @__PURE__ */ jsxs132(
|
|
42110
42453
|
"span",
|
|
42111
42454
|
{
|
|
42112
42455
|
className: `text-[14px] font-bold ${itemRank.scoreColor}`,
|
|
@@ -42116,7 +42459,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42116
42459
|
]
|
|
42117
42460
|
}
|
|
42118
42461
|
),
|
|
42119
|
-
/* @__PURE__ */
|
|
42462
|
+
/* @__PURE__ */ jsx172("div", { className: "flex items-center justify-center gap-1 w-full", children: /* @__PURE__ */ jsx172("span", { className: "text-xs dark:text-gray500 text-center px-1", children: itemsExplanation.find(
|
|
42120
42463
|
(item) => item.key === key
|
|
42121
42464
|
)?.label }) })
|
|
42122
42465
|
]
|
|
@@ -42126,20 +42469,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42126
42469
|
}
|
|
42127
42470
|
) }) })
|
|
42128
42471
|
] }),
|
|
42129
|
-
!isExpanded && /* @__PURE__ */
|
|
42130
|
-
({ platform, icon: Icon3, followers }) => /* @__PURE__ */
|
|
42472
|
+
!isExpanded && /* @__PURE__ */ jsx172("div", { className: "flex gap-2 justify-between", children: platformStats.map(
|
|
42473
|
+
({ platform, icon: Icon3, followers }) => /* @__PURE__ */ jsxs132(
|
|
42131
42474
|
"div",
|
|
42132
42475
|
{
|
|
42133
42476
|
className: "flex flex-col items-center gap-1",
|
|
42134
42477
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
42135
42478
|
children: [
|
|
42136
|
-
/* @__PURE__ */
|
|
42479
|
+
/* @__PURE__ */ jsx172(
|
|
42137
42480
|
Icon3,
|
|
42138
42481
|
{
|
|
42139
42482
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
42140
42483
|
}
|
|
42141
42484
|
),
|
|
42142
|
-
/* @__PURE__ */
|
|
42485
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs dark:text-gray500", children: followers > 0 && formatFollowerCount3(followers) })
|
|
42143
42486
|
]
|
|
42144
42487
|
},
|
|
42145
42488
|
platform
|
|
@@ -42147,20 +42490,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42147
42490
|
) })
|
|
42148
42491
|
] })
|
|
42149
42492
|
] }),
|
|
42150
|
-
isExpanded && /* @__PURE__ */
|
|
42151
|
-
/* @__PURE__ */
|
|
42152
|
-
/* @__PURE__ */
|
|
42493
|
+
isExpanded && /* @__PURE__ */ jsx172("div", { className: "flex-1 border-l border-gray300 p-6 overflow-hidden transition-all duration-300 ease-in-out", children: /* @__PURE__ */ jsxs132("div", { className: "space-y-4", children: [
|
|
42494
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42495
|
+
/* @__PURE__ */ jsxs132(
|
|
42153
42496
|
"div",
|
|
42154
42497
|
{
|
|
42155
42498
|
ref: descriptionRef,
|
|
42156
42499
|
className: `${showFullDescription ? "" : "max-h-[80px] overflow-hidden"} relative`,
|
|
42157
42500
|
children: [
|
|
42158
|
-
/* @__PURE__ */
|
|
42159
|
-
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */
|
|
42501
|
+
/* @__PURE__ */ jsx172("p", { className: "text-sm text-gray700 leading-relaxed", children: creator.description || "No description provided." }),
|
|
42502
|
+
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */ jsx172("div", { className: "pointer-events-none absolute bottom-0 left-0 right-0 h-10 bg-gradient-to-t from-gray25 to-transparent" })
|
|
42160
42503
|
]
|
|
42161
42504
|
}
|
|
42162
42505
|
),
|
|
42163
|
-
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */
|
|
42506
|
+
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */ jsx172(
|
|
42164
42507
|
"button",
|
|
42165
42508
|
{
|
|
42166
42509
|
onClick: (e) => {
|
|
@@ -42172,38 +42515,38 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42172
42515
|
}
|
|
42173
42516
|
)
|
|
42174
42517
|
] }),
|
|
42175
|
-
/* @__PURE__ */
|
|
42176
|
-
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */
|
|
42177
|
-
/* @__PURE__ */
|
|
42518
|
+
/* @__PURE__ */ jsx172("div", { className: "flex gap-6 justify-start items-center", children: platformStats.map(
|
|
42519
|
+
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */ jsxs132("div", { className: "flex items-center gap-3", children: [
|
|
42520
|
+
/* @__PURE__ */ jsxs132(
|
|
42178
42521
|
"div",
|
|
42179
42522
|
{
|
|
42180
42523
|
className: "flex items-center gap-1",
|
|
42181
42524
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
42182
42525
|
children: [
|
|
42183
|
-
/* @__PURE__ */
|
|
42526
|
+
/* @__PURE__ */ jsx172(
|
|
42184
42527
|
Icon3,
|
|
42185
42528
|
{
|
|
42186
42529
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
42187
42530
|
}
|
|
42188
42531
|
),
|
|
42189
|
-
/* @__PURE__ */
|
|
42532
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs dark:text-gray500", children: followers > 0 ? formatFollowerCount3(followers) : "0" })
|
|
42190
42533
|
]
|
|
42191
42534
|
}
|
|
42192
42535
|
),
|
|
42193
|
-
/* @__PURE__ */
|
|
42194
|
-
/* @__PURE__ */
|
|
42195
|
-
/* @__PURE__ */
|
|
42536
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex items-center gap-1", children: [
|
|
42537
|
+
/* @__PURE__ */ jsx172(ChartColumn, { className: "w-5 h-5 dark:text-gray500" }),
|
|
42538
|
+
/* @__PURE__ */ jsxs132("span", { className: "text-sm dark:text-gray500 w-[40px]", children: [
|
|
42196
42539
|
(engagement * 100).toFixed(1),
|
|
42197
42540
|
"%"
|
|
42198
42541
|
] })
|
|
42199
42542
|
] })
|
|
42200
42543
|
] }, platform)
|
|
42201
42544
|
) }),
|
|
42202
|
-
creator.posts?.length > 0 && /* @__PURE__ */
|
|
42203
|
-
/* @__PURE__ */
|
|
42204
|
-
/* @__PURE__ */
|
|
42545
|
+
creator.posts?.length > 0 && /* @__PURE__ */ jsxs132("div", { className: "w-full overflow-hidden", children: [
|
|
42546
|
+
/* @__PURE__ */ jsx172("h3", { className: "mb-2 text-sm font-medium text-gray900", children: "Recent Posts" }),
|
|
42547
|
+
/* @__PURE__ */ jsx172("div", { className: "flex gap-3 overflow-x-auto", children: creator.posts.filter(
|
|
42205
42548
|
(post) => post.thumbnail || post.thumbnail_url
|
|
42206
|
-
).slice(0, 8).map((post, idx) => /* @__PURE__ */
|
|
42549
|
+
).slice(0, 8).map((post, idx) => /* @__PURE__ */ jsx172(
|
|
42207
42550
|
"a",
|
|
42208
42551
|
{
|
|
42209
42552
|
href: post.url || "#",
|
|
@@ -42211,7 +42554,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42211
42554
|
rel: "noopener noreferrer",
|
|
42212
42555
|
className: "block flex-shrink-0",
|
|
42213
42556
|
onClick: (e) => e.stopPropagation(),
|
|
42214
|
-
children: /* @__PURE__ */
|
|
42557
|
+
children: /* @__PURE__ */ jsx172(
|
|
42215
42558
|
"img",
|
|
42216
42559
|
{
|
|
42217
42560
|
src: post.thumbnail_url || post.thumbnail,
|
|
@@ -42223,9 +42566,9 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42223
42566
|
idx
|
|
42224
42567
|
)) })
|
|
42225
42568
|
] }),
|
|
42226
|
-
creator?.sentiment?.aiReasoning && /* @__PURE__ */
|
|
42227
|
-
/* @__PURE__ */
|
|
42228
|
-
/* @__PURE__ */
|
|
42569
|
+
creator?.sentiment?.aiReasoning && /* @__PURE__ */ jsxs132("div", { className: "text-gray700 max-h-[200px] overflow-auto", children: [
|
|
42570
|
+
/* @__PURE__ */ jsx172("h4", { className: "font-semibold text-sm", children: "AI Analysis" }),
|
|
42571
|
+
/* @__PURE__ */ jsx172("p", { className: "text-sm", children: creator.sentiment.aiReasoning })
|
|
42229
42572
|
] })
|
|
42230
42573
|
] }) })
|
|
42231
42574
|
] })
|
|
@@ -42235,11 +42578,11 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42235
42578
|
function CreatorGridView({
|
|
42236
42579
|
creatorData
|
|
42237
42580
|
}) {
|
|
42238
|
-
return /* @__PURE__ */
|
|
42581
|
+
return /* @__PURE__ */ jsx172("div", { className: "grid grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-4 [&>*]:transition-all [&>*]:duration-300 auto-rows-min relative grid-flow-dense", children: creatorData.map((creator) => /* @__PURE__ */ jsx172(CreatorGridViewCard, { creator }, creator._id)) });
|
|
42239
42582
|
}
|
|
42240
42583
|
|
|
42241
42584
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
42242
|
-
import { Fragment as
|
|
42585
|
+
import { Fragment as Fragment10, jsx as jsx173, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
42243
42586
|
var formatFollowerCount4 = (count) => {
|
|
42244
42587
|
if (count >= 1e6) {
|
|
42245
42588
|
const millions = count / 1e6;
|
|
@@ -42333,12 +42676,12 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42333
42676
|
{
|
|
42334
42677
|
key: "platforms",
|
|
42335
42678
|
title: "Platforms",
|
|
42336
|
-
content: /* @__PURE__ */
|
|
42679
|
+
content: /* @__PURE__ */ jsx173("div", { className: "flex flex-wrap gap-2", children: (spec.platforms || []).filter((p) => ["instagram", "youtube", "tiktok"].includes(p.toLowerCase())).map((p, idx) => /* @__PURE__ */ jsx173("span", { className: `${tagClass} flex items-center justify-center`, children: p.charAt(0).toUpperCase() + p.slice(1).toLowerCase() }, idx)) })
|
|
42337
42680
|
},
|
|
42338
42681
|
{
|
|
42339
42682
|
key: "follower_range",
|
|
42340
42683
|
title: "Follower Range",
|
|
42341
|
-
content: /* @__PURE__ */
|
|
42684
|
+
content: /* @__PURE__ */ jsxs133("div", { className: `inline-block ${tagClass} font-grotesk`, children: [
|
|
42342
42685
|
formatFollowerCount4(spec?.follower_range?.min ?? 0),
|
|
42343
42686
|
" -",
|
|
42344
42687
|
" ",
|
|
@@ -42348,7 +42691,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42348
42691
|
{
|
|
42349
42692
|
key: "geography",
|
|
42350
42693
|
title: "Geography",
|
|
42351
|
-
content: /* @__PURE__ */
|
|
42694
|
+
content: /* @__PURE__ */ jsx173("div", { className: `inline-block ${tagClass} font-grotesk`, children: /* @__PURE__ */ jsx173(
|
|
42352
42695
|
"div",
|
|
42353
42696
|
{
|
|
42354
42697
|
className: "max-w-[200px] overflow-x-auto whitespace-nowrap",
|
|
@@ -42362,7 +42705,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42362
42705
|
e.currentTarget.style.overflow = "hidden";
|
|
42363
42706
|
e.currentTarget.scrollLeft = 0;
|
|
42364
42707
|
},
|
|
42365
|
-
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */
|
|
42708
|
+
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */ jsxs133("span", { children: [
|
|
42366
42709
|
g,
|
|
42367
42710
|
idx < spec.geography.length - 1 ? ", " : ""
|
|
42368
42711
|
] }, idx))
|
|
@@ -42372,13 +42715,13 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42372
42715
|
{
|
|
42373
42716
|
key: "keyword_bundles",
|
|
42374
42717
|
title: "Keyword",
|
|
42375
|
-
content: /* @__PURE__ */
|
|
42718
|
+
content: /* @__PURE__ */ jsx173("div", { className: "flex gap-2 font-grotesk font-medium max-w-[500px] overflow-x-auto whitespace-nowrap", style: { scrollbarWidth: "none" }, children: priorityOneBundles.length === 0 ? /* @__PURE__ */ jsx173("div", { className: `${textClass} text-white/70`, children: "No priority 1 keywords" }) : priorityOneBundles.map((kw, idx) => /* @__PURE__ */ jsx173("span", { className: tagClass, children: kw }, idx)) })
|
|
42376
42719
|
}
|
|
42377
42720
|
];
|
|
42378
42721
|
const itemsToShow = ["platforms", "follower_range", "geography", "keyword_bundles"];
|
|
42379
|
-
return /* @__PURE__ */
|
|
42380
|
-
/* @__PURE__ */
|
|
42381
|
-
/* @__PURE__ */
|
|
42722
|
+
return /* @__PURE__ */ jsx173("div", { className: "mt-3", children: /* @__PURE__ */ jsx173("div", { className: "flex gap-4 pr-[30px] overflow-x-auto", style: { scrollbarWidth: "none" }, children: items.filter(({ key }) => itemsToShow.includes(key) && spec?.[key] !== void 0 && spec?.[key] !== null).map(({ key, title, content }) => /* @__PURE__ */ jsxs133("div", { className: "flex-none p-5 bg-paperBackground rounded-lg", children: [
|
|
42723
|
+
/* @__PURE__ */ jsx173("div", { className: "text-purpleText text-sm mb-4", children: /* @__PURE__ */ jsx173("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: title.toUpperCase() }) }),
|
|
42724
|
+
/* @__PURE__ */ jsx173("div", { className: `flex text-gray900 ${textClass}`, children: content })
|
|
42382
42725
|
] }, key)) }) });
|
|
42383
42726
|
}
|
|
42384
42727
|
function SentimentScoreRank({
|
|
@@ -42387,16 +42730,16 @@ function SentimentScoreRank({
|
|
|
42387
42730
|
showMinialView = false
|
|
42388
42731
|
}) {
|
|
42389
42732
|
const sentimentScoreRank = getSentimentRank3(score);
|
|
42390
|
-
return /* @__PURE__ */
|
|
42391
|
-
score !== void 0 && /* @__PURE__ */
|
|
42733
|
+
return /* @__PURE__ */ jsx173("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsxs133("div", { className: `flex flex-col justify-end ${showMinialView ? "w-[120px]" : "w-[150px]"} text-sm`, children: [
|
|
42734
|
+
score !== void 0 && /* @__PURE__ */ jsx173("div", { className: "flex justify-center items-center mb-2", children: /* @__PURE__ */ jsx173(
|
|
42392
42735
|
"span",
|
|
42393
42736
|
{
|
|
42394
42737
|
className: `${isValidationComplete ? sentimentScoreRank.bgColor : "bg-gray500"} ${isValidationComplete ? sentimentScoreRank.textColor : "text-gray200"} text-center rounded-md ${showMinialView ? "text-xs px-[6px] py-[2px]" : "text-sm px-2 py-[2px]"}`,
|
|
42395
42738
|
children: isValidationComplete ? sentimentScoreRank.rank : "Unranked"
|
|
42396
42739
|
}
|
|
42397
42740
|
) }),
|
|
42398
|
-
/* @__PURE__ */
|
|
42399
|
-
!showMinialView && /* @__PURE__ */
|
|
42741
|
+
/* @__PURE__ */ jsx173("div", { className: `flex justify-center ${showMinialView ? "text-[24px]" : "text-[28px]"} font-bold mb-3 ${sentimentScoreRank.scoreColor}`, children: isValidationComplete ? score >= 0 ? `${score}%` : "0%" : /* @__PURE__ */ jsx173("div", { className: "flex items-center justify-center py-2", children: /* @__PURE__ */ jsx173("div", { className: "w-6 h-6 border-2 border-purple100 border-t-transparent rounded-full animate-spin" }) }) }),
|
|
42742
|
+
!showMinialView && /* @__PURE__ */ jsx173("p", { className: "text-gray600 dark:text-gray500 text-center", children: "Match Score" })
|
|
42400
42743
|
] }) });
|
|
42401
42744
|
}
|
|
42402
42745
|
function BrandMentionPerformance({ creator }) {
|
|
@@ -42411,14 +42754,14 @@ function BrandMentionPerformance({ creator }) {
|
|
|
42411
42754
|
{ title: "Effectiveness", subtitle: "compared to all posts", value: `${insights?.effectivenessPercent || 0} %` },
|
|
42412
42755
|
{ title: "Saturation Rate", subtitle: "on brand mention", value: `${insights?.saturationRate || 0} %` }
|
|
42413
42756
|
];
|
|
42414
|
-
return /* @__PURE__ */
|
|
42415
|
-
/* @__PURE__ */
|
|
42416
|
-
/* @__PURE__ */
|
|
42417
|
-
/* @__PURE__ */
|
|
42418
|
-
/* @__PURE__ */
|
|
42419
|
-
/* @__PURE__ */
|
|
42757
|
+
return /* @__PURE__ */ jsxs133("div", { children: [
|
|
42758
|
+
/* @__PURE__ */ jsx173("div", { className: "text-purpleText text-xs mb-4", children: /* @__PURE__ */ jsx173("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: "BRAND MENTION PERFORMANCE" }) }),
|
|
42759
|
+
/* @__PURE__ */ jsx173("div", { className: "flex flex-col gap-3", children: metrics.map((item) => /* @__PURE__ */ jsxs133("div", { className: "flex justify-between items-center text-gray700 text-sm", children: [
|
|
42760
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-1", children: [
|
|
42761
|
+
/* @__PURE__ */ jsx173("h5", { children: item.title }),
|
|
42762
|
+
/* @__PURE__ */ jsx173("p", { className: "text-xs", children: item.subtitle })
|
|
42420
42763
|
] }),
|
|
42421
|
-
/* @__PURE__ */
|
|
42764
|
+
/* @__PURE__ */ jsx173("p", { className: "text-purpleText text-lg", children: item.value })
|
|
42422
42765
|
] }, item.title)) })
|
|
42423
42766
|
] });
|
|
42424
42767
|
}
|
|
@@ -42426,19 +42769,19 @@ function CreatorFitSummary({ creator, showBrandPerformance }) {
|
|
|
42426
42769
|
const hasDeepAnalysis = creator?.sentiment?.deepAnalysis?.deepAnalysis;
|
|
42427
42770
|
const title = hasDeepAnalysis ? "CREATOR DEEP ANALYSIS" : "CREATOR FIT SUMMARY";
|
|
42428
42771
|
const content = hasDeepAnalysis ? creator.sentiment.deepAnalysis.deepAnalysis : creator?.sentiment?.aiReasoning || "No data available.";
|
|
42429
|
-
return /* @__PURE__ */
|
|
42430
|
-
/* @__PURE__ */
|
|
42431
|
-
/* @__PURE__ */
|
|
42772
|
+
return /* @__PURE__ */ jsxs133("div", { className: showBrandPerformance ? "col-span-1" : "col-span-2", children: [
|
|
42773
|
+
/* @__PURE__ */ jsx173("div", { className: "text-purpleText text-xs mb-4", children: /* @__PURE__ */ jsx173("span", { className: "rounded-md bg-purple200 px-2 py-[4px] font-sans", children: title }) }),
|
|
42774
|
+
/* @__PURE__ */ jsx173("div", { className: "max-h-[140px] overflow-y-auto slim-scrollbar", children: /* @__PURE__ */ jsx173("p", { className: "text-gray700 text-sm", children: content }) })
|
|
42432
42775
|
] });
|
|
42433
42776
|
}
|
|
42434
42777
|
function ProfileSection({ creator, isValidationComplete }) {
|
|
42435
42778
|
const username = creator.platformMetrics?.instagramMetrics?.username ? `@${creator.platformMetrics.instagramMetrics.username}` : creator.platformMetrics?.youtubeMetrics?.channelName ? `@${creator.platformMetrics.youtubeMetrics.channelName}` : creator.platformMetrics?.tiktokMetrics?.username ? `@${creator.platformMetrics.tiktokMetrics.username}` : "";
|
|
42436
42779
|
const iso2 = normalizeToIso2(creator.country);
|
|
42437
42780
|
const meta = codeToMeta[iso2];
|
|
42438
|
-
return /* @__PURE__ */
|
|
42439
|
-
/* @__PURE__ */
|
|
42440
|
-
/* @__PURE__ */
|
|
42441
|
-
/* @__PURE__ */
|
|
42781
|
+
return /* @__PURE__ */ jsxs133("div", { className: "flex items-start gap-1 md:gap-6", children: [
|
|
42782
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col items-center gap-6", children: [
|
|
42783
|
+
/* @__PURE__ */ jsx173("div", { className: "w-[5rem] h-[5rem] rounded-[10px] bg-primary/10 flex items-center justify-center flex-shrink-0 relative overflow-hidden", children: creator.profile_pic ? /* @__PURE__ */ jsxs133(Fragment10, { children: [
|
|
42784
|
+
/* @__PURE__ */ jsx173(
|
|
42442
42785
|
"img",
|
|
42443
42786
|
{
|
|
42444
42787
|
src: creator.profile_pic,
|
|
@@ -42446,24 +42789,24 @@ function ProfileSection({ creator, isValidationComplete }) {
|
|
|
42446
42789
|
className: "object-cover w-[5rem] h-[5rem] rounded-[15px]"
|
|
42447
42790
|
}
|
|
42448
42791
|
),
|
|
42449
|
-
creator?.profile?.isVerified && /* @__PURE__ */
|
|
42792
|
+
creator?.profile?.isVerified && /* @__PURE__ */ jsx173(
|
|
42450
42793
|
BadgeCheck,
|
|
42451
42794
|
{
|
|
42452
42795
|
size: 35,
|
|
42453
42796
|
className: "absolute -top-2 -right-2 text-blue-500 drop-shadow-sm fill-blue-300"
|
|
42454
42797
|
}
|
|
42455
42798
|
)
|
|
42456
|
-
] }) : /* @__PURE__ */
|
|
42457
|
-
/* @__PURE__ */
|
|
42799
|
+
] }) : /* @__PURE__ */ jsx173("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" }) }),
|
|
42800
|
+
/* @__PURE__ */ jsx173("div", { className: "block sm:hidden", children: /* @__PURE__ */ jsx173(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete, showMinialView: true }) })
|
|
42458
42801
|
] }),
|
|
42459
|
-
/* @__PURE__ */
|
|
42460
|
-
/* @__PURE__ */
|
|
42461
|
-
username && /* @__PURE__ */
|
|
42462
|
-
/* @__PURE__ */
|
|
42463
|
-
/* @__PURE__ */
|
|
42464
|
-
/* @__PURE__ */
|
|
42802
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-3 truncate", children: [
|
|
42803
|
+
/* @__PURE__ */ jsx173("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx173("h4", { className: "text-lg text-gray900 max-w-[150px]", title: creator.name, children: truncateName2(creator.name, 100) }) }),
|
|
42804
|
+
username && /* @__PURE__ */ jsx173("div", { className: "text-xs text-gray700", children: username }),
|
|
42805
|
+
/* @__PURE__ */ jsxs133("div", { className: "text-sm text-gray700 flex items-center gap-2", children: [
|
|
42806
|
+
/* @__PURE__ */ jsx173("span", { className: "text-base", children: meta?.flag }),
|
|
42807
|
+
/* @__PURE__ */ jsx173("span", { children: meta?.name || creator.country || "Unknown" })
|
|
42465
42808
|
] }),
|
|
42466
|
-
/* @__PURE__ */
|
|
42809
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray700 text-wrap", children: truncateName2(creator.description, 100) })
|
|
42467
42810
|
] })
|
|
42468
42811
|
] });
|
|
42469
42812
|
}
|
|
@@ -42471,7 +42814,7 @@ function CreatorCardExpandedSection({
|
|
|
42471
42814
|
creator
|
|
42472
42815
|
}) {
|
|
42473
42816
|
const hasBrandBreakdown = creator?.brandCollaborations?.insights?.brandBreakdown && creator?.sentiment?.deepAnalysis;
|
|
42474
|
-
return /* @__PURE__ */
|
|
42817
|
+
return /* @__PURE__ */ jsxs133(
|
|
42475
42818
|
motion5.div,
|
|
42476
42819
|
{
|
|
42477
42820
|
initial: { y: 20, opacity: 0 },
|
|
@@ -42479,21 +42822,21 @@ function CreatorCardExpandedSection({
|
|
|
42479
42822
|
transition: { duration: 0.3, delay: 0.1 },
|
|
42480
42823
|
className: "md:mt-6 space-y-5",
|
|
42481
42824
|
children: [
|
|
42482
|
-
/* @__PURE__ */
|
|
42483
|
-
/* @__PURE__ */
|
|
42825
|
+
/* @__PURE__ */ jsxs133("div", { className: "md:grid md:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 py-4 pr-7", children: [
|
|
42826
|
+
/* @__PURE__ */ jsx173("div", { className: "col-span-4 sm:col-span-1", children: hasBrandBreakdown ? /* @__PURE__ */ jsx173(
|
|
42484
42827
|
BrandCollaborationsList,
|
|
42485
42828
|
{
|
|
42486
42829
|
brandBreakdown: creator?.brandCollaborations
|
|
42487
42830
|
}
|
|
42488
|
-
) : /* @__PURE__ */
|
|
42489
|
-
/* @__PURE__ */
|
|
42831
|
+
) : /* @__PURE__ */ jsx173("div", { className: "hidden sm:block" }) }),
|
|
42832
|
+
/* @__PURE__ */ jsx173("div", { className: "col-span-4 sm:col-span-3", children: creator?.audienceDemographics ? /* @__PURE__ */ jsx173(
|
|
42490
42833
|
EngagedAudienceDemographics,
|
|
42491
42834
|
{
|
|
42492
42835
|
audienceDemographics: creator.audienceDemographics
|
|
42493
42836
|
}
|
|
42494
42837
|
) : null })
|
|
42495
42838
|
] }),
|
|
42496
|
-
/* @__PURE__ */
|
|
42839
|
+
/* @__PURE__ */ jsx173(
|
|
42497
42840
|
PlatformPostsSection,
|
|
42498
42841
|
{
|
|
42499
42842
|
platformMetrics: creator.platformMetrics,
|
|
@@ -42508,14 +42851,14 @@ function CreatorCard({
|
|
|
42508
42851
|
creator,
|
|
42509
42852
|
isValidationComplete
|
|
42510
42853
|
}) {
|
|
42511
|
-
const [detailsExpanded, setDetailsExpanded] =
|
|
42854
|
+
const [detailsExpanded, setDetailsExpanded] = useState18(false);
|
|
42512
42855
|
const hasValidBrandMention = (() => {
|
|
42513
42856
|
const insights = creator?.brandCollaborations?.insights;
|
|
42514
42857
|
if (!insights) return false;
|
|
42515
42858
|
const isValid2 = (val) => val !== null && val !== void 0 && val !== 0 && val !== "0" && val !== "" && !Number.isNaN(val);
|
|
42516
42859
|
return isValid2(insights.averageBrandEngagementRate) || isValid2(insights.effectivenessPercent) || isValid2(insights.saturationRate);
|
|
42517
42860
|
})();
|
|
42518
|
-
return /* @__PURE__ */
|
|
42861
|
+
return /* @__PURE__ */ jsxs133(
|
|
42519
42862
|
motion5.div,
|
|
42520
42863
|
{
|
|
42521
42864
|
layout: true,
|
|
@@ -42526,20 +42869,20 @@ function CreatorCard({
|
|
|
42526
42869
|
className: `flex flex-col bg-paperBackground rounded-[25px] py-5 pl-7 border-2 shadow-sm cursor-pointer transition-all ${detailsExpanded ? "border-purple100" : "border-gray300"}`,
|
|
42527
42870
|
onClick: () => setDetailsExpanded((prev) => !prev),
|
|
42528
42871
|
children: [
|
|
42529
|
-
/* @__PURE__ */
|
|
42530
|
-
/* @__PURE__ */
|
|
42531
|
-
hasValidBrandMention && /* @__PURE__ */
|
|
42532
|
-
/* @__PURE__ */
|
|
42533
|
-
/* @__PURE__ */
|
|
42872
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-4 sm:grid sm:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 items-start w-full pr-7", children: [
|
|
42873
|
+
/* @__PURE__ */ jsx173(ProfileSection, { creator, isValidationComplete }),
|
|
42874
|
+
hasValidBrandMention && /* @__PURE__ */ jsx173(BrandMentionPerformance, { creator }),
|
|
42875
|
+
/* @__PURE__ */ jsx173(CreatorFitSummary, { creator, showBrandPerformance: hasValidBrandMention }),
|
|
42876
|
+
/* @__PURE__ */ jsx173("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx173(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete }) })
|
|
42534
42877
|
] }),
|
|
42535
|
-
/* @__PURE__ */
|
|
42878
|
+
/* @__PURE__ */ jsx173(AnimatePresence4, { children: detailsExpanded && /* @__PURE__ */ jsx173(
|
|
42536
42879
|
motion5.div,
|
|
42537
42880
|
{
|
|
42538
42881
|
initial: { height: 0, opacity: 0 },
|
|
42539
42882
|
animate: { height: "auto", opacity: 1, transition: { height: { duration: 0.4, ease: [0.04, 0.62, 0.23, 0.98] }, opacity: { duration: 0.3, delay: 0.1 } } },
|
|
42540
42883
|
exit: { height: 0, opacity: 0, transition: { height: { duration: 0.3, ease: [0.04, 0.62, 0.23, 0.98] }, opacity: { duration: 0.2 } } },
|
|
42541
42884
|
className: "overflow-hidden mt-4",
|
|
42542
|
-
children: /* @__PURE__ */
|
|
42885
|
+
children: /* @__PURE__ */ jsx173(CreatorCardExpandedSection, { creator })
|
|
42543
42886
|
}
|
|
42544
42887
|
) })
|
|
42545
42888
|
]
|
|
@@ -42550,19 +42893,19 @@ function CreatorDisplay({
|
|
|
42550
42893
|
creators,
|
|
42551
42894
|
isValidationComplete
|
|
42552
42895
|
}) {
|
|
42553
|
-
const [viewMode, setViewMode] =
|
|
42554
|
-
return /* @__PURE__ */
|
|
42555
|
-
/* @__PURE__ */
|
|
42556
|
-
/* @__PURE__ */
|
|
42896
|
+
const [viewMode, setViewMode] = useState18("list");
|
|
42897
|
+
return /* @__PURE__ */ jsxs133("div", { className: "px-4", children: [
|
|
42898
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex justify-end items-center my-3 gap-1", children: [
|
|
42899
|
+
/* @__PURE__ */ jsxs133("span", { className: "text-xs text-gray600 mr-2", children: [
|
|
42557
42900
|
creators.length,
|
|
42558
42901
|
" creators"
|
|
42559
42902
|
] }),
|
|
42560
|
-
/* @__PURE__ */
|
|
42903
|
+
/* @__PURE__ */ jsx173(
|
|
42561
42904
|
"button",
|
|
42562
42905
|
{
|
|
42563
42906
|
className: `h-7 w-7 flex items-center justify-center rounded ${viewMode === "list" ? "bg-gray200" : ""}`,
|
|
42564
42907
|
onClick: () => setViewMode("list"),
|
|
42565
|
-
children: /* @__PURE__ */
|
|
42908
|
+
children: /* @__PURE__ */ jsx173(
|
|
42566
42909
|
AlignJustify,
|
|
42567
42910
|
{
|
|
42568
42911
|
className: `h-5 w-5 ${viewMode === "list" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -42570,12 +42913,12 @@ function CreatorDisplay({
|
|
|
42570
42913
|
)
|
|
42571
42914
|
}
|
|
42572
42915
|
),
|
|
42573
|
-
/* @__PURE__ */
|
|
42916
|
+
/* @__PURE__ */ jsx173(
|
|
42574
42917
|
"button",
|
|
42575
42918
|
{
|
|
42576
42919
|
className: `h-7 w-7 flex items-center justify-center rounded ${viewMode === "grid" ? "bg-gray200" : ""}`,
|
|
42577
42920
|
onClick: () => setViewMode("grid"),
|
|
42578
|
-
children: /* @__PURE__ */
|
|
42921
|
+
children: /* @__PURE__ */ jsx173(
|
|
42579
42922
|
LayoutGrid,
|
|
42580
42923
|
{
|
|
42581
42924
|
className: `h-5 w-5 ${viewMode === "grid" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -42584,43 +42927,43 @@ function CreatorDisplay({
|
|
|
42584
42927
|
}
|
|
42585
42928
|
)
|
|
42586
42929
|
] }),
|
|
42587
|
-
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */
|
|
42588
|
-
/* @__PURE__ */
|
|
42589
|
-
/* @__PURE__ */
|
|
42590
|
-
/* @__PURE__ */
|
|
42930
|
+
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */ jsx173("div", { className: "space-y-4", children: creators.map((creator) => /* @__PURE__ */ jsx173(CreatorCard, { creator, isValidationComplete }, creator._id)) }) : /* @__PURE__ */ jsx173(CreatorGridView, { creatorData: creators }) : /* @__PURE__ */ jsxs133("div", { className: "text-center py-8 bg-gray100 rounded-lg border border-gray300", children: [
|
|
42931
|
+
/* @__PURE__ */ jsx173("div", { className: "w-12 h-12 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-3", children: /* @__PURE__ */ jsx173(Users, { className: "w-6 h-6 text-primary" }) }),
|
|
42932
|
+
/* @__PURE__ */ jsx173("h3", { className: "text-base font-medium text-gray900", children: "No creators found" }),
|
|
42933
|
+
/* @__PURE__ */ jsx173("p", { className: "mt-1 text-sm text-gray600", children: "Try adjusting your search criteria" })
|
|
42591
42934
|
] })
|
|
42592
42935
|
] });
|
|
42593
42936
|
}
|
|
42594
42937
|
function CreatorCardSkeleton() {
|
|
42595
|
-
return /* @__PURE__ */
|
|
42596
|
-
/* @__PURE__ */
|
|
42597
|
-
/* @__PURE__ */
|
|
42598
|
-
/* @__PURE__ */
|
|
42599
|
-
/* @__PURE__ */
|
|
42600
|
-
/* @__PURE__ */
|
|
42601
|
-
/* @__PURE__ */
|
|
42602
|
-
/* @__PURE__ */
|
|
42938
|
+
return /* @__PURE__ */ jsx173("div", { className: "bg-paperBackground rounded-[25px] py-5 pl-7 pr-7 border-2 border-gray300 shadow-sm", children: /* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-4 sm:grid sm:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 items-start w-full", children: [
|
|
42939
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex items-start gap-1 md:gap-6", children: [
|
|
42940
|
+
/* @__PURE__ */ jsx173("div", { className: "w-[5rem] h-[5rem] rounded-[10px] bg-gray200 animate-pulse" }),
|
|
42941
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-3", children: [
|
|
42942
|
+
/* @__PURE__ */ jsx173("div", { className: "h-5 w-36 rounded bg-gray200 animate-pulse" }),
|
|
42943
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-24 rounded bg-gray200 animate-pulse" }),
|
|
42944
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-32 rounded bg-gray200 animate-pulse" }),
|
|
42945
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-44 rounded bg-gray200 animate-pulse" })
|
|
42603
42946
|
] })
|
|
42604
42947
|
] }),
|
|
42605
|
-
/* @__PURE__ */
|
|
42606
|
-
/* @__PURE__ */
|
|
42607
|
-
/* @__PURE__ */
|
|
42608
|
-
/* @__PURE__ */
|
|
42948
|
+
/* @__PURE__ */ jsxs133("div", { className: "space-y-3 w-full", children: [
|
|
42949
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-32 rounded bg-gray200 animate-pulse" }),
|
|
42950
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-28 rounded bg-gray200 animate-pulse" }),
|
|
42951
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-24 rounded bg-gray200 animate-pulse" })
|
|
42609
42952
|
] }),
|
|
42610
|
-
/* @__PURE__ */
|
|
42611
|
-
/* @__PURE__ */
|
|
42612
|
-
/* @__PURE__ */
|
|
42613
|
-
/* @__PURE__ */
|
|
42614
|
-
/* @__PURE__ */
|
|
42953
|
+
/* @__PURE__ */ jsxs133("div", { className: "space-y-3 w-full", children: [
|
|
42954
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-40 rounded bg-gray200 animate-pulse" }),
|
|
42955
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-full rounded bg-gray200 animate-pulse" }),
|
|
42956
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-[90%] rounded bg-gray200 animate-pulse" }),
|
|
42957
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-[75%] rounded bg-gray200 animate-pulse" })
|
|
42615
42958
|
] }),
|
|
42616
|
-
/* @__PURE__ */
|
|
42617
|
-
/* @__PURE__ */
|
|
42618
|
-
/* @__PURE__ */
|
|
42959
|
+
/* @__PURE__ */ jsxs133("div", { className: "hidden md:flex flex-col items-center justify-center gap-3", children: [
|
|
42960
|
+
/* @__PURE__ */ jsx173("div", { className: "h-6 w-16 rounded bg-gray200 animate-pulse" }),
|
|
42961
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-20 rounded bg-gray200 animate-pulse" })
|
|
42619
42962
|
] })
|
|
42620
42963
|
] }) });
|
|
42621
42964
|
}
|
|
42622
42965
|
function CreatorDisplaySkeleton() {
|
|
42623
|
-
return /* @__PURE__ */
|
|
42966
|
+
return /* @__PURE__ */ jsx173("div", { className: "px-4 py-4 space-y-4", children: Array.from({ length: 3 }).map((_, idx) => /* @__PURE__ */ jsx173(CreatorCardSkeleton, {}, idx)) });
|
|
42624
42967
|
}
|
|
42625
42968
|
function CreatorExpandedPanel({
|
|
42626
42969
|
isOpen,
|
|
@@ -42631,10 +42974,10 @@ function CreatorExpandedPanel({
|
|
|
42631
42974
|
searchSpec,
|
|
42632
42975
|
fetchCreatorDetails
|
|
42633
42976
|
}) {
|
|
42634
|
-
const [creators, setCreators] =
|
|
42635
|
-
const [loading, setLoading] =
|
|
42977
|
+
const [creators, setCreators] = useState18([]);
|
|
42978
|
+
const [loading, setLoading] = useState18(false);
|
|
42636
42979
|
const fetcher = fetchCreatorDetails ?? defaultFetchCreatorDetails;
|
|
42637
|
-
const loadCreators =
|
|
42980
|
+
const loadCreators = useCallback6(async () => {
|
|
42638
42981
|
if (!creatorIds.length) return;
|
|
42639
42982
|
setLoading(true);
|
|
42640
42983
|
try {
|
|
@@ -42646,15 +42989,15 @@ function CreatorExpandedPanel({
|
|
|
42646
42989
|
setLoading(false);
|
|
42647
42990
|
}
|
|
42648
42991
|
}, [creatorIds, sessionId, version, fetcher]);
|
|
42649
|
-
|
|
42992
|
+
useEffect11(() => {
|
|
42650
42993
|
if (isOpen && creatorIds.length > 0) {
|
|
42651
42994
|
loadCreators();
|
|
42652
42995
|
}
|
|
42653
42996
|
}, [isOpen, loadCreators]);
|
|
42654
42997
|
if (typeof window === "undefined") return null;
|
|
42655
42998
|
return ReactDOM2.createPortal(
|
|
42656
|
-
/* @__PURE__ */
|
|
42657
|
-
/* @__PURE__ */
|
|
42999
|
+
/* @__PURE__ */ jsx173(AnimatePresence4, { mode: "sync", children: isOpen && /* @__PURE__ */ jsxs133(Fragment10, { children: [
|
|
43000
|
+
/* @__PURE__ */ jsx173(
|
|
42658
43001
|
motion5.div,
|
|
42659
43002
|
{
|
|
42660
43003
|
initial: { opacity: 0 },
|
|
@@ -42669,7 +43012,7 @@ function CreatorExpandedPanel({
|
|
|
42669
43012
|
},
|
|
42670
43013
|
"overlay"
|
|
42671
43014
|
),
|
|
42672
|
-
/* @__PURE__ */
|
|
43015
|
+
/* @__PURE__ */ jsx173(
|
|
42673
43016
|
motion5.div,
|
|
42674
43017
|
{
|
|
42675
43018
|
initial: { x: "100%" },
|
|
@@ -42677,19 +43020,19 @@ function CreatorExpandedPanel({
|
|
|
42677
43020
|
exit: { x: "100%" },
|
|
42678
43021
|
transition: { type: "spring", damping: 30, stiffness: 400 },
|
|
42679
43022
|
className: "fixed top-0 right-0 h-full w-full max-w-7xl bg-background dark:bg-gray25 z-[70] shadow-2xl overflow-y-auto border border-gray300",
|
|
42680
|
-
children: /* @__PURE__ */
|
|
42681
|
-
/* @__PURE__ */
|
|
42682
|
-
/* @__PURE__ */
|
|
42683
|
-
/* @__PURE__ */
|
|
42684
|
-
/* @__PURE__ */
|
|
42685
|
-
/* @__PURE__ */
|
|
42686
|
-
/* @__PURE__ */
|
|
43023
|
+
children: /* @__PURE__ */ jsxs133("div", { className: "py-4 font-noto", children: [
|
|
43024
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex justify-between items-center w-full mb-4 pl-2", children: [
|
|
43025
|
+
/* @__PURE__ */ jsx173("button", { onClick: onClose, className: "p-2 rounded-full transition-colors", children: /* @__PURE__ */ jsx173(X, { className: "w-5 h-5" }) }),
|
|
43026
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex-1 flex flex-col w-[80%]", children: [
|
|
43027
|
+
/* @__PURE__ */ jsx173("div", { className: "flex flex-col md:flex-row justify-between gap-2 md:gap-0 md:items-center pr-16", children: /* @__PURE__ */ jsxs133("div", { className: "flex flex-col", children: [
|
|
43028
|
+
/* @__PURE__ */ jsx173("div", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] mb-2", children: /* @__PURE__ */ jsx173("h4", { className: "text-xs font-medium text-purpleText", children: "VERIFIED SEARCH RESULTS" }) }),
|
|
43029
|
+
/* @__PURE__ */ jsx173("h2", { className: "text-xl font-bold mb-1", children: "Creators Search Results" })
|
|
42687
43030
|
] }) }),
|
|
42688
|
-
searchSpec && /* @__PURE__ */
|
|
43031
|
+
searchSpec && /* @__PURE__ */ jsx173(SearchSpecDisplay, { spec: searchSpec })
|
|
42689
43032
|
] })
|
|
42690
43033
|
] }),
|
|
42691
|
-
/* @__PURE__ */
|
|
42692
|
-
loading ? /* @__PURE__ */
|
|
43034
|
+
/* @__PURE__ */ jsx173("div", { className: "border-b border-gray300" }),
|
|
43035
|
+
loading ? /* @__PURE__ */ jsx173(CreatorDisplaySkeleton, {}) : /* @__PURE__ */ jsx173(CreatorDisplay, { creators, isValidationComplete: version !== void 0 })
|
|
42693
43036
|
] })
|
|
42694
43037
|
},
|
|
42695
43038
|
"creator-panel"
|
|
@@ -42700,7 +43043,7 @@ function CreatorExpandedPanel({
|
|
|
42700
43043
|
}
|
|
42701
43044
|
|
|
42702
43045
|
// src/molecules/creator-discovery/CreatorWidget/useCreatorWidgetPolling.ts
|
|
42703
|
-
import { useState as
|
|
43046
|
+
import { useState as useState19, useEffect as useEffect12, useCallback as useCallback7, useMemo as useMemo10, useRef as useRef8 } from "react";
|
|
42704
43047
|
var DEFAULT_POLLING_CONFIG = {
|
|
42705
43048
|
pollInterval: 5e3,
|
|
42706
43049
|
maxDuration: 15 * 60 * 1e3,
|
|
@@ -42721,18 +43064,18 @@ function useCreatorWidgetPolling({
|
|
|
42721
43064
|
() => ({ ...DEFAULT_POLLING_CONFIG, ...pollingConfig }),
|
|
42722
43065
|
[pollingConfig]
|
|
42723
43066
|
);
|
|
42724
|
-
const [versionData, setVersionData] =
|
|
42725
|
-
const [totalVersions, setTotalVersions] =
|
|
42726
|
-
const [selectedVersion, setSelectedVersion] =
|
|
42727
|
-
const [isLoadingVersion, setIsLoadingVersion] =
|
|
42728
|
-
const [isValidationComplete, setIsValidationComplete] =
|
|
42729
|
-
const [versionStatus, setVersionStatus] =
|
|
42730
|
-
const [statusDetails, setStatusDetails] =
|
|
42731
|
-
const [timeDisplay, setTimeDisplay] =
|
|
42732
|
-
const [loadingStatus, setLoadingStatus] =
|
|
42733
|
-
const remainingTimeRef =
|
|
43067
|
+
const [versionData, setVersionData] = useState19(null);
|
|
43068
|
+
const [totalVersions, setTotalVersions] = useState19(0);
|
|
43069
|
+
const [selectedVersion, setSelectedVersion] = useState19();
|
|
43070
|
+
const [isLoadingVersion, setIsLoadingVersion] = useState19(false);
|
|
43071
|
+
const [isValidationComplete, setIsValidationComplete] = useState19(false);
|
|
43072
|
+
const [versionStatus, setVersionStatus] = useState19("checking");
|
|
43073
|
+
const [statusDetails, setStatusDetails] = useState19();
|
|
43074
|
+
const [timeDisplay, setTimeDisplay] = useState19("");
|
|
43075
|
+
const [loadingStatus, setLoadingStatus] = useState19(true);
|
|
43076
|
+
const remainingTimeRef = useRef8(0);
|
|
42734
43077
|
const requestedVersion = selectedVersion ?? currentVersion ?? versionData?.currentVersion;
|
|
42735
|
-
const fetchVersionData =
|
|
43078
|
+
const fetchVersionData = useCallback7(async () => {
|
|
42736
43079
|
if (!sessionId) return;
|
|
42737
43080
|
if (!versionData) setIsLoadingVersion(true);
|
|
42738
43081
|
try {
|
|
@@ -42753,17 +43096,17 @@ function useCreatorWidgetPolling({
|
|
|
42753
43096
|
setIsLoadingVersion(false);
|
|
42754
43097
|
}
|
|
42755
43098
|
}, [sessionId, requestedVersion, isValidationComplete, fetchVersions, versionData]);
|
|
42756
|
-
|
|
43099
|
+
useEffect12(() => {
|
|
42757
43100
|
fetchVersionData();
|
|
42758
43101
|
}, [sessionId, requestedVersion, isValidationComplete]);
|
|
42759
|
-
|
|
43102
|
+
useEffect12(() => {
|
|
42760
43103
|
if (totalVersions > 0 || !sessionId) return;
|
|
42761
43104
|
const interval = setInterval(() => {
|
|
42762
43105
|
if (totalVersions === 0) fetchVersionData();
|
|
42763
43106
|
}, config.pollInterval);
|
|
42764
43107
|
return () => clearInterval(interval);
|
|
42765
43108
|
}, [totalVersions, sessionId, fetchVersionData, config.pollInterval]);
|
|
42766
|
-
|
|
43109
|
+
useEffect12(() => {
|
|
42767
43110
|
if (!selectedVersion && !requestedVersion) return;
|
|
42768
43111
|
const activeVersion = selectedVersion ?? requestedVersion;
|
|
42769
43112
|
let isMounted = true;
|
|
@@ -42873,7 +43216,7 @@ function useCreatorWidgetPolling({
|
|
|
42873
43216
|
}
|
|
42874
43217
|
|
|
42875
43218
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
42876
|
-
import { jsx as
|
|
43219
|
+
import { jsx as jsx174, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
42877
43220
|
function CreatorWidgetInner({
|
|
42878
43221
|
sessionId,
|
|
42879
43222
|
currentVersion,
|
|
@@ -42886,7 +43229,7 @@ function CreatorWidgetInner({
|
|
|
42886
43229
|
onAction,
|
|
42887
43230
|
className
|
|
42888
43231
|
}) {
|
|
42889
|
-
const [isExpanded, setIsExpanded] =
|
|
43232
|
+
const [isExpanded, setIsExpanded] = useState20(false);
|
|
42890
43233
|
const {
|
|
42891
43234
|
versionNumbers,
|
|
42892
43235
|
selectedVersion,
|
|
@@ -42907,11 +43250,11 @@ function CreatorWidgetInner({
|
|
|
42907
43250
|
pollingConfig,
|
|
42908
43251
|
onStatusChange
|
|
42909
43252
|
});
|
|
42910
|
-
const handleVersionSelect =
|
|
43253
|
+
const handleVersionSelect = useCallback8(
|
|
42911
43254
|
(version) => setSelectedVersion(version),
|
|
42912
43255
|
[setSelectedVersion]
|
|
42913
43256
|
);
|
|
42914
|
-
const handleViewCreators =
|
|
43257
|
+
const handleViewCreators = useCallback8(() => {
|
|
42915
43258
|
setIsExpanded(true);
|
|
42916
43259
|
onAction?.({
|
|
42917
43260
|
type: "view-creators",
|
|
@@ -42921,8 +43264,8 @@ function CreatorWidgetInner({
|
|
|
42921
43264
|
searchSpec
|
|
42922
43265
|
});
|
|
42923
43266
|
}, [onAction, sessionId, creatorIds, selectedVersion, searchSpec]);
|
|
42924
|
-
return /* @__PURE__ */
|
|
42925
|
-
/* @__PURE__ */
|
|
43267
|
+
return /* @__PURE__ */ jsxs134("div", { className, children: [
|
|
43268
|
+
/* @__PURE__ */ jsx174(
|
|
42926
43269
|
CreatorCompactView,
|
|
42927
43270
|
{
|
|
42928
43271
|
versions: versionNumbers,
|
|
@@ -42938,7 +43281,7 @@ function CreatorWidgetInner({
|
|
|
42938
43281
|
isLoading
|
|
42939
43282
|
}
|
|
42940
43283
|
),
|
|
42941
|
-
/* @__PURE__ */
|
|
43284
|
+
/* @__PURE__ */ jsx174(
|
|
42942
43285
|
CreatorExpandedPanel,
|
|
42943
43286
|
{
|
|
42944
43287
|
isOpen: isExpanded,
|
|
@@ -43246,7 +43589,7 @@ __export(ui_exports, {
|
|
|
43246
43589
|
// src/components/ui/button-group.tsx
|
|
43247
43590
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
43248
43591
|
import { cva as cva8 } from "class-variance-authority";
|
|
43249
|
-
import { jsx as
|
|
43592
|
+
import { jsx as jsx175 } from "react/jsx-runtime";
|
|
43250
43593
|
var buttonGroupVariants = cva8(
|
|
43251
43594
|
"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
|
|
43252
43595
|
{
|
|
@@ -43266,7 +43609,7 @@ function ButtonGroup({
|
|
|
43266
43609
|
orientation,
|
|
43267
43610
|
...props
|
|
43268
43611
|
}) {
|
|
43269
|
-
return /* @__PURE__ */
|
|
43612
|
+
return /* @__PURE__ */ jsx175(
|
|
43270
43613
|
"div",
|
|
43271
43614
|
{
|
|
43272
43615
|
role: "group",
|
|
@@ -43283,7 +43626,7 @@ function ButtonGroupText({
|
|
|
43283
43626
|
...props
|
|
43284
43627
|
}) {
|
|
43285
43628
|
const Comp = asChild ? Slot4 : "div";
|
|
43286
|
-
return /* @__PURE__ */
|
|
43629
|
+
return /* @__PURE__ */ jsx175(
|
|
43287
43630
|
Comp,
|
|
43288
43631
|
{
|
|
43289
43632
|
className: cn(
|
|
@@ -43299,7 +43642,7 @@ function ButtonGroupSeparator({
|
|
|
43299
43642
|
orientation = "vertical",
|
|
43300
43643
|
...props
|
|
43301
43644
|
}) {
|
|
43302
|
-
return /* @__PURE__ */
|
|
43645
|
+
return /* @__PURE__ */ jsx175(
|
|
43303
43646
|
Separator2,
|
|
43304
43647
|
{
|
|
43305
43648
|
"data-slot": "button-group-separator",
|
|
@@ -43315,9 +43658,9 @@ function ButtonGroupSeparator({
|
|
|
43315
43658
|
|
|
43316
43659
|
// src/components/ui/empty.tsx
|
|
43317
43660
|
import { cva as cva9 } from "class-variance-authority";
|
|
43318
|
-
import { jsx as
|
|
43661
|
+
import { jsx as jsx176 } from "react/jsx-runtime";
|
|
43319
43662
|
function Empty({ className, ...props }) {
|
|
43320
|
-
return /* @__PURE__ */
|
|
43663
|
+
return /* @__PURE__ */ jsx176(
|
|
43321
43664
|
"div",
|
|
43322
43665
|
{
|
|
43323
43666
|
"data-slot": "empty",
|
|
@@ -43330,7 +43673,7 @@ function Empty({ className, ...props }) {
|
|
|
43330
43673
|
);
|
|
43331
43674
|
}
|
|
43332
43675
|
function EmptyHeader({ className, ...props }) {
|
|
43333
|
-
return /* @__PURE__ */
|
|
43676
|
+
return /* @__PURE__ */ jsx176(
|
|
43334
43677
|
"div",
|
|
43335
43678
|
{
|
|
43336
43679
|
"data-slot": "empty-header",
|
|
@@ -43361,7 +43704,7 @@ function EmptyMedia({
|
|
|
43361
43704
|
variant = "default",
|
|
43362
43705
|
...props
|
|
43363
43706
|
}) {
|
|
43364
|
-
return /* @__PURE__ */
|
|
43707
|
+
return /* @__PURE__ */ jsx176(
|
|
43365
43708
|
"div",
|
|
43366
43709
|
{
|
|
43367
43710
|
"data-slot": "empty-icon",
|
|
@@ -43372,7 +43715,7 @@ function EmptyMedia({
|
|
|
43372
43715
|
);
|
|
43373
43716
|
}
|
|
43374
43717
|
function EmptyTitle({ className, ...props }) {
|
|
43375
|
-
return /* @__PURE__ */
|
|
43718
|
+
return /* @__PURE__ */ jsx176(
|
|
43376
43719
|
"div",
|
|
43377
43720
|
{
|
|
43378
43721
|
"data-slot": "empty-title",
|
|
@@ -43382,7 +43725,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
43382
43725
|
);
|
|
43383
43726
|
}
|
|
43384
43727
|
function EmptyDescription({ className, ...props }) {
|
|
43385
|
-
return /* @__PURE__ */
|
|
43728
|
+
return /* @__PURE__ */ jsx176(
|
|
43386
43729
|
"div",
|
|
43387
43730
|
{
|
|
43388
43731
|
"data-slot": "empty-description",
|
|
@@ -43395,7 +43738,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
43395
43738
|
);
|
|
43396
43739
|
}
|
|
43397
43740
|
function EmptyContent({ className, ...props }) {
|
|
43398
|
-
return /* @__PURE__ */
|
|
43741
|
+
return /* @__PURE__ */ jsx176(
|
|
43399
43742
|
"div",
|
|
43400
43743
|
{
|
|
43401
43744
|
"data-slot": "empty-content",
|
|
@@ -43411,9 +43754,9 @@ function EmptyContent({ className, ...props }) {
|
|
|
43411
43754
|
// src/components/ui/field.tsx
|
|
43412
43755
|
import { useMemo as useMemo11 } from "react";
|
|
43413
43756
|
import { cva as cva10 } from "class-variance-authority";
|
|
43414
|
-
import { jsx as
|
|
43757
|
+
import { jsx as jsx177, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
43415
43758
|
function FieldSet({ className, ...props }) {
|
|
43416
|
-
return /* @__PURE__ */
|
|
43759
|
+
return /* @__PURE__ */ jsx177(
|
|
43417
43760
|
"fieldset",
|
|
43418
43761
|
{
|
|
43419
43762
|
"data-slot": "field-set",
|
|
@@ -43431,7 +43774,7 @@ function FieldLegend({
|
|
|
43431
43774
|
variant = "legend",
|
|
43432
43775
|
...props
|
|
43433
43776
|
}) {
|
|
43434
|
-
return /* @__PURE__ */
|
|
43777
|
+
return /* @__PURE__ */ jsx177(
|
|
43435
43778
|
"legend",
|
|
43436
43779
|
{
|
|
43437
43780
|
"data-slot": "field-legend",
|
|
@@ -43447,7 +43790,7 @@ function FieldLegend({
|
|
|
43447
43790
|
);
|
|
43448
43791
|
}
|
|
43449
43792
|
function FieldGroup({ className, ...props }) {
|
|
43450
|
-
return /* @__PURE__ */
|
|
43793
|
+
return /* @__PURE__ */ jsx177(
|
|
43451
43794
|
"div",
|
|
43452
43795
|
{
|
|
43453
43796
|
"data-slot": "field-group",
|
|
@@ -43487,7 +43830,7 @@ function Field({
|
|
|
43487
43830
|
orientation = "vertical",
|
|
43488
43831
|
...props
|
|
43489
43832
|
}) {
|
|
43490
|
-
return /* @__PURE__ */
|
|
43833
|
+
return /* @__PURE__ */ jsx177(
|
|
43491
43834
|
"div",
|
|
43492
43835
|
{
|
|
43493
43836
|
role: "group",
|
|
@@ -43499,7 +43842,7 @@ function Field({
|
|
|
43499
43842
|
);
|
|
43500
43843
|
}
|
|
43501
43844
|
function FieldContent({ className, ...props }) {
|
|
43502
|
-
return /* @__PURE__ */
|
|
43845
|
+
return /* @__PURE__ */ jsx177(
|
|
43503
43846
|
"div",
|
|
43504
43847
|
{
|
|
43505
43848
|
"data-slot": "field-content",
|
|
@@ -43515,7 +43858,7 @@ function FieldLabel({
|
|
|
43515
43858
|
className,
|
|
43516
43859
|
...props
|
|
43517
43860
|
}) {
|
|
43518
|
-
return /* @__PURE__ */
|
|
43861
|
+
return /* @__PURE__ */ jsx177(
|
|
43519
43862
|
Label,
|
|
43520
43863
|
{
|
|
43521
43864
|
"data-slot": "field-label",
|
|
@@ -43530,7 +43873,7 @@ function FieldLabel({
|
|
|
43530
43873
|
);
|
|
43531
43874
|
}
|
|
43532
43875
|
function FieldTitle({ className, ...props }) {
|
|
43533
|
-
return /* @__PURE__ */
|
|
43876
|
+
return /* @__PURE__ */ jsx177(
|
|
43534
43877
|
"div",
|
|
43535
43878
|
{
|
|
43536
43879
|
"data-slot": "field-label",
|
|
@@ -43543,7 +43886,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
43543
43886
|
);
|
|
43544
43887
|
}
|
|
43545
43888
|
function FieldDescription({ className, ...props }) {
|
|
43546
|
-
return /* @__PURE__ */
|
|
43889
|
+
return /* @__PURE__ */ jsx177(
|
|
43547
43890
|
"p",
|
|
43548
43891
|
{
|
|
43549
43892
|
"data-slot": "field-description",
|
|
@@ -43562,7 +43905,7 @@ function FieldSeparator({
|
|
|
43562
43905
|
className,
|
|
43563
43906
|
...props
|
|
43564
43907
|
}) {
|
|
43565
|
-
return /* @__PURE__ */
|
|
43908
|
+
return /* @__PURE__ */ jsxs135(
|
|
43566
43909
|
"div",
|
|
43567
43910
|
{
|
|
43568
43911
|
"data-slot": "field-separator",
|
|
@@ -43573,8 +43916,8 @@ function FieldSeparator({
|
|
|
43573
43916
|
),
|
|
43574
43917
|
...props,
|
|
43575
43918
|
children: [
|
|
43576
|
-
/* @__PURE__ */
|
|
43577
|
-
children && /* @__PURE__ */
|
|
43919
|
+
/* @__PURE__ */ jsx177(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
43920
|
+
children && /* @__PURE__ */ jsx177(
|
|
43578
43921
|
"span",
|
|
43579
43922
|
{
|
|
43580
43923
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -43602,14 +43945,14 @@ function FieldError({
|
|
|
43602
43945
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
43603
43946
|
return errors[0].message;
|
|
43604
43947
|
}
|
|
43605
|
-
return /* @__PURE__ */
|
|
43606
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
43948
|
+
return /* @__PURE__ */ jsx177("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
43949
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx177("li", { children: error.message }, index)
|
|
43607
43950
|
) });
|
|
43608
43951
|
}, [children, errors]);
|
|
43609
43952
|
if (!content) {
|
|
43610
43953
|
return null;
|
|
43611
43954
|
}
|
|
43612
|
-
return /* @__PURE__ */
|
|
43955
|
+
return /* @__PURE__ */ jsx177(
|
|
43613
43956
|
"div",
|
|
43614
43957
|
{
|
|
43615
43958
|
role: "alert",
|
|
@@ -43623,9 +43966,9 @@ function FieldError({
|
|
|
43623
43966
|
|
|
43624
43967
|
// src/components/ui/input-group.tsx
|
|
43625
43968
|
import { cva as cva11 } from "class-variance-authority";
|
|
43626
|
-
import { jsx as
|
|
43969
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
43627
43970
|
function InputGroup({ className, ...props }) {
|
|
43628
|
-
return /* @__PURE__ */
|
|
43971
|
+
return /* @__PURE__ */ jsx178(
|
|
43629
43972
|
"div",
|
|
43630
43973
|
{
|
|
43631
43974
|
"data-slot": "input-group",
|
|
@@ -43669,7 +44012,7 @@ function InputGroupAddon({
|
|
|
43669
44012
|
align = "inline-start",
|
|
43670
44013
|
...props
|
|
43671
44014
|
}) {
|
|
43672
|
-
return /* @__PURE__ */
|
|
44015
|
+
return /* @__PURE__ */ jsx178(
|
|
43673
44016
|
"div",
|
|
43674
44017
|
{
|
|
43675
44018
|
role: "group",
|
|
@@ -43709,7 +44052,7 @@ function InputGroupButton({
|
|
|
43709
44052
|
size = "xs",
|
|
43710
44053
|
...props
|
|
43711
44054
|
}) {
|
|
43712
|
-
return /* @__PURE__ */
|
|
44055
|
+
return /* @__PURE__ */ jsx178(
|
|
43713
44056
|
Button,
|
|
43714
44057
|
{
|
|
43715
44058
|
type,
|
|
@@ -43721,7 +44064,7 @@ function InputGroupButton({
|
|
|
43721
44064
|
);
|
|
43722
44065
|
}
|
|
43723
44066
|
function InputGroupText({ className, ...props }) {
|
|
43724
|
-
return /* @__PURE__ */
|
|
44067
|
+
return /* @__PURE__ */ jsx178(
|
|
43725
44068
|
"span",
|
|
43726
44069
|
{
|
|
43727
44070
|
className: cn(
|
|
@@ -43736,7 +44079,7 @@ function InputGroupInput({
|
|
|
43736
44079
|
className,
|
|
43737
44080
|
...props
|
|
43738
44081
|
}) {
|
|
43739
|
-
return /* @__PURE__ */
|
|
44082
|
+
return /* @__PURE__ */ jsx178(
|
|
43740
44083
|
Input,
|
|
43741
44084
|
{
|
|
43742
44085
|
"data-slot": "input-group-control",
|
|
@@ -43752,7 +44095,7 @@ function InputGroupTextarea({
|
|
|
43752
44095
|
className,
|
|
43753
44096
|
...props
|
|
43754
44097
|
}) {
|
|
43755
|
-
return /* @__PURE__ */
|
|
44098
|
+
return /* @__PURE__ */ jsx178(
|
|
43756
44099
|
Textarea,
|
|
43757
44100
|
{
|
|
43758
44101
|
"data-slot": "input-group-control",
|
|
@@ -43768,9 +44111,9 @@ function InputGroupTextarea({
|
|
|
43768
44111
|
// src/components/ui/item.tsx
|
|
43769
44112
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
43770
44113
|
import { cva as cva12 } from "class-variance-authority";
|
|
43771
|
-
import { jsx as
|
|
44114
|
+
import { jsx as jsx179 } from "react/jsx-runtime";
|
|
43772
44115
|
function ItemGroup({ className, ...props }) {
|
|
43773
|
-
return /* @__PURE__ */
|
|
44116
|
+
return /* @__PURE__ */ jsx179(
|
|
43774
44117
|
"div",
|
|
43775
44118
|
{
|
|
43776
44119
|
role: "list",
|
|
@@ -43784,7 +44127,7 @@ function ItemSeparator({
|
|
|
43784
44127
|
className,
|
|
43785
44128
|
...props
|
|
43786
44129
|
}) {
|
|
43787
|
-
return /* @__PURE__ */
|
|
44130
|
+
return /* @__PURE__ */ jsx179(
|
|
43788
44131
|
Separator2,
|
|
43789
44132
|
{
|
|
43790
44133
|
"data-slot": "item-separator",
|
|
@@ -43822,7 +44165,7 @@ function Item8({
|
|
|
43822
44165
|
...props
|
|
43823
44166
|
}) {
|
|
43824
44167
|
const Comp = asChild ? Slot5 : "div";
|
|
43825
|
-
return /* @__PURE__ */
|
|
44168
|
+
return /* @__PURE__ */ jsx179(
|
|
43826
44169
|
Comp,
|
|
43827
44170
|
{
|
|
43828
44171
|
"data-slot": "item",
|
|
@@ -43853,7 +44196,7 @@ function ItemMedia({
|
|
|
43853
44196
|
variant = "default",
|
|
43854
44197
|
...props
|
|
43855
44198
|
}) {
|
|
43856
|
-
return /* @__PURE__ */
|
|
44199
|
+
return /* @__PURE__ */ jsx179(
|
|
43857
44200
|
"div",
|
|
43858
44201
|
{
|
|
43859
44202
|
"data-slot": "item-media",
|
|
@@ -43864,7 +44207,7 @@ function ItemMedia({
|
|
|
43864
44207
|
);
|
|
43865
44208
|
}
|
|
43866
44209
|
function ItemContent({ className, ...props }) {
|
|
43867
|
-
return /* @__PURE__ */
|
|
44210
|
+
return /* @__PURE__ */ jsx179(
|
|
43868
44211
|
"div",
|
|
43869
44212
|
{
|
|
43870
44213
|
"data-slot": "item-content",
|
|
@@ -43877,7 +44220,7 @@ function ItemContent({ className, ...props }) {
|
|
|
43877
44220
|
);
|
|
43878
44221
|
}
|
|
43879
44222
|
function ItemTitle({ className, ...props }) {
|
|
43880
|
-
return /* @__PURE__ */
|
|
44223
|
+
return /* @__PURE__ */ jsx179(
|
|
43881
44224
|
"div",
|
|
43882
44225
|
{
|
|
43883
44226
|
"data-slot": "item-title",
|
|
@@ -43890,7 +44233,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
43890
44233
|
);
|
|
43891
44234
|
}
|
|
43892
44235
|
function ItemDescription({ className, ...props }) {
|
|
43893
|
-
return /* @__PURE__ */
|
|
44236
|
+
return /* @__PURE__ */ jsx179(
|
|
43894
44237
|
"p",
|
|
43895
44238
|
{
|
|
43896
44239
|
"data-slot": "item-description",
|
|
@@ -43904,7 +44247,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
43904
44247
|
);
|
|
43905
44248
|
}
|
|
43906
44249
|
function ItemActions({ className, ...props }) {
|
|
43907
|
-
return /* @__PURE__ */
|
|
44250
|
+
return /* @__PURE__ */ jsx179(
|
|
43908
44251
|
"div",
|
|
43909
44252
|
{
|
|
43910
44253
|
"data-slot": "item-actions",
|
|
@@ -43914,7 +44257,7 @@ function ItemActions({ className, ...props }) {
|
|
|
43914
44257
|
);
|
|
43915
44258
|
}
|
|
43916
44259
|
function ItemHeader({ className, ...props }) {
|
|
43917
|
-
return /* @__PURE__ */
|
|
44260
|
+
return /* @__PURE__ */ jsx179(
|
|
43918
44261
|
"div",
|
|
43919
44262
|
{
|
|
43920
44263
|
"data-slot": "item-header",
|
|
@@ -43927,7 +44270,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
43927
44270
|
);
|
|
43928
44271
|
}
|
|
43929
44272
|
function ItemFooter({ className, ...props }) {
|
|
43930
|
-
return /* @__PURE__ */
|
|
44273
|
+
return /* @__PURE__ */ jsx179(
|
|
43931
44274
|
"div",
|
|
43932
44275
|
{
|
|
43933
44276
|
"data-slot": "item-footer",
|
|
@@ -43941,9 +44284,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
43941
44284
|
}
|
|
43942
44285
|
|
|
43943
44286
|
// src/components/ui/kbd.tsx
|
|
43944
|
-
import { jsx as
|
|
44287
|
+
import { jsx as jsx180 } from "react/jsx-runtime";
|
|
43945
44288
|
function Kbd({ className, ...props }) {
|
|
43946
|
-
return /* @__PURE__ */
|
|
44289
|
+
return /* @__PURE__ */ jsx180(
|
|
43947
44290
|
"kbd",
|
|
43948
44291
|
{
|
|
43949
44292
|
"data-slot": "kbd",
|
|
@@ -43958,7 +44301,7 @@ function Kbd({ className, ...props }) {
|
|
|
43958
44301
|
);
|
|
43959
44302
|
}
|
|
43960
44303
|
function KbdGroup({ className, ...props }) {
|
|
43961
|
-
return /* @__PURE__ */
|
|
44304
|
+
return /* @__PURE__ */ jsx180(
|
|
43962
44305
|
"kbd",
|
|
43963
44306
|
{
|
|
43964
44307
|
"data-slot": "kbd-group",
|
|
@@ -43969,16 +44312,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
43969
44312
|
}
|
|
43970
44313
|
|
|
43971
44314
|
// src/components/ui/sidebar.tsx
|
|
43972
|
-
import * as
|
|
44315
|
+
import * as React112 from "react";
|
|
43973
44316
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
43974
44317
|
import { cva as cva13 } from "class-variance-authority";
|
|
43975
44318
|
|
|
43976
44319
|
// src/hooks/use-mobile.tsx
|
|
43977
|
-
import * as
|
|
44320
|
+
import * as React111 from "react";
|
|
43978
44321
|
var MOBILE_BREAKPOINT = 768;
|
|
43979
44322
|
function useIsMobile() {
|
|
43980
|
-
const [isMobile, setIsMobile] =
|
|
43981
|
-
|
|
44323
|
+
const [isMobile, setIsMobile] = React111.useState(void 0);
|
|
44324
|
+
React111.useEffect(() => {
|
|
43982
44325
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
43983
44326
|
const onChange = () => {
|
|
43984
44327
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -43991,22 +44334,22 @@ function useIsMobile() {
|
|
|
43991
44334
|
}
|
|
43992
44335
|
|
|
43993
44336
|
// src/components/ui/sidebar.tsx
|
|
43994
|
-
import { jsx as
|
|
44337
|
+
import { jsx as jsx181, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
43995
44338
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
43996
44339
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
43997
44340
|
var SIDEBAR_WIDTH = "16rem";
|
|
43998
44341
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
43999
44342
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
44000
44343
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
44001
|
-
var SidebarContext =
|
|
44344
|
+
var SidebarContext = React112.createContext(null);
|
|
44002
44345
|
function useSidebar() {
|
|
44003
|
-
const context =
|
|
44346
|
+
const context = React112.useContext(SidebarContext);
|
|
44004
44347
|
if (!context) {
|
|
44005
44348
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
44006
44349
|
}
|
|
44007
44350
|
return context;
|
|
44008
44351
|
}
|
|
44009
|
-
var SidebarProvider =
|
|
44352
|
+
var SidebarProvider = React112.forwardRef(
|
|
44010
44353
|
({
|
|
44011
44354
|
defaultOpen = true,
|
|
44012
44355
|
open: openProp,
|
|
@@ -44017,10 +44360,10 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44017
44360
|
...props
|
|
44018
44361
|
}, ref) => {
|
|
44019
44362
|
const isMobile = useIsMobile();
|
|
44020
|
-
const [openMobile, setOpenMobile] =
|
|
44021
|
-
const [_open, _setOpen] =
|
|
44363
|
+
const [openMobile, setOpenMobile] = React112.useState(false);
|
|
44364
|
+
const [_open, _setOpen] = React112.useState(defaultOpen);
|
|
44022
44365
|
const open = openProp ?? _open;
|
|
44023
|
-
const setOpen =
|
|
44366
|
+
const setOpen = React112.useCallback(
|
|
44024
44367
|
(value) => {
|
|
44025
44368
|
const openState = typeof value === "function" ? value(open) : value;
|
|
44026
44369
|
if (setOpenProp) {
|
|
@@ -44032,10 +44375,10 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44032
44375
|
},
|
|
44033
44376
|
[setOpenProp, open]
|
|
44034
44377
|
);
|
|
44035
|
-
const toggleSidebar =
|
|
44378
|
+
const toggleSidebar = React112.useCallback(() => {
|
|
44036
44379
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
44037
44380
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
44038
|
-
|
|
44381
|
+
React112.useEffect(() => {
|
|
44039
44382
|
const handleKeyDown = (event) => {
|
|
44040
44383
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
44041
44384
|
event.preventDefault();
|
|
@@ -44046,7 +44389,7 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44046
44389
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
44047
44390
|
}, [toggleSidebar]);
|
|
44048
44391
|
const state = open ? "expanded" : "collapsed";
|
|
44049
|
-
const contextValue =
|
|
44392
|
+
const contextValue = React112.useMemo(
|
|
44050
44393
|
() => ({
|
|
44051
44394
|
state,
|
|
44052
44395
|
open,
|
|
@@ -44058,7 +44401,7 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44058
44401
|
}),
|
|
44059
44402
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
44060
44403
|
);
|
|
44061
|
-
return /* @__PURE__ */
|
|
44404
|
+
return /* @__PURE__ */ jsx181(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx181(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx181(
|
|
44062
44405
|
"div",
|
|
44063
44406
|
{
|
|
44064
44407
|
style: {
|
|
@@ -44078,7 +44421,7 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44078
44421
|
}
|
|
44079
44422
|
);
|
|
44080
44423
|
SidebarProvider.displayName = "SidebarProvider";
|
|
44081
|
-
var Sidebar =
|
|
44424
|
+
var Sidebar = React112.forwardRef(
|
|
44082
44425
|
({
|
|
44083
44426
|
side = "left",
|
|
44084
44427
|
variant = "sidebar",
|
|
@@ -44089,7 +44432,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44089
44432
|
}, ref) => {
|
|
44090
44433
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
44091
44434
|
if (collapsible === "none") {
|
|
44092
|
-
return /* @__PURE__ */
|
|
44435
|
+
return /* @__PURE__ */ jsx181(
|
|
44093
44436
|
"div",
|
|
44094
44437
|
{
|
|
44095
44438
|
className: cn(
|
|
@@ -44103,7 +44446,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44103
44446
|
);
|
|
44104
44447
|
}
|
|
44105
44448
|
if (isMobile) {
|
|
44106
|
-
return /* @__PURE__ */
|
|
44449
|
+
return /* @__PURE__ */ jsx181(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs136(
|
|
44107
44450
|
SheetContent,
|
|
44108
44451
|
{
|
|
44109
44452
|
"data-sidebar": "sidebar",
|
|
@@ -44114,16 +44457,16 @@ var Sidebar = React111.forwardRef(
|
|
|
44114
44457
|
},
|
|
44115
44458
|
side,
|
|
44116
44459
|
children: [
|
|
44117
|
-
/* @__PURE__ */
|
|
44118
|
-
/* @__PURE__ */
|
|
44119
|
-
/* @__PURE__ */
|
|
44460
|
+
/* @__PURE__ */ jsxs136(SheetHeader, { className: "sr-only", children: [
|
|
44461
|
+
/* @__PURE__ */ jsx181(SheetTitle, { children: "Sidebar" }),
|
|
44462
|
+
/* @__PURE__ */ jsx181(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
44120
44463
|
] }),
|
|
44121
|
-
/* @__PURE__ */
|
|
44464
|
+
/* @__PURE__ */ jsx181("div", { className: "flex h-full w-full flex-col", children })
|
|
44122
44465
|
]
|
|
44123
44466
|
}
|
|
44124
44467
|
) });
|
|
44125
44468
|
}
|
|
44126
|
-
return /* @__PURE__ */
|
|
44469
|
+
return /* @__PURE__ */ jsxs136(
|
|
44127
44470
|
"div",
|
|
44128
44471
|
{
|
|
44129
44472
|
ref,
|
|
@@ -44133,7 +44476,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44133
44476
|
"data-variant": variant,
|
|
44134
44477
|
"data-side": side,
|
|
44135
44478
|
children: [
|
|
44136
|
-
/* @__PURE__ */
|
|
44479
|
+
/* @__PURE__ */ jsx181(
|
|
44137
44480
|
"div",
|
|
44138
44481
|
{
|
|
44139
44482
|
className: cn(
|
|
@@ -44144,7 +44487,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44144
44487
|
)
|
|
44145
44488
|
}
|
|
44146
44489
|
),
|
|
44147
|
-
/* @__PURE__ */
|
|
44490
|
+
/* @__PURE__ */ jsx181(
|
|
44148
44491
|
"div",
|
|
44149
44492
|
{
|
|
44150
44493
|
className: cn(
|
|
@@ -44155,7 +44498,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44155
44498
|
className
|
|
44156
44499
|
),
|
|
44157
44500
|
...props,
|
|
44158
|
-
children: /* @__PURE__ */
|
|
44501
|
+
children: /* @__PURE__ */ jsx181(
|
|
44159
44502
|
"div",
|
|
44160
44503
|
{
|
|
44161
44504
|
"data-sidebar": "sidebar",
|
|
@@ -44171,9 +44514,9 @@ var Sidebar = React111.forwardRef(
|
|
|
44171
44514
|
}
|
|
44172
44515
|
);
|
|
44173
44516
|
Sidebar.displayName = "Sidebar";
|
|
44174
|
-
var SidebarTrigger =
|
|
44517
|
+
var SidebarTrigger = React112.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
44175
44518
|
const { toggleSidebar } = useSidebar();
|
|
44176
|
-
return /* @__PURE__ */
|
|
44519
|
+
return /* @__PURE__ */ jsxs136(
|
|
44177
44520
|
Button,
|
|
44178
44521
|
{
|
|
44179
44522
|
ref,
|
|
@@ -44187,16 +44530,16 @@ var SidebarTrigger = React111.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
44187
44530
|
},
|
|
44188
44531
|
...props,
|
|
44189
44532
|
children: [
|
|
44190
|
-
/* @__PURE__ */
|
|
44191
|
-
/* @__PURE__ */
|
|
44533
|
+
/* @__PURE__ */ jsx181(PanelLeft, {}),
|
|
44534
|
+
/* @__PURE__ */ jsx181("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
44192
44535
|
]
|
|
44193
44536
|
}
|
|
44194
44537
|
);
|
|
44195
44538
|
});
|
|
44196
44539
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
44197
|
-
var SidebarRail =
|
|
44540
|
+
var SidebarRail = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44198
44541
|
const { toggleSidebar } = useSidebar();
|
|
44199
|
-
return /* @__PURE__ */
|
|
44542
|
+
return /* @__PURE__ */ jsx181(
|
|
44200
44543
|
"button",
|
|
44201
44544
|
{
|
|
44202
44545
|
ref,
|
|
@@ -44219,8 +44562,8 @@ var SidebarRail = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44219
44562
|
);
|
|
44220
44563
|
});
|
|
44221
44564
|
SidebarRail.displayName = "SidebarRail";
|
|
44222
|
-
var SidebarInset =
|
|
44223
|
-
return /* @__PURE__ */
|
|
44565
|
+
var SidebarInset = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44566
|
+
return /* @__PURE__ */ jsx181(
|
|
44224
44567
|
"main",
|
|
44225
44568
|
{
|
|
44226
44569
|
ref,
|
|
@@ -44234,8 +44577,8 @@ var SidebarInset = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44234
44577
|
);
|
|
44235
44578
|
});
|
|
44236
44579
|
SidebarInset.displayName = "SidebarInset";
|
|
44237
|
-
var SidebarInput =
|
|
44238
|
-
return /* @__PURE__ */
|
|
44580
|
+
var SidebarInput = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44581
|
+
return /* @__PURE__ */ jsx181(
|
|
44239
44582
|
Input,
|
|
44240
44583
|
{
|
|
44241
44584
|
ref,
|
|
@@ -44249,8 +44592,8 @@ var SidebarInput = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44249
44592
|
);
|
|
44250
44593
|
});
|
|
44251
44594
|
SidebarInput.displayName = "SidebarInput";
|
|
44252
|
-
var SidebarHeader =
|
|
44253
|
-
return /* @__PURE__ */
|
|
44595
|
+
var SidebarHeader = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44596
|
+
return /* @__PURE__ */ jsx181(
|
|
44254
44597
|
"div",
|
|
44255
44598
|
{
|
|
44256
44599
|
ref,
|
|
@@ -44261,8 +44604,8 @@ var SidebarHeader = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44261
44604
|
);
|
|
44262
44605
|
});
|
|
44263
44606
|
SidebarHeader.displayName = "SidebarHeader";
|
|
44264
|
-
var SidebarFooter =
|
|
44265
|
-
return /* @__PURE__ */
|
|
44607
|
+
var SidebarFooter = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44608
|
+
return /* @__PURE__ */ jsx181(
|
|
44266
44609
|
"div",
|
|
44267
44610
|
{
|
|
44268
44611
|
ref,
|
|
@@ -44273,8 +44616,8 @@ var SidebarFooter = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44273
44616
|
);
|
|
44274
44617
|
});
|
|
44275
44618
|
SidebarFooter.displayName = "SidebarFooter";
|
|
44276
|
-
var SidebarSeparator =
|
|
44277
|
-
return /* @__PURE__ */
|
|
44619
|
+
var SidebarSeparator = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44620
|
+
return /* @__PURE__ */ jsx181(
|
|
44278
44621
|
Separator2,
|
|
44279
44622
|
{
|
|
44280
44623
|
ref,
|
|
@@ -44285,8 +44628,8 @@ var SidebarSeparator = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44285
44628
|
);
|
|
44286
44629
|
});
|
|
44287
44630
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
44288
|
-
var SidebarContent =
|
|
44289
|
-
return /* @__PURE__ */
|
|
44631
|
+
var SidebarContent = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44632
|
+
return /* @__PURE__ */ jsx181(
|
|
44290
44633
|
"div",
|
|
44291
44634
|
{
|
|
44292
44635
|
ref,
|
|
@@ -44300,8 +44643,8 @@ var SidebarContent = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44300
44643
|
);
|
|
44301
44644
|
});
|
|
44302
44645
|
SidebarContent.displayName = "SidebarContent";
|
|
44303
|
-
var SidebarGroup =
|
|
44304
|
-
return /* @__PURE__ */
|
|
44646
|
+
var SidebarGroup = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44647
|
+
return /* @__PURE__ */ jsx181(
|
|
44305
44648
|
"div",
|
|
44306
44649
|
{
|
|
44307
44650
|
ref,
|
|
@@ -44312,9 +44655,9 @@ var SidebarGroup = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44312
44655
|
);
|
|
44313
44656
|
});
|
|
44314
44657
|
SidebarGroup.displayName = "SidebarGroup";
|
|
44315
|
-
var SidebarGroupLabel =
|
|
44658
|
+
var SidebarGroupLabel = React112.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
44316
44659
|
const Comp = asChild ? Slot6 : "div";
|
|
44317
|
-
return /* @__PURE__ */
|
|
44660
|
+
return /* @__PURE__ */ jsx181(
|
|
44318
44661
|
Comp,
|
|
44319
44662
|
{
|
|
44320
44663
|
ref,
|
|
@@ -44329,9 +44672,9 @@ var SidebarGroupLabel = React111.forwardRef(({ className, asChild = false, ...pr
|
|
|
44329
44672
|
);
|
|
44330
44673
|
});
|
|
44331
44674
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
44332
|
-
var SidebarGroupAction =
|
|
44675
|
+
var SidebarGroupAction = React112.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
44333
44676
|
const Comp = asChild ? Slot6 : "button";
|
|
44334
|
-
return /* @__PURE__ */
|
|
44677
|
+
return /* @__PURE__ */ jsx181(
|
|
44335
44678
|
Comp,
|
|
44336
44679
|
{
|
|
44337
44680
|
ref,
|
|
@@ -44348,7 +44691,7 @@ var SidebarGroupAction = React111.forwardRef(({ className, asChild = false, ...p
|
|
|
44348
44691
|
);
|
|
44349
44692
|
});
|
|
44350
44693
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
44351
|
-
var SidebarGroupContent =
|
|
44694
|
+
var SidebarGroupContent = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44352
44695
|
"div",
|
|
44353
44696
|
{
|
|
44354
44697
|
ref,
|
|
@@ -44358,7 +44701,7 @@ var SidebarGroupContent = React111.forwardRef(({ className, ...props }, ref) =>
|
|
|
44358
44701
|
}
|
|
44359
44702
|
));
|
|
44360
44703
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
44361
|
-
var SidebarMenu =
|
|
44704
|
+
var SidebarMenu = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44362
44705
|
"ul",
|
|
44363
44706
|
{
|
|
44364
44707
|
ref,
|
|
@@ -44368,7 +44711,7 @@ var SidebarMenu = React111.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
44368
44711
|
}
|
|
44369
44712
|
));
|
|
44370
44713
|
SidebarMenu.displayName = "SidebarMenu";
|
|
44371
|
-
var SidebarMenuItem =
|
|
44714
|
+
var SidebarMenuItem = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44372
44715
|
"li",
|
|
44373
44716
|
{
|
|
44374
44717
|
ref,
|
|
@@ -44398,7 +44741,7 @@ var sidebarMenuButtonVariants = cva13(
|
|
|
44398
44741
|
}
|
|
44399
44742
|
}
|
|
44400
44743
|
);
|
|
44401
|
-
var SidebarMenuButton =
|
|
44744
|
+
var SidebarMenuButton = React112.forwardRef(
|
|
44402
44745
|
({
|
|
44403
44746
|
asChild = false,
|
|
44404
44747
|
isActive = false,
|
|
@@ -44410,7 +44753,7 @@ var SidebarMenuButton = React111.forwardRef(
|
|
|
44410
44753
|
}, ref) => {
|
|
44411
44754
|
const Comp = asChild ? Slot6 : "button";
|
|
44412
44755
|
const { isMobile, state } = useSidebar();
|
|
44413
|
-
const button = /* @__PURE__ */
|
|
44756
|
+
const button = /* @__PURE__ */ jsx181(
|
|
44414
44757
|
Comp,
|
|
44415
44758
|
{
|
|
44416
44759
|
ref,
|
|
@@ -44429,9 +44772,9 @@ var SidebarMenuButton = React111.forwardRef(
|
|
|
44429
44772
|
children: tooltip
|
|
44430
44773
|
};
|
|
44431
44774
|
}
|
|
44432
|
-
return /* @__PURE__ */
|
|
44433
|
-
/* @__PURE__ */
|
|
44434
|
-
/* @__PURE__ */
|
|
44775
|
+
return /* @__PURE__ */ jsxs136(Tooltip, { children: [
|
|
44776
|
+
/* @__PURE__ */ jsx181(TooltipTrigger, { asChild: true, children: button }),
|
|
44777
|
+
/* @__PURE__ */ jsx181(
|
|
44435
44778
|
TooltipContent,
|
|
44436
44779
|
{
|
|
44437
44780
|
side: "right",
|
|
@@ -44444,9 +44787,9 @@ var SidebarMenuButton = React111.forwardRef(
|
|
|
44444
44787
|
}
|
|
44445
44788
|
);
|
|
44446
44789
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
44447
|
-
var SidebarMenuAction =
|
|
44790
|
+
var SidebarMenuAction = React112.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
44448
44791
|
const Comp = asChild ? Slot6 : "button";
|
|
44449
|
-
return /* @__PURE__ */
|
|
44792
|
+
return /* @__PURE__ */ jsx181(
|
|
44450
44793
|
Comp,
|
|
44451
44794
|
{
|
|
44452
44795
|
ref,
|
|
@@ -44467,7 +44810,7 @@ var SidebarMenuAction = React111.forwardRef(({ className, asChild = false, showO
|
|
|
44467
44810
|
);
|
|
44468
44811
|
});
|
|
44469
44812
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
44470
|
-
var SidebarMenuBadge =
|
|
44813
|
+
var SidebarMenuBadge = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44471
44814
|
"div",
|
|
44472
44815
|
{
|
|
44473
44816
|
ref,
|
|
@@ -44485,11 +44828,11 @@ var SidebarMenuBadge = React111.forwardRef(({ className, ...props }, ref) => /*
|
|
|
44485
44828
|
}
|
|
44486
44829
|
));
|
|
44487
44830
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
44488
|
-
var SidebarMenuSkeleton =
|
|
44489
|
-
const width =
|
|
44831
|
+
var SidebarMenuSkeleton = React112.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
44832
|
+
const width = React112.useMemo(() => {
|
|
44490
44833
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
44491
44834
|
}, []);
|
|
44492
|
-
return /* @__PURE__ */
|
|
44835
|
+
return /* @__PURE__ */ jsxs136(
|
|
44493
44836
|
"div",
|
|
44494
44837
|
{
|
|
44495
44838
|
ref,
|
|
@@ -44497,14 +44840,14 @@ var SidebarMenuSkeleton = React111.forwardRef(({ className, showIcon = false, ..
|
|
|
44497
44840
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
44498
44841
|
...props,
|
|
44499
44842
|
children: [
|
|
44500
|
-
showIcon && /* @__PURE__ */
|
|
44843
|
+
showIcon && /* @__PURE__ */ jsx181(
|
|
44501
44844
|
Skeleton,
|
|
44502
44845
|
{
|
|
44503
44846
|
className: "size-4 rounded-md",
|
|
44504
44847
|
"data-sidebar": "menu-skeleton-icon"
|
|
44505
44848
|
}
|
|
44506
44849
|
),
|
|
44507
|
-
/* @__PURE__ */
|
|
44850
|
+
/* @__PURE__ */ jsx181(
|
|
44508
44851
|
Skeleton,
|
|
44509
44852
|
{
|
|
44510
44853
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -44519,7 +44862,7 @@ var SidebarMenuSkeleton = React111.forwardRef(({ className, showIcon = false, ..
|
|
|
44519
44862
|
);
|
|
44520
44863
|
});
|
|
44521
44864
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
44522
|
-
var SidebarMenuSub =
|
|
44865
|
+
var SidebarMenuSub = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44523
44866
|
"ul",
|
|
44524
44867
|
{
|
|
44525
44868
|
ref,
|
|
@@ -44533,11 +44876,11 @@ var SidebarMenuSub = React111.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
44533
44876
|
}
|
|
44534
44877
|
));
|
|
44535
44878
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
44536
|
-
var SidebarMenuSubItem =
|
|
44879
|
+
var SidebarMenuSubItem = React112.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx181("li", { ref, ...props }));
|
|
44537
44880
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
44538
|
-
var SidebarMenuSubButton =
|
|
44881
|
+
var SidebarMenuSubButton = React112.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
44539
44882
|
const Comp = asChild ? Slot6 : "a";
|
|
44540
|
-
return /* @__PURE__ */
|
|
44883
|
+
return /* @__PURE__ */ jsx181(
|
|
44541
44884
|
Comp,
|
|
44542
44885
|
{
|
|
44543
44886
|
ref,
|
|
@@ -44561,20 +44904,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
44561
44904
|
// src/components/ui/sonner.tsx
|
|
44562
44905
|
import { useTheme } from "next-themes";
|
|
44563
44906
|
import { Toaster as Sonner } from "sonner";
|
|
44564
|
-
import { jsx as
|
|
44907
|
+
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
44565
44908
|
var Toaster = ({ ...props }) => {
|
|
44566
44909
|
const { theme = "system" } = useTheme();
|
|
44567
|
-
return /* @__PURE__ */
|
|
44910
|
+
return /* @__PURE__ */ jsx182(
|
|
44568
44911
|
Sonner,
|
|
44569
44912
|
{
|
|
44570
44913
|
theme,
|
|
44571
44914
|
className: "toaster group",
|
|
44572
44915
|
icons: {
|
|
44573
|
-
success: /* @__PURE__ */
|
|
44574
|
-
info: /* @__PURE__ */
|
|
44575
|
-
warning: /* @__PURE__ */
|
|
44576
|
-
error: /* @__PURE__ */
|
|
44577
|
-
loading: /* @__PURE__ */
|
|
44916
|
+
success: /* @__PURE__ */ jsx182(CircleCheck, { className: "h-4 w-4" }),
|
|
44917
|
+
info: /* @__PURE__ */ jsx182(Info, { className: "h-4 w-4" }),
|
|
44918
|
+
warning: /* @__PURE__ */ jsx182(TriangleAlert, { className: "h-4 w-4" }),
|
|
44919
|
+
error: /* @__PURE__ */ jsx182(OctagonX, { className: "h-4 w-4" }),
|
|
44920
|
+
loading: /* @__PURE__ */ jsx182(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
44578
44921
|
},
|
|
44579
44922
|
toastOptions: {
|
|
44580
44923
|
classNames: {
|
|
@@ -44590,26 +44933,26 @@ var Toaster = ({ ...props }) => {
|
|
|
44590
44933
|
};
|
|
44591
44934
|
|
|
44592
44935
|
// src/components/ui/toggle-group.tsx
|
|
44593
|
-
import * as
|
|
44936
|
+
import * as React113 from "react";
|
|
44594
44937
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
44595
|
-
import { jsx as
|
|
44596
|
-
var ToggleGroupContext =
|
|
44938
|
+
import { jsx as jsx183 } from "react/jsx-runtime";
|
|
44939
|
+
var ToggleGroupContext = React113.createContext({
|
|
44597
44940
|
size: "default",
|
|
44598
44941
|
variant: "default"
|
|
44599
44942
|
});
|
|
44600
|
-
var ToggleGroup =
|
|
44943
|
+
var ToggleGroup = React113.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
44601
44944
|
ToggleGroupPrimitive.Root,
|
|
44602
44945
|
{
|
|
44603
44946
|
ref,
|
|
44604
44947
|
className: cn("flex items-center justify-center gap-1", className),
|
|
44605
44948
|
...props,
|
|
44606
|
-
children: /* @__PURE__ */
|
|
44949
|
+
children: /* @__PURE__ */ jsx183(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
44607
44950
|
}
|
|
44608
44951
|
));
|
|
44609
44952
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
44610
|
-
var ToggleGroupItem =
|
|
44611
|
-
const context =
|
|
44612
|
-
return /* @__PURE__ */
|
|
44953
|
+
var ToggleGroupItem = React113.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
44954
|
+
const context = React113.useContext(ToggleGroupContext);
|
|
44955
|
+
return /* @__PURE__ */ jsx183(
|
|
44613
44956
|
ToggleGroupPrimitive.Item,
|
|
44614
44957
|
{
|
|
44615
44958
|
ref,
|
|
@@ -44628,7 +44971,7 @@ var ToggleGroupItem = React112.forwardRef(({ className, children, variant, size,
|
|
|
44628
44971
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
44629
44972
|
|
|
44630
44973
|
// src/render/PXEngineRenderer.tsx
|
|
44631
|
-
import { jsx as
|
|
44974
|
+
import { jsx as jsx184, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
44632
44975
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
44633
44976
|
// Form components - require FormField + FormItem context
|
|
44634
44977
|
"FormLabel",
|
|
@@ -44733,24 +45076,24 @@ var REGISTERED_COMPONENTS = /* @__PURE__ */ new Set([
|
|
|
44733
45076
|
]);
|
|
44734
45077
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
44735
45078
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
44736
|
-
return /* @__PURE__ */
|
|
45079
|
+
return /* @__PURE__ */ jsxs137(
|
|
44737
45080
|
"div",
|
|
44738
45081
|
{
|
|
44739
45082
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
44740
45083
|
children: [
|
|
44741
|
-
/* @__PURE__ */
|
|
44742
|
-
/* @__PURE__ */
|
|
44743
|
-
/* @__PURE__ */
|
|
44744
|
-
/* @__PURE__ */
|
|
45084
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex items-start gap-2", children: [
|
|
45085
|
+
/* @__PURE__ */ jsx184("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
45086
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex-1", children: [
|
|
45087
|
+
/* @__PURE__ */ jsxs137("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
44745
45088
|
"Invalid Component: ",
|
|
44746
45089
|
componentName
|
|
44747
45090
|
] }),
|
|
44748
|
-
/* @__PURE__ */
|
|
45091
|
+
/* @__PURE__ */ jsx184("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
|
|
44749
45092
|
] })
|
|
44750
45093
|
] }),
|
|
44751
|
-
/* @__PURE__ */
|
|
44752
|
-
/* @__PURE__ */
|
|
44753
|
-
/* @__PURE__ */
|
|
45094
|
+
/* @__PURE__ */ jsxs137("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
45095
|
+
/* @__PURE__ */ jsx184("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
45096
|
+
/* @__PURE__ */ jsx184("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
44754
45097
|
] })
|
|
44755
45098
|
]
|
|
44756
45099
|
},
|
|
@@ -44828,12 +45171,12 @@ var PXEngineRenderer = ({
|
|
|
44828
45171
|
const root = schema.root || schema;
|
|
44829
45172
|
const renderRecursive = (component, index) => {
|
|
44830
45173
|
if (Array.isArray(component)) {
|
|
44831
|
-
return /* @__PURE__ */
|
|
45174
|
+
return /* @__PURE__ */ jsx184(React114.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
|
|
44832
45175
|
}
|
|
44833
45176
|
if (typeof component === "string" || typeof component === "number") {
|
|
44834
45177
|
return component;
|
|
44835
45178
|
}
|
|
44836
|
-
if (
|
|
45179
|
+
if (React114.isValidElement(component)) {
|
|
44837
45180
|
return component;
|
|
44838
45181
|
}
|
|
44839
45182
|
if (!component || typeof component !== "object") return null;
|
|
@@ -44912,7 +45255,7 @@ var PXEngineRenderer = ({
|
|
|
44912
45255
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
44913
45256
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
44914
45257
|
if (isAtomWithRenderProp) {
|
|
44915
|
-
return /* @__PURE__ */
|
|
45258
|
+
return /* @__PURE__ */ jsx184(
|
|
44916
45259
|
TargetComponent,
|
|
44917
45260
|
{
|
|
44918
45261
|
...finalProps,
|
|
@@ -44924,7 +45267,7 @@ var PXEngineRenderer = ({
|
|
|
44924
45267
|
uniqueKey
|
|
44925
45268
|
);
|
|
44926
45269
|
} else {
|
|
44927
|
-
return /* @__PURE__ */
|
|
45270
|
+
return /* @__PURE__ */ jsx184(
|
|
44928
45271
|
TargetComponent,
|
|
44929
45272
|
{
|
|
44930
45273
|
...finalProps,
|
|
@@ -44936,7 +45279,7 @@ var PXEngineRenderer = ({
|
|
|
44936
45279
|
);
|
|
44937
45280
|
}
|
|
44938
45281
|
};
|
|
44939
|
-
return /* @__PURE__ */
|
|
45282
|
+
return /* @__PURE__ */ jsx184("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
44940
45283
|
};
|
|
44941
45284
|
export {
|
|
44942
45285
|
Accordion,
|
|
@@ -45162,6 +45505,7 @@ export {
|
|
|
45162
45505
|
PopoverAtom,
|
|
45163
45506
|
PopoverContent,
|
|
45164
45507
|
PopoverTrigger,
|
|
45508
|
+
PresentationJobCard,
|
|
45165
45509
|
PriorityActionsCard,
|
|
45166
45510
|
Progress,
|
|
45167
45511
|
ProgressAtom,
|