pxengine 0.1.72 → 0.1.73
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 +1169 -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 +1153 -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,334 @@ 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 intervalRef = useRef5(null);
|
|
38644
|
+
const previewRef = useRef5(null);
|
|
38645
|
+
const iframeRef = useRef5(null);
|
|
38646
|
+
const updateScale = useCallback4(() => {
|
|
38647
|
+
if (previewRef.current) {
|
|
38648
|
+
setPreviewScale(previewRef.current.offsetWidth / 1280);
|
|
38649
|
+
}
|
|
38650
|
+
}, []);
|
|
38651
|
+
useEffect6(() => {
|
|
38652
|
+
updateScale();
|
|
38653
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
38654
|
+
const ro = new ResizeObserver(updateScale);
|
|
38655
|
+
if (previewRef.current) ro.observe(previewRef.current);
|
|
38656
|
+
return () => ro.disconnect();
|
|
38657
|
+
}, [updateScale, formats.html_url]);
|
|
38658
|
+
useEffect6(() => {
|
|
38659
|
+
const handler = (e) => {
|
|
38660
|
+
if (e.data?.type === "slideChanged") {
|
|
38661
|
+
setCurrentSlide(e.data.slide);
|
|
38662
|
+
if (e.data.total && !slideCount) {
|
|
38663
|
+
setSlideCount(e.data.total);
|
|
38664
|
+
}
|
|
38665
|
+
}
|
|
38666
|
+
};
|
|
38667
|
+
window.addEventListener("message", handler);
|
|
38668
|
+
return () => window.removeEventListener("message", handler);
|
|
38669
|
+
}, [slideCount]);
|
|
38670
|
+
const goToSlide = (n) => {
|
|
38671
|
+
const total2 = slideCount || 1;
|
|
38672
|
+
const target = (n - 1 + total2) % total2 + 1;
|
|
38673
|
+
setCurrentSlide(target);
|
|
38674
|
+
iframeRef.current?.contentWindow?.postMessage({ type: "goToSlide", slide: target }, "*");
|
|
38675
|
+
};
|
|
38676
|
+
const isTerminal = status === "complete" || status === "failed";
|
|
38677
|
+
useEffect6(() => {
|
|
38678
|
+
if (isTerminal || !pollUrl) return;
|
|
38679
|
+
const poll = async () => {
|
|
38680
|
+
try {
|
|
38681
|
+
const res = await fetch(pollUrl);
|
|
38682
|
+
if (!res.ok) return;
|
|
38683
|
+
const data = await res.json();
|
|
38684
|
+
const newStatus = data.status;
|
|
38685
|
+
setStatus(newStatus);
|
|
38686
|
+
if (newStatus === "complete" && data.output) {
|
|
38687
|
+
if (data.output.title) setTitle(data.output.title);
|
|
38688
|
+
if (data.output.slide_count) setSlideCount(data.output.slide_count);
|
|
38689
|
+
if (data.output.formats) setFormats(data.output.formats);
|
|
38690
|
+
}
|
|
38691
|
+
if (newStatus === "failed" && data.error) {
|
|
38692
|
+
setError(data.error);
|
|
38693
|
+
}
|
|
38694
|
+
} catch {
|
|
38695
|
+
}
|
|
38696
|
+
};
|
|
38697
|
+
poll();
|
|
38698
|
+
intervalRef.current = setInterval(poll, 3e3);
|
|
38699
|
+
return () => {
|
|
38700
|
+
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
38701
|
+
};
|
|
38702
|
+
}, [isTerminal, pollUrl]);
|
|
38703
|
+
useEffect6(() => {
|
|
38704
|
+
if (isTerminal && intervalRef.current) {
|
|
38705
|
+
clearInterval(intervalRef.current);
|
|
38706
|
+
intervalRef.current = null;
|
|
38707
|
+
}
|
|
38708
|
+
}, [isTerminal]);
|
|
38709
|
+
if (status === "pending" || status === "running") {
|
|
38710
|
+
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: [
|
|
38711
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-3 mb-5", children: [
|
|
38712
|
+
/* @__PURE__ */ jsx146(Skel, { className: "w-10 h-10 rounded-xl flex-shrink-0" }),
|
|
38713
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex-1 space-y-2", children: [
|
|
38714
|
+
/* @__PURE__ */ jsx146(Skel, { className: "h-3.5 w-44" }),
|
|
38715
|
+
/* @__PURE__ */ jsx146(Skel, { className: "h-3 w-28" })
|
|
38716
|
+
] })
|
|
38717
|
+
] }),
|
|
38718
|
+
/* @__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)) }),
|
|
38719
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-2.5 mt-4 pt-4 border-t border-zinc-800/60", children: [
|
|
38720
|
+
/* @__PURE__ */ jsx146("span", { className: "w-2 h-2 rounded-full bg-indigo-500 animate-pulse flex-shrink-0" }),
|
|
38721
|
+
/* @__PURE__ */ jsx146(Skel, { className: "h-3 w-36" })
|
|
38722
|
+
] })
|
|
38723
|
+
] }) });
|
|
38724
|
+
}
|
|
38725
|
+
if (status === "failed") {
|
|
38726
|
+
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: [
|
|
38727
|
+
/* @__PURE__ */ jsx146("span", { className: "text-red-400 text-base mt-0.5 flex-shrink-0", children: "\u26A0" }),
|
|
38728
|
+
/* @__PURE__ */ jsxs108("div", { children: [
|
|
38729
|
+
/* @__PURE__ */ jsx146("p", { className: "text-sm font-semibold text-red-300", children: "Presentation generation failed" }),
|
|
38730
|
+
/* @__PURE__ */ jsx146("p", { className: "text-xs text-red-400/60 mt-1 leading-relaxed", children: error || "An unexpected error occurred. Please try again." })
|
|
38731
|
+
] })
|
|
38732
|
+
] }) }) });
|
|
38733
|
+
}
|
|
38734
|
+
const availablePills = FORMATS.filter((f) => formats[f.key]);
|
|
38735
|
+
const total = slideCount || 1;
|
|
38736
|
+
return /* @__PURE__ */ jsxs108(Fragment5, { children: [
|
|
38737
|
+
/* @__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: [
|
|
38738
|
+
/* @__PURE__ */ jsx146("div", { className: "h-[3px] bg-gradient-to-r from-indigo-600 via-violet-500 to-purple-600" }),
|
|
38739
|
+
/* @__PURE__ */ jsxs108("div", { className: "p-5", children: [
|
|
38740
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-start gap-3", children: [
|
|
38741
|
+
/* @__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, {}) }),
|
|
38742
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex-1 min-w-0", children: [
|
|
38743
|
+
/* @__PURE__ */ jsx146("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title }),
|
|
38744
|
+
/* @__PURE__ */ jsxs108("p", { className: "text-xs text-zinc-500 mt-0.5", children: [
|
|
38745
|
+
slideCount ? `${slideCount} slides` : "Presentation",
|
|
38746
|
+
" \xB7 Ready to export"
|
|
38747
|
+
] })
|
|
38748
|
+
] }),
|
|
38749
|
+
/* @__PURE__ */ jsxs108(
|
|
38750
|
+
"button",
|
|
38751
|
+
{
|
|
38752
|
+
onClick: () => setShowModal(true),
|
|
38753
|
+
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",
|
|
38754
|
+
children: [
|
|
38755
|
+
/* @__PURE__ */ jsx146(DownloadIcon, {}),
|
|
38756
|
+
"Export"
|
|
38757
|
+
]
|
|
38758
|
+
}
|
|
38759
|
+
)
|
|
38760
|
+
] }),
|
|
38761
|
+
formats.html_url && /* @__PURE__ */ jsxs108("div", { className: "mt-4", children: [
|
|
38762
|
+
/* @__PURE__ */ jsx146(
|
|
38763
|
+
"div",
|
|
38764
|
+
{
|
|
38765
|
+
ref: previewRef,
|
|
38766
|
+
className: "relative overflow-hidden rounded-xl bg-zinc-950 border border-zinc-800/50",
|
|
38767
|
+
style: { height: Math.round(previewScale * 720) },
|
|
38768
|
+
children: /* @__PURE__ */ jsx146(
|
|
38769
|
+
"iframe",
|
|
38770
|
+
{
|
|
38771
|
+
ref: iframeRef,
|
|
38772
|
+
src: formats.html_url,
|
|
38773
|
+
title,
|
|
38774
|
+
sandbox: "allow-same-origin allow-scripts",
|
|
38775
|
+
style: {
|
|
38776
|
+
width: 1280,
|
|
38777
|
+
height: 720,
|
|
38778
|
+
transform: `scale(${previewScale})`,
|
|
38779
|
+
transformOrigin: "top left",
|
|
38780
|
+
border: "none",
|
|
38781
|
+
pointerEvents: "none",
|
|
38782
|
+
display: "block"
|
|
38783
|
+
}
|
|
38784
|
+
}
|
|
38785
|
+
)
|
|
38786
|
+
}
|
|
38787
|
+
),
|
|
38788
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center justify-between mt-3", children: [
|
|
38789
|
+
/* @__PURE__ */ jsx146("div", { className: "flex items-center gap-2", children: availablePills.map((fmt) => /* @__PURE__ */ jsx146(
|
|
38790
|
+
"span",
|
|
38791
|
+
{
|
|
38792
|
+
className: cn(
|
|
38793
|
+
"text-xs px-2.5 py-0.5 rounded-md border font-medium",
|
|
38794
|
+
fmt.accent.pill
|
|
38795
|
+
),
|
|
38796
|
+
children: fmt.label
|
|
38797
|
+
},
|
|
38798
|
+
fmt.key
|
|
38799
|
+
)) }),
|
|
38800
|
+
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-2", children: [
|
|
38801
|
+
/* @__PURE__ */ jsx146(
|
|
38802
|
+
"button",
|
|
38803
|
+
{
|
|
38804
|
+
onClick: () => goToSlide(currentSlide - 1),
|
|
38805
|
+
disabled: total <= 1,
|
|
38806
|
+
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",
|
|
38807
|
+
"aria-label": "Previous slide",
|
|
38808
|
+
children: /* @__PURE__ */ jsx146(ChevronLeft2, {})
|
|
38809
|
+
}
|
|
38810
|
+
),
|
|
38811
|
+
/* @__PURE__ */ jsxs108("span", { className: "text-xs text-zinc-500 font-medium tabular-nums min-w-[3rem] text-center", children: [
|
|
38812
|
+
currentSlide,
|
|
38813
|
+
" / ",
|
|
38814
|
+
total
|
|
38815
|
+
] }),
|
|
38816
|
+
/* @__PURE__ */ jsx146(
|
|
38817
|
+
"button",
|
|
38818
|
+
{
|
|
38819
|
+
onClick: () => goToSlide(currentSlide + 1),
|
|
38820
|
+
disabled: total <= 1,
|
|
38821
|
+
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",
|
|
38822
|
+
"aria-label": "Next slide",
|
|
38823
|
+
children: /* @__PURE__ */ jsx146(ChevronRight2, {})
|
|
38824
|
+
}
|
|
38825
|
+
)
|
|
38826
|
+
] })
|
|
38827
|
+
] })
|
|
38828
|
+
] }),
|
|
38829
|
+
!formats.html_url && availablePills.length > 0 && /* @__PURE__ */ jsx146("div", { className: "flex items-center gap-2 mt-4", children: availablePills.map((fmt) => /* @__PURE__ */ jsx146(
|
|
38830
|
+
"span",
|
|
38831
|
+
{
|
|
38832
|
+
className: cn(
|
|
38833
|
+
"text-xs px-2.5 py-0.5 rounded-md border font-medium",
|
|
38834
|
+
fmt.accent.pill
|
|
38835
|
+
),
|
|
38836
|
+
children: fmt.label
|
|
38837
|
+
},
|
|
38838
|
+
fmt.key
|
|
38839
|
+
)) })
|
|
38840
|
+
] })
|
|
38841
|
+
] }) }),
|
|
38842
|
+
showModal && /* @__PURE__ */ jsx146(
|
|
38843
|
+
ExportModal,
|
|
38844
|
+
{
|
|
38845
|
+
formats,
|
|
38846
|
+
title,
|
|
38847
|
+
onClose: () => setShowModal(false)
|
|
38848
|
+
}
|
|
38849
|
+
)
|
|
38850
|
+
] });
|
|
38851
|
+
};
|
|
38852
|
+
|
|
38526
38853
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
38527
|
-
import
|
|
38854
|
+
import React106, { useMemo as useMemo5 } from "react";
|
|
38528
38855
|
|
|
38529
38856
|
// src/lib/field-utils.ts
|
|
38530
38857
|
function normalizeLabel(key) {
|
|
@@ -38599,7 +38926,7 @@ function generateFieldsFromPropDefinitions(propDefs, data) {
|
|
|
38599
38926
|
}
|
|
38600
38927
|
|
|
38601
38928
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
38602
|
-
import { useState as
|
|
38929
|
+
import { useState as useState11, useRef as useRef6, useEffect as useEffect7, useMemo as useMemo4 } from "react";
|
|
38603
38930
|
|
|
38604
38931
|
// src/lib/countries.ts
|
|
38605
38932
|
var countries = [
|
|
@@ -38806,15 +39133,15 @@ var countriesWithFlags = Object.fromEntries(
|
|
|
38806
39133
|
);
|
|
38807
39134
|
|
|
38808
39135
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
38809
|
-
import { jsx as
|
|
39136
|
+
import { jsx as jsx147, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
38810
39137
|
var CountrySelectEdit = ({
|
|
38811
39138
|
value,
|
|
38812
39139
|
onChange
|
|
38813
39140
|
}) => {
|
|
38814
|
-
const [isDropdownOpen, setIsDropdownOpen] =
|
|
38815
|
-
const [searchTerm, setSearchTerm] =
|
|
38816
|
-
const dropdownRef =
|
|
38817
|
-
|
|
39141
|
+
const [isDropdownOpen, setIsDropdownOpen] = useState11(false);
|
|
39142
|
+
const [searchTerm, setSearchTerm] = useState11("");
|
|
39143
|
+
const dropdownRef = useRef6(null);
|
|
39144
|
+
useEffect7(() => {
|
|
38818
39145
|
const handleClickOutside = (event) => {
|
|
38819
39146
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
38820
39147
|
setIsDropdownOpen(false);
|
|
@@ -38833,16 +39160,16 @@ var CountrySelectEdit = ({
|
|
|
38833
39160
|
}
|
|
38834
39161
|
return [];
|
|
38835
39162
|
}, [value]);
|
|
38836
|
-
return /* @__PURE__ */
|
|
38837
|
-
/* @__PURE__ */
|
|
38838
|
-
/* @__PURE__ */
|
|
39163
|
+
return /* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39164
|
+
/* @__PURE__ */ jsxs109("div", { className: "relative", ref: dropdownRef, children: [
|
|
39165
|
+
/* @__PURE__ */ jsxs109(
|
|
38839
39166
|
"div",
|
|
38840
39167
|
{
|
|
38841
39168
|
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
39169
|
onClick: () => setIsDropdownOpen(!isDropdownOpen),
|
|
38843
39170
|
children: [
|
|
38844
|
-
/* @__PURE__ */
|
|
38845
|
-
/* @__PURE__ */
|
|
39171
|
+
/* @__PURE__ */ jsx147("span", { className: "text-foreground", children: inputValue.length > 0 ? `${inputValue.length} ${inputValue.length === 1 ? "country" : "countries"} selected` : "Select countries..." }),
|
|
39172
|
+
/* @__PURE__ */ jsx147(
|
|
38846
39173
|
ChevronDown,
|
|
38847
39174
|
{
|
|
38848
39175
|
className: cn(
|
|
@@ -38854,8 +39181,8 @@ var CountrySelectEdit = ({
|
|
|
38854
39181
|
]
|
|
38855
39182
|
}
|
|
38856
39183
|
),
|
|
38857
|
-
isDropdownOpen && /* @__PURE__ */
|
|
38858
|
-
/* @__PURE__ */
|
|
39184
|
+
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: [
|
|
39185
|
+
/* @__PURE__ */ jsx147("div", { className: "p-2 border-b border-border", children: /* @__PURE__ */ jsx147(
|
|
38859
39186
|
"input",
|
|
38860
39187
|
{
|
|
38861
39188
|
type: "text",
|
|
@@ -38866,9 +39193,9 @@ var CountrySelectEdit = ({
|
|
|
38866
39193
|
onClick: (e) => e.stopPropagation()
|
|
38867
39194
|
}
|
|
38868
39195
|
) }),
|
|
38869
|
-
/* @__PURE__ */
|
|
39196
|
+
/* @__PURE__ */ jsx147("div", { className: "max-h-40 overflow-y-auto p-1", children: countries.filter(
|
|
38870
39197
|
(country) => country.name.toLowerCase().includes(searchTerm.toLowerCase()) || country.code.toLowerCase().includes(searchTerm.toLowerCase())
|
|
38871
|
-
).map((country) => /* @__PURE__ */
|
|
39198
|
+
).map((country) => /* @__PURE__ */ jsxs109(
|
|
38872
39199
|
"div",
|
|
38873
39200
|
{
|
|
38874
39201
|
className: cn(
|
|
@@ -38889,30 +39216,30 @@ var CountrySelectEdit = ({
|
|
|
38889
39216
|
}
|
|
38890
39217
|
},
|
|
38891
39218
|
children: [
|
|
38892
|
-
/* @__PURE__ */
|
|
38893
|
-
/* @__PURE__ */
|
|
38894
|
-
/* @__PURE__ */
|
|
39219
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
39220
|
+
/* @__PURE__ */ jsx147("span", { className: "text-sm text-foreground", children: country.name }),
|
|
39221
|
+
/* @__PURE__ */ jsx147("span", { className: "text-xs text-muted-foreground font-mono", children: country.code })
|
|
38895
39222
|
] }),
|
|
38896
|
-
inputValue.includes(country.code) && /* @__PURE__ */
|
|
39223
|
+
inputValue.includes(country.code) && /* @__PURE__ */ jsx147(Check, { className: "h-4 w-4 text-purple500" })
|
|
38897
39224
|
]
|
|
38898
39225
|
},
|
|
38899
39226
|
country.code
|
|
38900
39227
|
)) })
|
|
38901
39228
|
] })
|
|
38902
39229
|
] }),
|
|
38903
|
-
inputValue.length > 0 && /* @__PURE__ */
|
|
39230
|
+
inputValue.length > 0 && /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-1.5", children: inputValue.map((countryCode) => /* @__PURE__ */ jsxs109(
|
|
38904
39231
|
Badge2,
|
|
38905
39232
|
{
|
|
38906
39233
|
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
39234
|
children: [
|
|
38908
39235
|
countryCode,
|
|
38909
|
-
/* @__PURE__ */
|
|
39236
|
+
/* @__PURE__ */ jsxs109(
|
|
38910
39237
|
"button",
|
|
38911
39238
|
{
|
|
38912
39239
|
onClick: () => onChange(inputValue.filter((c) => c !== countryCode)),
|
|
38913
39240
|
className: "hover:bg-purple200 rounded-full p-0.5 transition-colors",
|
|
38914
39241
|
children: [
|
|
38915
|
-
/* @__PURE__ */
|
|
39242
|
+
/* @__PURE__ */ jsx147(X, { className: "h-3 w-3" }),
|
|
38916
39243
|
" "
|
|
38917
39244
|
]
|
|
38918
39245
|
}
|
|
@@ -38930,13 +39257,13 @@ var CountrySelectDisplay = ({ value }) => {
|
|
|
38930
39257
|
return [];
|
|
38931
39258
|
}, [value]);
|
|
38932
39259
|
if (displayValues.length === 0) {
|
|
38933
|
-
return /* @__PURE__ */
|
|
39260
|
+
return /* @__PURE__ */ jsx147("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
38934
39261
|
}
|
|
38935
|
-
return /* @__PURE__ */
|
|
39262
|
+
return /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((item) => {
|
|
38936
39263
|
const country = countries.find(
|
|
38937
39264
|
(c) => c.code.toLowerCase() === item.toLowerCase() || c.name.toLowerCase() === item.toLowerCase()
|
|
38938
39265
|
);
|
|
38939
|
-
return /* @__PURE__ */
|
|
39266
|
+
return /* @__PURE__ */ jsx147(
|
|
38940
39267
|
"div",
|
|
38941
39268
|
{
|
|
38942
39269
|
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 +39297,22 @@ var KeywordBundlesEdit = ({
|
|
|
38970
39297
|
});
|
|
38971
39298
|
});
|
|
38972
39299
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
38973
|
-
return /* @__PURE__ */
|
|
38974
|
-
/* @__PURE__ */
|
|
38975
|
-
/* @__PURE__ */
|
|
39300
|
+
return /* @__PURE__ */ jsx147("div", { className: "space-y-6 pt-2", children: sortedPriorities.map((priority) => /* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39301
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
39302
|
+
/* @__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
39303
|
"Priority ",
|
|
38977
39304
|
priority
|
|
38978
39305
|
] }),
|
|
38979
|
-
/* @__PURE__ */
|
|
39306
|
+
/* @__PURE__ */ jsx147("div", { className: "h-px flex-1 bg-white/10" })
|
|
38980
39307
|
] }),
|
|
38981
|
-
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */
|
|
39308
|
+
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */ jsx147(
|
|
38982
39309
|
"div",
|
|
38983
39310
|
{
|
|
38984
39311
|
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__ */
|
|
39312
|
+
children: /* @__PURE__ */ jsxs109("div", { className: "flex flex-col gap-3", children: [
|
|
39313
|
+
/* @__PURE__ */ jsx147("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Keywords" }),
|
|
39314
|
+
/* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39315
|
+
/* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-1.5", children: Array.isArray(bundle.keywords) && bundle.keywords.map((keyword, kIndex) => /* @__PURE__ */ jsxs109(
|
|
38989
39316
|
"div",
|
|
38990
39317
|
{
|
|
38991
39318
|
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 +39329,12 @@ var KeywordBundlesEdit = ({
|
|
|
39002
39329
|
},
|
|
39003
39330
|
children: [
|
|
39004
39331
|
keyword,
|
|
39005
|
-
/* @__PURE__ */
|
|
39332
|
+
/* @__PURE__ */ jsx147("span", { className: "ml-1 opacity-60 group-hover:opacity-100 transition-opacity", children: "\xD7" })
|
|
39006
39333
|
]
|
|
39007
39334
|
},
|
|
39008
39335
|
kIndex
|
|
39009
39336
|
)) }),
|
|
39010
|
-
/* @__PURE__ */
|
|
39337
|
+
/* @__PURE__ */ jsx147("div", { className: "flex gap-2", children: /* @__PURE__ */ jsx147(
|
|
39011
39338
|
"input",
|
|
39012
39339
|
{
|
|
39013
39340
|
type: "text",
|
|
@@ -39031,9 +39358,9 @@ var KeywordBundlesEdit = ({
|
|
|
39031
39358
|
}
|
|
39032
39359
|
) })
|
|
39033
39360
|
] }),
|
|
39034
|
-
/* @__PURE__ */
|
|
39035
|
-
/* @__PURE__ */
|
|
39036
|
-
/* @__PURE__ */
|
|
39361
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex flex-col gap-1.5 mt-1", children: [
|
|
39362
|
+
/* @__PURE__ */ jsx147("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Priority Level (1-5)" }),
|
|
39363
|
+
/* @__PURE__ */ jsx147(
|
|
39037
39364
|
"input",
|
|
39038
39365
|
{
|
|
39039
39366
|
type: "number",
|
|
@@ -39061,7 +39388,7 @@ var KeywordBundlesEdit = ({
|
|
|
39061
39388
|
var KeywordBundlesDisplay = ({ value }) => {
|
|
39062
39389
|
const bundles = Array.isArray(value) ? value : [];
|
|
39063
39390
|
if (bundles.length === 0)
|
|
39064
|
-
return /* @__PURE__ */
|
|
39391
|
+
return /* @__PURE__ */ jsx147("span", { className: "text-gray-500 italic text-sm", children: "Not specified" });
|
|
39065
39392
|
const groups = {};
|
|
39066
39393
|
bundles.forEach((b, idx) => {
|
|
39067
39394
|
const p = Number(b?.priority) || idx + 1;
|
|
@@ -39074,17 +39401,17 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
39074
39401
|
groups[p].push(...keywords);
|
|
39075
39402
|
});
|
|
39076
39403
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
39077
|
-
return /* @__PURE__ */
|
|
39404
|
+
return /* @__PURE__ */ jsx147("div", { className: "space-y-4 pt-2", children: sortedPriorities.map((priority) => {
|
|
39078
39405
|
const deduped = Array.from(new Set(groups[priority]));
|
|
39079
|
-
return /* @__PURE__ */
|
|
39080
|
-
/* @__PURE__ */
|
|
39081
|
-
/* @__PURE__ */
|
|
39406
|
+
return /* @__PURE__ */ jsxs109("div", { className: "space-y-3", children: [
|
|
39407
|
+
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
39408
|
+
/* @__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
39409
|
"Priority ",
|
|
39083
39410
|
priority
|
|
39084
39411
|
] }),
|
|
39085
|
-
/* @__PURE__ */
|
|
39412
|
+
/* @__PURE__ */ jsx147("div", { className: "h-px flex-1 bg-white/10" })
|
|
39086
39413
|
] }),
|
|
39087
|
-
/* @__PURE__ */
|
|
39414
|
+
/* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-2 pt-1", children: deduped.map((keyword) => /* @__PURE__ */ jsx147(
|
|
39088
39415
|
"div",
|
|
39089
39416
|
{
|
|
39090
39417
|
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 +39449,12 @@ var PlatformSelectEdit = ({
|
|
|
39122
39449
|
const options = useMemo4(() => {
|
|
39123
39450
|
return DEFAULT_PLATFORMS;
|
|
39124
39451
|
}, []);
|
|
39125
|
-
return /* @__PURE__ */
|
|
39452
|
+
return /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-4 py-2", children: options.map((platform) => /* @__PURE__ */ jsxs109(
|
|
39126
39453
|
"label",
|
|
39127
39454
|
{
|
|
39128
39455
|
className: "flex items-center gap-2 cursor-pointer group",
|
|
39129
39456
|
children: [
|
|
39130
|
-
/* @__PURE__ */
|
|
39457
|
+
/* @__PURE__ */ jsx147(
|
|
39131
39458
|
"div",
|
|
39132
39459
|
{
|
|
39133
39460
|
className: cn(
|
|
@@ -39135,10 +39462,10 @@ var PlatformSelectEdit = ({
|
|
|
39135
39462
|
isSelected(platform) ? "bg-purple-600 border-purple-600" : "border-gray-300 group-hover:border-purple-400"
|
|
39136
39463
|
),
|
|
39137
39464
|
onClick: () => togglePlatform(platform),
|
|
39138
|
-
children: isSelected(platform) && /* @__PURE__ */
|
|
39465
|
+
children: isSelected(platform) && /* @__PURE__ */ jsx147(Check, { className: "h-3.5 w-3.5 text-white stroke-[3]" })
|
|
39139
39466
|
}
|
|
39140
39467
|
),
|
|
39141
|
-
/* @__PURE__ */
|
|
39468
|
+
/* @__PURE__ */ jsx147("span", { className: "text-sm font-medium text-foreground select-none", children: platform })
|
|
39142
39469
|
]
|
|
39143
39470
|
},
|
|
39144
39471
|
platform
|
|
@@ -39153,9 +39480,9 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
39153
39480
|
return [];
|
|
39154
39481
|
}, [value]);
|
|
39155
39482
|
if (displayValues.length === 0) {
|
|
39156
|
-
return /* @__PURE__ */
|
|
39483
|
+
return /* @__PURE__ */ jsx147("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39157
39484
|
}
|
|
39158
|
-
return /* @__PURE__ */
|
|
39485
|
+
return /* @__PURE__ */ jsx147("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((platform) => /* @__PURE__ */ jsx147(
|
|
39159
39486
|
"div",
|
|
39160
39487
|
{
|
|
39161
39488
|
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 +39493,21 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
39166
39493
|
};
|
|
39167
39494
|
|
|
39168
39495
|
// src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
|
|
39169
|
-
import { jsx as
|
|
39496
|
+
import { jsx as jsx148, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
39170
39497
|
var ObjectDisplay = ({ value }) => {
|
|
39171
39498
|
if (!value || typeof value !== "object") return null;
|
|
39172
|
-
return /* @__PURE__ */
|
|
39173
|
-
/* @__PURE__ */
|
|
39499
|
+
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: [
|
|
39500
|
+
/* @__PURE__ */ jsxs110("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
39174
39501
|
k.replace(/_/g, " "),
|
|
39175
39502
|
":"
|
|
39176
39503
|
] }),
|
|
39177
|
-
/* @__PURE__ */
|
|
39504
|
+
/* @__PURE__ */ jsx148("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
39178
39505
|
] }, k)) });
|
|
39179
39506
|
};
|
|
39180
39507
|
var StringArrayDisplay = ({ value }) => {
|
|
39181
39508
|
if (!Array.isArray(value) || value.length === 0)
|
|
39182
|
-
return /* @__PURE__ */
|
|
39183
|
-
return /* @__PURE__ */
|
|
39509
|
+
return /* @__PURE__ */ jsx148("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39510
|
+
return /* @__PURE__ */ jsx148("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx148(
|
|
39184
39511
|
"div",
|
|
39185
39512
|
{
|
|
39186
39513
|
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 +39525,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39198
39525
|
key,
|
|
39199
39526
|
label: "Keyword Bundles",
|
|
39200
39527
|
type: "custom",
|
|
39201
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39202
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39528
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(KeywordBundlesDisplay, { value: v }),
|
|
39529
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(
|
|
39203
39530
|
Textarea,
|
|
39204
39531
|
{
|
|
39205
39532
|
value: Array.isArray(v) ? v.map((b) => `${(b.keywords || []).join(", ")} (Priority: ${b.priority || 1})`).join("\n") : String(v || ""),
|
|
@@ -39231,8 +39558,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39231
39558
|
key,
|
|
39232
39559
|
label: "Geography",
|
|
39233
39560
|
type: "custom",
|
|
39234
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39235
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39561
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(CountrySelectDisplay, { value: v }),
|
|
39562
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(CountrySelectEdit, { value: v, onChange })
|
|
39236
39563
|
};
|
|
39237
39564
|
}
|
|
39238
39565
|
if (key === "platforms" || key === "target_platforms" || key === "targetPlatforms") {
|
|
@@ -39240,8 +39567,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39240
39567
|
key,
|
|
39241
39568
|
label: "Platforms",
|
|
39242
39569
|
type: "custom",
|
|
39243
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39244
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39570
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(PlatformSelectDisplay, { value: v }),
|
|
39571
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(
|
|
39245
39572
|
PlatformSelectEdit,
|
|
39246
39573
|
{
|
|
39247
39574
|
value: v,
|
|
@@ -39256,7 +39583,7 @@ function buildCampaignSeedFields(data) {
|
|
|
39256
39583
|
key,
|
|
39257
39584
|
label,
|
|
39258
39585
|
type: "custom",
|
|
39259
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39586
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(StringArrayDisplay, { value: v })
|
|
39260
39587
|
};
|
|
39261
39588
|
}
|
|
39262
39589
|
if (typeof value === "object" && value !== null && !Array.isArray(value) && "min" in value && "max" in value) {
|
|
@@ -39267,9 +39594,9 @@ function buildCampaignSeedFields(data) {
|
|
|
39267
39594
|
type: "custom",
|
|
39268
39595
|
renderDisplay: (v) => {
|
|
39269
39596
|
if (typeof v === "object" && v !== null) {
|
|
39270
|
-
return /* @__PURE__ */
|
|
39597
|
+
return /* @__PURE__ */ jsx148("span", { className: "text-foreground font-medium", children: `${v.min?.toLocaleString()} - ${v.max?.toLocaleString()}` });
|
|
39271
39598
|
}
|
|
39272
|
-
return /* @__PURE__ */
|
|
39599
|
+
return /* @__PURE__ */ jsx148("span", { className: "text-foreground font-medium", children: v });
|
|
39273
39600
|
}
|
|
39274
39601
|
};
|
|
39275
39602
|
}
|
|
@@ -39279,8 +39606,8 @@ function buildCampaignSeedFields(data) {
|
|
|
39279
39606
|
key,
|
|
39280
39607
|
label,
|
|
39281
39608
|
type: "custom",
|
|
39282
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39283
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39609
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx148(ObjectDisplay, { value: v }),
|
|
39610
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx148(
|
|
39284
39611
|
Textarea,
|
|
39285
39612
|
{
|
|
39286
39613
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -39305,7 +39632,7 @@ function buildCampaignSeedFields(data) {
|
|
|
39305
39632
|
return generated;
|
|
39306
39633
|
});
|
|
39307
39634
|
}
|
|
39308
|
-
var CampaignSeedCard =
|
|
39635
|
+
var CampaignSeedCard = React106.memo(
|
|
39309
39636
|
({
|
|
39310
39637
|
selectionStatus,
|
|
39311
39638
|
isLatestMessage = true,
|
|
@@ -39328,7 +39655,7 @@ var CampaignSeedCard = React105.memo(
|
|
|
39328
39655
|
});
|
|
39329
39656
|
};
|
|
39330
39657
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
39331
|
-
return /* @__PURE__ */
|
|
39658
|
+
return /* @__PURE__ */ jsx148("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx148(
|
|
39332
39659
|
FormCard,
|
|
39333
39660
|
{
|
|
39334
39661
|
...formCardProps,
|
|
@@ -39340,9 +39667,9 @@ var CampaignSeedCard = React105.memo(
|
|
|
39340
39667
|
showTimeline: true,
|
|
39341
39668
|
isLatestMessage: effectiveIsLatest,
|
|
39342
39669
|
className,
|
|
39343
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
39344
|
-
/* @__PURE__ */
|
|
39345
|
-
/* @__PURE__ */
|
|
39670
|
+
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: [
|
|
39671
|
+
/* @__PURE__ */ jsx148(CircleCheck, { className: "h-3 w-3" }),
|
|
39672
|
+
/* @__PURE__ */ jsx148("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
39346
39673
|
] }) : formCardProps.footer
|
|
39347
39674
|
}
|
|
39348
39675
|
) });
|
|
@@ -39351,22 +39678,22 @@ var CampaignSeedCard = React105.memo(
|
|
|
39351
39678
|
CampaignSeedCard.displayName = "CampaignSeedCard";
|
|
39352
39679
|
|
|
39353
39680
|
// src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
|
|
39354
|
-
import
|
|
39355
|
-
import { jsx as
|
|
39681
|
+
import React107, { useMemo as useMemo6 } from "react";
|
|
39682
|
+
import { jsx as jsx149, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
39356
39683
|
var ObjectDisplay2 = ({ value }) => {
|
|
39357
39684
|
if (!value || typeof value !== "object") return null;
|
|
39358
|
-
return /* @__PURE__ */
|
|
39359
|
-
/* @__PURE__ */
|
|
39685
|
+
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: [
|
|
39686
|
+
/* @__PURE__ */ jsxs111("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
39360
39687
|
k.replace(/_/g, " "),
|
|
39361
39688
|
":"
|
|
39362
39689
|
] }),
|
|
39363
|
-
/* @__PURE__ */
|
|
39690
|
+
/* @__PURE__ */ jsx149("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
39364
39691
|
] }, k)) });
|
|
39365
39692
|
};
|
|
39366
39693
|
var StringArrayDisplay2 = ({ value }) => {
|
|
39367
39694
|
if (!Array.isArray(value) || value.length === 0)
|
|
39368
|
-
return /* @__PURE__ */
|
|
39369
|
-
return /* @__PURE__ */
|
|
39695
|
+
return /* @__PURE__ */ jsx149("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
39696
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ jsx149(
|
|
39370
39697
|
"div",
|
|
39371
39698
|
{
|
|
39372
39699
|
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 +39711,8 @@ function buildSearchSpecFields(data) {
|
|
|
39384
39711
|
key,
|
|
39385
39712
|
label: "Keyword Bundles",
|
|
39386
39713
|
type: "custom",
|
|
39387
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39388
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39714
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(KeywordBundlesDisplay, { value: v }),
|
|
39715
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(KeywordBundlesEdit, { value: v, onChange })
|
|
39389
39716
|
};
|
|
39390
39717
|
}
|
|
39391
39718
|
if (key === "geography") {
|
|
@@ -39393,8 +39720,8 @@ function buildSearchSpecFields(data) {
|
|
|
39393
39720
|
key,
|
|
39394
39721
|
label: "Geography",
|
|
39395
39722
|
type: "custom",
|
|
39396
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39397
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39723
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(CountrySelectDisplay, { value: v }),
|
|
39724
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(CountrySelectEdit, { value: v, onChange })
|
|
39398
39725
|
};
|
|
39399
39726
|
}
|
|
39400
39727
|
if (key === "platforms" && Array.isArray(value)) {
|
|
@@ -39405,8 +39732,8 @@ function buildSearchSpecFields(data) {
|
|
|
39405
39732
|
config: {
|
|
39406
39733
|
options: data.platform_options || data.available_platforms || data.platforms_list || []
|
|
39407
39734
|
},
|
|
39408
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39409
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39735
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(PlatformSelectDisplay, { value: v }),
|
|
39736
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(
|
|
39410
39737
|
PlatformSelectEdit,
|
|
39411
39738
|
{
|
|
39412
39739
|
value: v,
|
|
@@ -39420,8 +39747,8 @@ function buildSearchSpecFields(data) {
|
|
|
39420
39747
|
key,
|
|
39421
39748
|
label: "Exclude Keywords",
|
|
39422
39749
|
type: "custom",
|
|
39423
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39424
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39750
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(StringArrayDisplay2, { value: v }),
|
|
39751
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(
|
|
39425
39752
|
Textarea,
|
|
39426
39753
|
{
|
|
39427
39754
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -39441,8 +39768,8 @@ function buildSearchSpecFields(data) {
|
|
|
39441
39768
|
key,
|
|
39442
39769
|
label,
|
|
39443
39770
|
type: "custom",
|
|
39444
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
39445
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
39771
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx149(ObjectDisplay2, { value: v }),
|
|
39772
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx149(
|
|
39446
39773
|
Textarea,
|
|
39447
39774
|
{
|
|
39448
39775
|
value: Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n"),
|
|
@@ -39467,7 +39794,7 @@ function buildSearchSpecFields(data) {
|
|
|
39467
39794
|
return generated;
|
|
39468
39795
|
});
|
|
39469
39796
|
}
|
|
39470
|
-
var SearchSpecCard =
|
|
39797
|
+
var SearchSpecCard = React107.memo(
|
|
39471
39798
|
({
|
|
39472
39799
|
selectionStatus,
|
|
39473
39800
|
isLatestMessage = true,
|
|
@@ -39495,7 +39822,7 @@ var SearchSpecCard = React106.memo(
|
|
|
39495
39822
|
});
|
|
39496
39823
|
};
|
|
39497
39824
|
const effectiveIsLatest = isLatestMessage && !hasUserResponded;
|
|
39498
|
-
return /* @__PURE__ */
|
|
39825
|
+
return /* @__PURE__ */ jsx149("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx149(
|
|
39499
39826
|
FormCard,
|
|
39500
39827
|
{
|
|
39501
39828
|
...formCardProps,
|
|
@@ -39506,9 +39833,9 @@ var SearchSpecCard = React106.memo(
|
|
|
39506
39833
|
onProceed: handleProceed,
|
|
39507
39834
|
isLatestMessage: effectiveIsLatest,
|
|
39508
39835
|
className,
|
|
39509
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
39510
|
-
/* @__PURE__ */
|
|
39511
|
-
/* @__PURE__ */
|
|
39836
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ jsxs111("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-1", children: [
|
|
39837
|
+
/* @__PURE__ */ jsx149(CircleCheck, { className: "h-3 w-3" }),
|
|
39838
|
+
/* @__PURE__ */ jsx149("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
39512
39839
|
] }) : formCardProps.footer
|
|
39513
39840
|
}
|
|
39514
39841
|
) });
|
|
@@ -39517,7 +39844,7 @@ var SearchSpecCard = React106.memo(
|
|
|
39517
39844
|
SearchSpecCard.displayName = "SearchSpecCard";
|
|
39518
39845
|
|
|
39519
39846
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
39520
|
-
import
|
|
39847
|
+
import React108 from "react";
|
|
39521
39848
|
|
|
39522
39849
|
// src/molecules/creator-discovery/MCQCard/defaultFetchers.ts
|
|
39523
39850
|
function getBackendOrigin() {
|
|
@@ -39617,8 +39944,8 @@ async function defaultPersistSelection(sessionId, questionKey, value) {
|
|
|
39617
39944
|
}
|
|
39618
39945
|
|
|
39619
39946
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
39620
|
-
import { jsx as
|
|
39621
|
-
var MCQCard =
|
|
39947
|
+
import { jsx as jsx150, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
39948
|
+
var MCQCard = React108.memo(
|
|
39622
39949
|
({
|
|
39623
39950
|
question,
|
|
39624
39951
|
options,
|
|
@@ -39643,16 +39970,16 @@ var MCQCard = React107.memo(
|
|
|
39643
39970
|
const resolvedOptions = options || allProps.Options || allProps.opts || {};
|
|
39644
39971
|
const resolvedRecommended = recommended || allProps.Recommended || allProps.rec;
|
|
39645
39972
|
console.log("[MCQCard] FULL PROPS:", { allProps, resolvedQuestion, resolvedOptions: Object.keys(resolvedOptions || {}), resolvedRecommended });
|
|
39646
|
-
const [selectedOption, setSelectedOption] =
|
|
39647
|
-
const [isProceeded, setIsProceeded] =
|
|
39648
|
-
const fetchedSessionRef =
|
|
39649
|
-
|
|
39973
|
+
const [selectedOption, setSelectedOption] = React108.useState(propsSelectedOption);
|
|
39974
|
+
const [isProceeded, setIsProceeded] = React108.useState(false);
|
|
39975
|
+
const fetchedSessionRef = React108.useRef("");
|
|
39976
|
+
React108.useEffect(() => {
|
|
39650
39977
|
if (propsSelectedOption) {
|
|
39651
39978
|
setSelectedOption(propsSelectedOption);
|
|
39652
39979
|
setIsProceeded(true);
|
|
39653
39980
|
}
|
|
39654
39981
|
}, [propsSelectedOption]);
|
|
39655
|
-
const buildQuestionKey =
|
|
39982
|
+
const buildQuestionKey = React108.useCallback((sid, question2) => {
|
|
39656
39983
|
let hash = 2166136261;
|
|
39657
39984
|
for (let i = 0; i < question2.length; i++) {
|
|
39658
39985
|
hash ^= question2.charCodeAt(i);
|
|
@@ -39660,7 +39987,7 @@ var MCQCard = React107.memo(
|
|
|
39660
39987
|
}
|
|
39661
39988
|
return `mcq_${sid}_${hash.toString(36)}`;
|
|
39662
39989
|
}, []);
|
|
39663
|
-
|
|
39990
|
+
React108.useEffect(() => {
|
|
39664
39991
|
if (!sessionId || !resolvedQuestion) return;
|
|
39665
39992
|
const fetchKey = `${sessionId}::${resolvedQuestion}`;
|
|
39666
39993
|
if (fetchedSessionRef.current === fetchKey) return;
|
|
@@ -39723,7 +40050,7 @@ A: ${label}`);
|
|
|
39723
40050
|
key,
|
|
39724
40051
|
typeof val === "string" ? val : typeof val === "object" && val !== null ? val.label || val.description || val.id || JSON.stringify(val) : String(val ?? "")
|
|
39725
40052
|
]) : [];
|
|
39726
|
-
return /* @__PURE__ */
|
|
40053
|
+
return /* @__PURE__ */ jsxs112(
|
|
39727
40054
|
"div",
|
|
39728
40055
|
{
|
|
39729
40056
|
className: cn(
|
|
@@ -39731,11 +40058,11 @@ A: ${label}`);
|
|
|
39731
40058
|
className
|
|
39732
40059
|
),
|
|
39733
40060
|
children: [
|
|
39734
|
-
/* @__PURE__ */
|
|
39735
|
-
/* @__PURE__ */
|
|
40061
|
+
/* @__PURE__ */ jsx150("div", { className: "mb-4", children: /* @__PURE__ */ jsx150("p", { className: "text-sm text-cardText", children: resolvedQuestion || "Select an option:" }) }),
|
|
40062
|
+
/* @__PURE__ */ jsx150("div", { className: "space-y-2.5 mb-4", children: optionsEntries.map(([key, label]) => {
|
|
39736
40063
|
const isSelected = selectedOption === key;
|
|
39737
40064
|
const isRecommended = key === recommended;
|
|
39738
|
-
return /* @__PURE__ */
|
|
40065
|
+
return /* @__PURE__ */ jsx150(
|
|
39739
40066
|
"div",
|
|
39740
40067
|
{
|
|
39741
40068
|
onClick: (e) => handleOptionClick(key, e),
|
|
@@ -39746,8 +40073,8 @@ A: ${label}`);
|
|
|
39746
40073
|
!selectedOption && !isOptionsDisabled && "hover:border-gray500",
|
|
39747
40074
|
(isLoading || isOptionsDisabled) && "opacity-50 cursor-not-allowed"
|
|
39748
40075
|
),
|
|
39749
|
-
children: /* @__PURE__ */
|
|
39750
|
-
/* @__PURE__ */
|
|
40076
|
+
children: /* @__PURE__ */ jsxs112("div", { className: "flex items-start gap-3", children: [
|
|
40077
|
+
/* @__PURE__ */ jsx150("div", { className: "mt-0.5 flex-shrink-0", children: /* @__PURE__ */ jsx150(
|
|
39751
40078
|
"div",
|
|
39752
40079
|
{
|
|
39753
40080
|
className: cn(
|
|
@@ -39757,19 +40084,19 @@ A: ${label}`);
|
|
|
39757
40084
|
!selectedOption && !isOptionsDisabled && "hover:border-gold"
|
|
39758
40085
|
)
|
|
39759
40086
|
),
|
|
39760
|
-
children: isSelected && /* @__PURE__ */
|
|
40087
|
+
children: isSelected && /* @__PURE__ */ jsx150("div", { className: "w-2 h-2 rounded-full bg-gold" })
|
|
39761
40088
|
}
|
|
39762
40089
|
) }),
|
|
39763
|
-
/* @__PURE__ */
|
|
39764
|
-
isRecommended && /* @__PURE__ */
|
|
39765
|
-
/* @__PURE__ */
|
|
40090
|
+
/* @__PURE__ */ jsxs112("div", { className: "flex-1 min-w-0", children: [
|
|
40091
|
+
isRecommended && /* @__PURE__ */ jsx150("p", { className: "text-xs font-semibold text-gold mb-1", children: "Recommended" }),
|
|
40092
|
+
/* @__PURE__ */ jsx150("p", { className: "text-sm text-cardText", children: label })
|
|
39766
40093
|
] })
|
|
39767
40094
|
] })
|
|
39768
40095
|
},
|
|
39769
40096
|
key
|
|
39770
40097
|
);
|
|
39771
40098
|
}) }),
|
|
39772
|
-
/* @__PURE__ */
|
|
40099
|
+
/* @__PURE__ */ jsx150("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx150(
|
|
39773
40100
|
"button",
|
|
39774
40101
|
{
|
|
39775
40102
|
onClick: handleProceed,
|
|
@@ -39790,8 +40117,8 @@ A: ${label}`);
|
|
|
39790
40117
|
MCQCard.displayName = "MCQCard";
|
|
39791
40118
|
|
|
39792
40119
|
// src/molecules/creator-discovery/PlatformIconGroup/PlatformIconGroup.tsx
|
|
39793
|
-
import { jsx as
|
|
39794
|
-
var TikTokIcon = ({ className }) => /* @__PURE__ */
|
|
40120
|
+
import { jsx as jsx151 } from "react/jsx-runtime";
|
|
40121
|
+
var TikTokIcon = ({ className }) => /* @__PURE__ */ jsx151(Video, { className });
|
|
39795
40122
|
var PlatformIconGroup = ({
|
|
39796
40123
|
platforms,
|
|
39797
40124
|
className
|
|
@@ -39824,10 +40151,10 @@ var PlatformIconGroup = ({
|
|
|
39824
40151
|
return "text-gray-500 bg-gray-50 border-gray-100";
|
|
39825
40152
|
}
|
|
39826
40153
|
};
|
|
39827
|
-
return /* @__PURE__ */
|
|
40154
|
+
return /* @__PURE__ */ jsx151("div", { className: cn("flex gap-2", className), children: platforms.map((p, i) => {
|
|
39828
40155
|
const Icon3 = getIcon(p.platform);
|
|
39829
40156
|
if (!Icon3) return null;
|
|
39830
|
-
return /* @__PURE__ */
|
|
40157
|
+
return /* @__PURE__ */ jsx151(
|
|
39831
40158
|
"a",
|
|
39832
40159
|
{
|
|
39833
40160
|
href: p.url || "#",
|
|
@@ -39838,7 +40165,7 @@ var PlatformIconGroup = ({
|
|
|
39838
40165
|
"p-1.5 rounded-lg border transition-colors flex items-center justify-center",
|
|
39839
40166
|
getColors(p.platform)
|
|
39840
40167
|
),
|
|
39841
|
-
children: /* @__PURE__ */
|
|
40168
|
+
children: /* @__PURE__ */ jsx151(Icon3, { className: "w-4 h-4" })
|
|
39842
40169
|
},
|
|
39843
40170
|
i
|
|
39844
40171
|
);
|
|
@@ -39846,7 +40173,7 @@ var PlatformIconGroup = ({
|
|
|
39846
40173
|
};
|
|
39847
40174
|
|
|
39848
40175
|
// src/molecules/creator-discovery/CreatorProfileSummary/CreatorProfileSummary.tsx
|
|
39849
|
-
import { jsx as
|
|
40176
|
+
import { jsx as jsx152, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
39850
40177
|
var CreatorProfileSummary = ({
|
|
39851
40178
|
avatarSrc,
|
|
39852
40179
|
name,
|
|
@@ -39854,7 +40181,7 @@ var CreatorProfileSummary = ({
|
|
|
39854
40181
|
engagementRate,
|
|
39855
40182
|
className
|
|
39856
40183
|
}) => {
|
|
39857
|
-
return /* @__PURE__ */
|
|
40184
|
+
return /* @__PURE__ */ jsxs113(
|
|
39858
40185
|
"div",
|
|
39859
40186
|
{
|
|
39860
40187
|
className: cn(
|
|
@@ -39862,7 +40189,7 @@ var CreatorProfileSummary = ({
|
|
|
39862
40189
|
className
|
|
39863
40190
|
),
|
|
39864
40191
|
children: [
|
|
39865
|
-
/* @__PURE__ */
|
|
40192
|
+
/* @__PURE__ */ jsx152(
|
|
39866
40193
|
AvatarAtom,
|
|
39867
40194
|
{
|
|
39868
40195
|
id: `avatar-${name}`,
|
|
@@ -39872,8 +40199,8 @@ var CreatorProfileSummary = ({
|
|
|
39872
40199
|
className: "w-12 h-12 ring-2 ring-purple-100"
|
|
39873
40200
|
}
|
|
39874
40201
|
),
|
|
39875
|
-
/* @__PURE__ */
|
|
39876
|
-
/* @__PURE__ */
|
|
40202
|
+
/* @__PURE__ */ jsxs113("div", { className: "flex flex-col flex-1", children: [
|
|
40203
|
+
/* @__PURE__ */ jsx152(
|
|
39877
40204
|
TextAtom,
|
|
39878
40205
|
{
|
|
39879
40206
|
id: `name-${name}`,
|
|
@@ -39883,14 +40210,14 @@ var CreatorProfileSummary = ({
|
|
|
39883
40210
|
className: "text-gray-900 leading-tight"
|
|
39884
40211
|
}
|
|
39885
40212
|
),
|
|
39886
|
-
/* @__PURE__ */
|
|
39887
|
-
followerCount && /* @__PURE__ */
|
|
39888
|
-
/* @__PURE__ */
|
|
39889
|
-
/* @__PURE__ */
|
|
40213
|
+
/* @__PURE__ */ jsxs113("div", { className: "flex gap-3 mt-1", children: [
|
|
40214
|
+
followerCount && /* @__PURE__ */ jsxs113("div", { className: "flex flex-col", children: [
|
|
40215
|
+
/* @__PURE__ */ jsx152("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Followers" }),
|
|
40216
|
+
/* @__PURE__ */ jsx152("span", { className: "text-xs font-semibold text-purple-700", children: followerCount })
|
|
39890
40217
|
] }),
|
|
39891
|
-
engagementRate && /* @__PURE__ */
|
|
39892
|
-
/* @__PURE__ */
|
|
39893
|
-
/* @__PURE__ */
|
|
40218
|
+
engagementRate && /* @__PURE__ */ jsxs113("div", { className: "flex flex-col border-l border-purple-100 pl-3", children: [
|
|
40219
|
+
/* @__PURE__ */ jsx152("span", { className: "text-[10px] uppercase tracking-wider text-muted-foreground font-bold", children: "Engagement" }),
|
|
40220
|
+
/* @__PURE__ */ jsx152("span", { className: "text-xs font-semibold text-indigo-600", children: engagementRate })
|
|
39894
40221
|
] })
|
|
39895
40222
|
] })
|
|
39896
40223
|
] })
|
|
@@ -39900,13 +40227,13 @@ var CreatorProfileSummary = ({
|
|
|
39900
40227
|
};
|
|
39901
40228
|
|
|
39902
40229
|
// src/molecules/creator-discovery/AudienceMetricCard/AudienceMetricCard.tsx
|
|
39903
|
-
import { jsx as
|
|
40230
|
+
import { jsx as jsx153, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
39904
40231
|
var AudienceMetricCard = ({
|
|
39905
40232
|
title,
|
|
39906
40233
|
metrics,
|
|
39907
40234
|
className
|
|
39908
40235
|
}) => {
|
|
39909
|
-
return /* @__PURE__ */
|
|
40236
|
+
return /* @__PURE__ */ jsxs114(
|
|
39910
40237
|
Card,
|
|
39911
40238
|
{
|
|
39912
40239
|
className: cn(
|
|
@@ -39914,13 +40241,13 @@ var AudienceMetricCard = ({
|
|
|
39914
40241
|
className
|
|
39915
40242
|
),
|
|
39916
40243
|
children: [
|
|
39917
|
-
/* @__PURE__ */
|
|
39918
|
-
/* @__PURE__ */
|
|
39919
|
-
/* @__PURE__ */
|
|
39920
|
-
/* @__PURE__ */
|
|
39921
|
-
/* @__PURE__ */
|
|
40244
|
+
/* @__PURE__ */ jsx153(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx153(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
40245
|
+
/* @__PURE__ */ jsx153(CardContent, { className: "space-y-4", children: metrics.map((metric, i) => /* @__PURE__ */ jsxs114("div", { className: "space-y-1.5", children: [
|
|
40246
|
+
/* @__PURE__ */ jsxs114("div", { className: "flex justify-between items-center text-sm", children: [
|
|
40247
|
+
/* @__PURE__ */ jsx153("span", { className: "font-medium text-gray-700", children: metric.label }),
|
|
40248
|
+
/* @__PURE__ */ jsx153("span", { className: "font-bold text-gray-900", children: metric.value })
|
|
39922
40249
|
] }),
|
|
39923
|
-
metric.percentage !== void 0 && /* @__PURE__ */
|
|
40250
|
+
metric.percentage !== void 0 && /* @__PURE__ */ jsx153(
|
|
39924
40251
|
ProgressAtom,
|
|
39925
40252
|
{
|
|
39926
40253
|
id: `progress-${i}`,
|
|
@@ -39937,8 +40264,8 @@ var AudienceMetricCard = ({
|
|
|
39937
40264
|
};
|
|
39938
40265
|
|
|
39939
40266
|
// src/molecules/creator-discovery/CreatorGridCard/CreatorGridCard.tsx
|
|
39940
|
-
import { jsx as
|
|
39941
|
-
var TikTokIcon2 = ({ className }) => /* @__PURE__ */
|
|
40267
|
+
import { jsx as jsx154, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
40268
|
+
var TikTokIcon2 = ({ className }) => /* @__PURE__ */ jsx154(Video, { className });
|
|
39942
40269
|
var CreatorGridCard = ({
|
|
39943
40270
|
bannerSrc,
|
|
39944
40271
|
avatarSrc,
|
|
@@ -39966,7 +40293,7 @@ var CreatorGridCard = ({
|
|
|
39966
40293
|
const safePlatforms = Array.isArray(platforms) ? platforms : [];
|
|
39967
40294
|
const safeMetrics = Array.isArray(metrics) ? metrics : [];
|
|
39968
40295
|
const displayName = typeof name === "string" ? name : String(name || "");
|
|
39969
|
-
return /* @__PURE__ */
|
|
40296
|
+
return /* @__PURE__ */ jsxs115(
|
|
39970
40297
|
Card,
|
|
39971
40298
|
{
|
|
39972
40299
|
className: cn(
|
|
@@ -39974,43 +40301,43 @@ var CreatorGridCard = ({
|
|
|
39974
40301
|
className
|
|
39975
40302
|
),
|
|
39976
40303
|
children: [
|
|
39977
|
-
/* @__PURE__ */
|
|
39978
|
-
bannerSrc ? /* @__PURE__ */
|
|
40304
|
+
/* @__PURE__ */ jsxs115("div", { className: "relative h-32 w-full overflow-hidden", children: [
|
|
40305
|
+
bannerSrc ? /* @__PURE__ */ jsx154(
|
|
39979
40306
|
"img",
|
|
39980
40307
|
{
|
|
39981
40308
|
src: bannerSrc,
|
|
39982
40309
|
alt: displayName,
|
|
39983
40310
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
39984
40311
|
}
|
|
39985
|
-
) : /* @__PURE__ */
|
|
39986
|
-
/* @__PURE__ */
|
|
40312
|
+
) : /* @__PURE__ */ jsx154("div", { className: "h-full w-full bg-gradient-to-br from-purple-500 to-indigo-600" }),
|
|
40313
|
+
/* @__PURE__ */ jsx154("div", { className: "absolute inset-x-0 bottom-0 h-1/2 bg-gradient-to-t from-black/20 to-transparent" })
|
|
39987
40314
|
] }),
|
|
39988
|
-
/* @__PURE__ */
|
|
39989
|
-
/* @__PURE__ */
|
|
39990
|
-
/* @__PURE__ */
|
|
39991
|
-
/* @__PURE__ */
|
|
40315
|
+
/* @__PURE__ */ jsxs115(CardContent, { className: "relative pt-0 px-5 pb-6", children: [
|
|
40316
|
+
/* @__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: [
|
|
40317
|
+
/* @__PURE__ */ jsx154(AvatarImage, { src: avatarSrc, alt: displayName }),
|
|
40318
|
+
/* @__PURE__ */ jsx154(AvatarFallback, { className: "bg-purple-500/10 text-purple-500 font-bold text-xl", children: displayName.charAt(0) || "?" })
|
|
39992
40319
|
] }) }),
|
|
39993
|
-
/* @__PURE__ */
|
|
39994
|
-
/* @__PURE__ */
|
|
39995
|
-
/* @__PURE__ */
|
|
40320
|
+
/* @__PURE__ */ jsxs115("div", { className: "mt-12 flex flex-col gap-1", children: [
|
|
40321
|
+
/* @__PURE__ */ jsx154("h3", { className: "text-xl font-bold text-[var(--foreground)] truncate", children: displayName }),
|
|
40322
|
+
/* @__PURE__ */ jsxs115("p", { className: "text-sm text-[var(--foreground)]/60 font-medium", children: [
|
|
39996
40323
|
"@",
|
|
39997
40324
|
handle
|
|
39998
40325
|
] })
|
|
39999
40326
|
] }),
|
|
40000
|
-
/* @__PURE__ */
|
|
40327
|
+
/* @__PURE__ */ jsx154("div", { className: "mt-4 flex gap-2", children: safePlatforms.map((p, i) => {
|
|
40001
40328
|
const Icon3 = getIcon(p);
|
|
40002
|
-
return Icon3 ? /* @__PURE__ */
|
|
40329
|
+
return Icon3 ? /* @__PURE__ */ jsx154(
|
|
40003
40330
|
"div",
|
|
40004
40331
|
{
|
|
40005
40332
|
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__ */
|
|
40333
|
+
children: /* @__PURE__ */ jsx154(Icon3, { className: "h-4 w-4" })
|
|
40007
40334
|
},
|
|
40008
40335
|
typeof p === "string" ? p : i
|
|
40009
40336
|
) : null;
|
|
40010
40337
|
}) }),
|
|
40011
|
-
/* @__PURE__ */
|
|
40012
|
-
/* @__PURE__ */
|
|
40013
|
-
/* @__PURE__ */
|
|
40338
|
+
/* @__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: [
|
|
40339
|
+
/* @__PURE__ */ jsx154("span", { className: "text-[10px] font-bold uppercase tracking-wider text-[var(--foreground)]/40", children: m.label }),
|
|
40340
|
+
/* @__PURE__ */ jsx154("span", { className: "text-sm font-bold text-[var(--primary-color)]", children: m.value })
|
|
40014
40341
|
] }, i)) })
|
|
40015
40342
|
] })
|
|
40016
40343
|
]
|
|
@@ -40019,15 +40346,15 @@ var CreatorGridCard = ({
|
|
|
40019
40346
|
};
|
|
40020
40347
|
|
|
40021
40348
|
// src/molecules/creator-discovery/BrandAffinityGroup/BrandAffinityGroup.tsx
|
|
40022
|
-
import { jsx as
|
|
40349
|
+
import { jsx as jsx155, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
40023
40350
|
var BrandAffinityGroup = ({
|
|
40024
40351
|
brands,
|
|
40025
40352
|
className
|
|
40026
40353
|
}) => {
|
|
40027
|
-
return /* @__PURE__ */
|
|
40028
|
-
/* @__PURE__ */
|
|
40029
|
-
/* @__PURE__ */
|
|
40030
|
-
/* @__PURE__ */
|
|
40354
|
+
return /* @__PURE__ */ jsxs116("div", { className: cn("flex flex-col gap-3", className), children: [
|
|
40355
|
+
/* @__PURE__ */ jsx155("h5", { className: "text-[10px] font-bold uppercase tracking-widest text-muted-foreground", children: "Recent Collaborations" }),
|
|
40356
|
+
/* @__PURE__ */ jsx155("div", { className: "flex flex-wrap gap-4 items-center", children: brands.map((brand, i) => /* @__PURE__ */ jsxs116("div", { className: "group relative", children: [
|
|
40357
|
+
/* @__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
40358
|
"img",
|
|
40032
40359
|
{
|
|
40033
40360
|
src: brand.logoSrc,
|
|
@@ -40035,18 +40362,18 @@ var BrandAffinityGroup = ({
|
|
|
40035
40362
|
className: "max-h-full max-w-full object-contain"
|
|
40036
40363
|
}
|
|
40037
40364
|
) }),
|
|
40038
|
-
/* @__PURE__ */
|
|
40365
|
+
/* @__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
40366
|
] }, i)) })
|
|
40040
40367
|
] });
|
|
40041
40368
|
};
|
|
40042
40369
|
|
|
40043
40370
|
// src/molecules/creator-discovery/ContentPreviewGallery/ContentPreviewGallery.tsx
|
|
40044
|
-
import { jsx as
|
|
40371
|
+
import { jsx as jsx156, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
40045
40372
|
var ContentPreviewGallery = ({
|
|
40046
40373
|
items,
|
|
40047
40374
|
className
|
|
40048
40375
|
}) => {
|
|
40049
|
-
return /* @__PURE__ */
|
|
40376
|
+
return /* @__PURE__ */ jsx156("div", { className: cn("grid grid-cols-2 gap-2", className), children: items.map((item, i) => /* @__PURE__ */ jsxs117(
|
|
40050
40377
|
"a",
|
|
40051
40378
|
{
|
|
40052
40379
|
href: item.url || "#",
|
|
@@ -40054,7 +40381,7 @@ var ContentPreviewGallery = ({
|
|
|
40054
40381
|
rel: "noopener noreferrer",
|
|
40055
40382
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100",
|
|
40056
40383
|
children: [
|
|
40057
|
-
/* @__PURE__ */
|
|
40384
|
+
/* @__PURE__ */ jsx156(
|
|
40058
40385
|
"img",
|
|
40059
40386
|
{
|
|
40060
40387
|
src: item.thumbnail,
|
|
@@ -40062,8 +40389,8 @@ var ContentPreviewGallery = ({
|
|
|
40062
40389
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40063
40390
|
}
|
|
40064
40391
|
),
|
|
40065
|
-
item.type === "video" && /* @__PURE__ */
|
|
40066
|
-
/* @__PURE__ */
|
|
40392
|
+
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" }) }) }),
|
|
40393
|
+
/* @__PURE__ */ jsx156("div", { className: "absolute inset-0 ring-1 ring-inset ring-black/10 rounded-2xl" })
|
|
40067
40394
|
]
|
|
40068
40395
|
},
|
|
40069
40396
|
i
|
|
@@ -40071,10 +40398,10 @@ var ContentPreviewGallery = ({
|
|
|
40071
40398
|
};
|
|
40072
40399
|
|
|
40073
40400
|
// src/molecules/creator-discovery/AudienceDemographicsCard/AudienceDemographicsCard.tsx
|
|
40074
|
-
import { jsx as
|
|
40401
|
+
import { jsx as jsx157, jsxs as jsxs118 } from "react/jsx-runtime";
|
|
40075
40402
|
var AudienceDemographicsCard = ({ title, data, config, demographicType, className }) => {
|
|
40076
40403
|
const chartType = demographicType === "location" ? "bar" : "pie";
|
|
40077
|
-
return /* @__PURE__ */
|
|
40404
|
+
return /* @__PURE__ */ jsxs118(
|
|
40078
40405
|
Card,
|
|
40079
40406
|
{
|
|
40080
40407
|
className: cn(
|
|
@@ -40082,8 +40409,8 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
40082
40409
|
className
|
|
40083
40410
|
),
|
|
40084
40411
|
children: [
|
|
40085
|
-
/* @__PURE__ */
|
|
40086
|
-
/* @__PURE__ */
|
|
40412
|
+
/* @__PURE__ */ jsx157(CardHeader, { className: "pb-2", children: /* @__PURE__ */ jsx157(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }) }),
|
|
40413
|
+
/* @__PURE__ */ jsx157(CardContent, { children: /* @__PURE__ */ jsx157("div", { className: "h-[250px] w-full", children: /* @__PURE__ */ jsx157(
|
|
40087
40414
|
ChartAtom,
|
|
40088
40415
|
{
|
|
40089
40416
|
type: "chart",
|
|
@@ -40102,7 +40429,7 @@ var AudienceDemographicsCard = ({ title, data, config, demographicType, classNam
|
|
|
40102
40429
|
};
|
|
40103
40430
|
|
|
40104
40431
|
// src/molecules/creator-discovery/GrowthChartCard/GrowthChartCard.tsx
|
|
40105
|
-
import { jsx as
|
|
40432
|
+
import { jsx as jsx158, jsxs as jsxs119 } from "react/jsx-runtime";
|
|
40106
40433
|
var GrowthChartCard = ({
|
|
40107
40434
|
title,
|
|
40108
40435
|
data,
|
|
@@ -40111,7 +40438,7 @@ var GrowthChartCard = ({
|
|
|
40111
40438
|
period,
|
|
40112
40439
|
className
|
|
40113
40440
|
}) => {
|
|
40114
|
-
return /* @__PURE__ */
|
|
40441
|
+
return /* @__PURE__ */ jsxs119(
|
|
40115
40442
|
Card,
|
|
40116
40443
|
{
|
|
40117
40444
|
className: cn(
|
|
@@ -40119,15 +40446,15 @@ var GrowthChartCard = ({
|
|
|
40119
40446
|
className
|
|
40120
40447
|
),
|
|
40121
40448
|
children: [
|
|
40122
|
-
/* @__PURE__ */
|
|
40123
|
-
/* @__PURE__ */
|
|
40124
|
-
/* @__PURE__ */
|
|
40125
|
-
/* @__PURE__ */
|
|
40449
|
+
/* @__PURE__ */ jsxs119(CardHeader, { className: "flex flex-row items-center justify-between pb-2 space-y-0", children: [
|
|
40450
|
+
/* @__PURE__ */ jsxs119("div", { children: [
|
|
40451
|
+
/* @__PURE__ */ jsx158(CardTitle, { className: "text-lg font-bold text-gray-900", children: title }),
|
|
40452
|
+
/* @__PURE__ */ jsx158("p", { className: "text-xs text-muted-foreground", children: period })
|
|
40126
40453
|
] }),
|
|
40127
|
-
/* @__PURE__ */
|
|
40454
|
+
/* @__PURE__ */ jsx158("div", { className: "bg-green-50 p-2 rounded-xl", children: /* @__PURE__ */ jsx158(TrendingUp, { className: "w-4 h-4 text-green-600" }) })
|
|
40128
40455
|
] }),
|
|
40129
|
-
/* @__PURE__ */
|
|
40130
|
-
/* @__PURE__ */
|
|
40456
|
+
/* @__PURE__ */ jsxs119(CardContent, { children: [
|
|
40457
|
+
/* @__PURE__ */ jsx158("div", { className: "h-[200px] w-full mt-4", children: /* @__PURE__ */ jsx158(
|
|
40131
40458
|
ChartAtom,
|
|
40132
40459
|
{
|
|
40133
40460
|
type: "chart",
|
|
@@ -40140,9 +40467,9 @@ var GrowthChartCard = ({
|
|
|
40140
40467
|
showLegend: false
|
|
40141
40468
|
}
|
|
40142
40469
|
) }),
|
|
40143
|
-
/* @__PURE__ */
|
|
40144
|
-
/* @__PURE__ */
|
|
40145
|
-
/* @__PURE__ */
|
|
40470
|
+
/* @__PURE__ */ jsxs119("div", { className: "mt-4 flex items-center justify-between", children: [
|
|
40471
|
+
/* @__PURE__ */ jsx158("span", { className: "text-sm font-medium text-gray-500", children: metric }),
|
|
40472
|
+
/* @__PURE__ */ jsx158("span", { className: "text-sm font-bold text-purple-600", children: "+12.5%" })
|
|
40146
40473
|
] })
|
|
40147
40474
|
] })
|
|
40148
40475
|
]
|
|
@@ -40151,24 +40478,24 @@ var GrowthChartCard = ({
|
|
|
40151
40478
|
};
|
|
40152
40479
|
|
|
40153
40480
|
// src/molecules/creator-discovery/TopPostsGrid/TopPostsGrid.tsx
|
|
40154
|
-
import { jsx as
|
|
40481
|
+
import { jsx as jsx159, jsxs as jsxs120 } from "react/jsx-runtime";
|
|
40155
40482
|
var TopPostsGrid = ({
|
|
40156
40483
|
posts,
|
|
40157
40484
|
className
|
|
40158
40485
|
}) => {
|
|
40159
|
-
return /* @__PURE__ */
|
|
40486
|
+
return /* @__PURE__ */ jsx159(
|
|
40160
40487
|
"div",
|
|
40161
40488
|
{
|
|
40162
40489
|
className: cn(
|
|
40163
40490
|
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
40164
40491
|
className
|
|
40165
40492
|
),
|
|
40166
|
-
children: posts.map((post, i) => /* @__PURE__ */
|
|
40493
|
+
children: posts.map((post, i) => /* @__PURE__ */ jsxs120(
|
|
40167
40494
|
"div",
|
|
40168
40495
|
{
|
|
40169
40496
|
className: "group relative aspect-square overflow-hidden rounded-2xl bg-gray-100 border border-purple-50",
|
|
40170
40497
|
children: [
|
|
40171
|
-
/* @__PURE__ */
|
|
40498
|
+
/* @__PURE__ */ jsx159(
|
|
40172
40499
|
"img",
|
|
40173
40500
|
{
|
|
40174
40501
|
src: post.thumbnail,
|
|
@@ -40176,25 +40503,25 @@ var TopPostsGrid = ({
|
|
|
40176
40503
|
className: "h-full w-full object-cover transition-transform duration-500 group-hover:scale-110"
|
|
40177
40504
|
}
|
|
40178
40505
|
),
|
|
40179
|
-
/* @__PURE__ */
|
|
40180
|
-
/* @__PURE__ */
|
|
40181
|
-
/* @__PURE__ */
|
|
40182
|
-
/* @__PURE__ */
|
|
40506
|
+
/* @__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: [
|
|
40507
|
+
/* @__PURE__ */ jsxs120("div", { className: "flex items-center gap-4 text-white text-xs font-bold", children: [
|
|
40508
|
+
/* @__PURE__ */ jsxs120("span", { className: "flex items-center gap-1", children: [
|
|
40509
|
+
/* @__PURE__ */ jsx159(Heart, { className: "w-3 h-3 fill-white" }),
|
|
40183
40510
|
" ",
|
|
40184
40511
|
post.likes
|
|
40185
40512
|
] }),
|
|
40186
|
-
/* @__PURE__ */
|
|
40187
|
-
/* @__PURE__ */
|
|
40513
|
+
/* @__PURE__ */ jsxs120("span", { className: "flex items-center gap-1", children: [
|
|
40514
|
+
/* @__PURE__ */ jsx159(MessageCircle, { className: "w-3 h-3 fill-white" }),
|
|
40188
40515
|
" ",
|
|
40189
40516
|
post.comments
|
|
40190
40517
|
] }),
|
|
40191
|
-
/* @__PURE__ */
|
|
40192
|
-
/* @__PURE__ */
|
|
40518
|
+
/* @__PURE__ */ jsxs120("span", { className: "flex items-center gap-1", children: [
|
|
40519
|
+
/* @__PURE__ */ jsx159(ChartColumn, { className: "w-3 h-3" }),
|
|
40193
40520
|
" ",
|
|
40194
40521
|
post.engagement
|
|
40195
40522
|
] })
|
|
40196
40523
|
] }),
|
|
40197
|
-
/* @__PURE__ */
|
|
40524
|
+
/* @__PURE__ */ jsx159("span", { className: "text-[10px] text-gray-300 mt-2", children: post.date })
|
|
40198
40525
|
] })
|
|
40199
40526
|
]
|
|
40200
40527
|
},
|
|
@@ -40205,7 +40532,7 @@ var TopPostsGrid = ({
|
|
|
40205
40532
|
};
|
|
40206
40533
|
|
|
40207
40534
|
// src/molecules/creator-discovery/CreatorActionHeader/CreatorActionHeader.tsx
|
|
40208
|
-
import { jsx as
|
|
40535
|
+
import { jsx as jsx160, jsxs as jsxs121 } from "react/jsx-runtime";
|
|
40209
40536
|
var CreatorActionHeader = ({
|
|
40210
40537
|
bannerSrc,
|
|
40211
40538
|
avatarSrc,
|
|
@@ -40214,7 +40541,7 @@ var CreatorActionHeader = ({
|
|
|
40214
40541
|
actions,
|
|
40215
40542
|
className
|
|
40216
40543
|
}) => {
|
|
40217
|
-
return /* @__PURE__ */
|
|
40544
|
+
return /* @__PURE__ */ jsxs121(
|
|
40218
40545
|
"div",
|
|
40219
40546
|
{
|
|
40220
40547
|
className: cn(
|
|
@@ -40222,8 +40549,8 @@ var CreatorActionHeader = ({
|
|
|
40222
40549
|
className
|
|
40223
40550
|
),
|
|
40224
40551
|
children: [
|
|
40225
|
-
/* @__PURE__ */
|
|
40226
|
-
bannerSrc && /* @__PURE__ */
|
|
40552
|
+
/* @__PURE__ */ jsxs121("div", { className: "h-48 w-full bg-gradient-to-r from-purple-100 to-indigo-100 relative", children: [
|
|
40553
|
+
bannerSrc && /* @__PURE__ */ jsx160(
|
|
40227
40554
|
"img",
|
|
40228
40555
|
{
|
|
40229
40556
|
src: bannerSrc,
|
|
@@ -40231,23 +40558,23 @@ var CreatorActionHeader = ({
|
|
|
40231
40558
|
alt: "Banner"
|
|
40232
40559
|
}
|
|
40233
40560
|
),
|
|
40234
|
-
/* @__PURE__ */
|
|
40561
|
+
/* @__PURE__ */ jsx160("div", { className: "absolute inset-0 bg-black/5" })
|
|
40235
40562
|
] }),
|
|
40236
|
-
/* @__PURE__ */
|
|
40237
|
-
/* @__PURE__ */
|
|
40238
|
-
/* @__PURE__ */
|
|
40239
|
-
/* @__PURE__ */
|
|
40240
|
-
/* @__PURE__ */
|
|
40563
|
+
/* @__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: [
|
|
40564
|
+
/* @__PURE__ */ jsxs121("div", { className: "flex flex-col md:flex-row items-start md:items-end gap-6", children: [
|
|
40565
|
+
/* @__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: [
|
|
40566
|
+
/* @__PURE__ */ jsx160(AvatarImage, { src: avatarSrc, className: "rounded-[24px]" }),
|
|
40567
|
+
/* @__PURE__ */ jsx160(AvatarFallback, { className: "rounded-[24px] bg-purple-50 text-purple-600 text-3xl font-bold", children: name.charAt(0) })
|
|
40241
40568
|
] }) }),
|
|
40242
|
-
/* @__PURE__ */
|
|
40243
|
-
/* @__PURE__ */
|
|
40244
|
-
/* @__PURE__ */
|
|
40569
|
+
/* @__PURE__ */ jsxs121("div", { className: "mb-2", children: [
|
|
40570
|
+
/* @__PURE__ */ jsx160("h1", { className: "text-3xl font-bold text-gray-900 tracking-tight", children: name }),
|
|
40571
|
+
/* @__PURE__ */ jsxs121("p", { className: "text-purple-600 font-medium tracking-wide", children: [
|
|
40245
40572
|
"@",
|
|
40246
40573
|
handle
|
|
40247
40574
|
] })
|
|
40248
40575
|
] })
|
|
40249
40576
|
] }),
|
|
40250
|
-
/* @__PURE__ */
|
|
40577
|
+
/* @__PURE__ */ jsx160("div", { className: "flex items-center gap-3 mb-2", children: actions.map((action, i) => /* @__PURE__ */ jsx160(
|
|
40251
40578
|
Button,
|
|
40252
40579
|
{
|
|
40253
40580
|
variant: action.variant || "default",
|
|
@@ -40266,9 +40593,9 @@ var CreatorActionHeader = ({
|
|
|
40266
40593
|
};
|
|
40267
40594
|
|
|
40268
40595
|
// src/molecules/creator-discovery/CreatorSearchBox/CreatorSearch.tsx
|
|
40269
|
-
import
|
|
40270
|
-
import { jsx as
|
|
40271
|
-
var CreatorSearch =
|
|
40596
|
+
import React109, { useMemo as useMemo7 } from "react";
|
|
40597
|
+
import { jsx as jsx161, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
40598
|
+
var CreatorSearch = React109.memo(
|
|
40272
40599
|
({
|
|
40273
40600
|
selectionStatus,
|
|
40274
40601
|
isLatestMessage = true,
|
|
@@ -40285,7 +40612,7 @@ var CreatorSearch = React108.memo(
|
|
|
40285
40612
|
...field,
|
|
40286
40613
|
renderDisplay: (val) => {
|
|
40287
40614
|
const platforms = Array.isArray(val) ? val : [val];
|
|
40288
|
-
return /* @__PURE__ */
|
|
40615
|
+
return /* @__PURE__ */ jsx161("div", { className: "flex flex-wrap gap-2", children: platforms.map((p) => /* @__PURE__ */ jsx161(
|
|
40289
40616
|
BadgeAtom,
|
|
40290
40617
|
{
|
|
40291
40618
|
id: `platform-${p}`,
|
|
@@ -40302,13 +40629,13 @@ var CreatorSearch = React108.memo(
|
|
|
40302
40629
|
if (field.key === "geography") {
|
|
40303
40630
|
return {
|
|
40304
40631
|
...field,
|
|
40305
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40632
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx161(CountrySelectDisplay, { value: val })
|
|
40306
40633
|
};
|
|
40307
40634
|
}
|
|
40308
40635
|
if (field.key === "keywordBundles") {
|
|
40309
40636
|
return {
|
|
40310
40637
|
...field,
|
|
40311
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40638
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx161(KeywordBundlesDisplay, { value: val })
|
|
40312
40639
|
};
|
|
40313
40640
|
}
|
|
40314
40641
|
if (field.key === "followerRange") {
|
|
@@ -40316,9 +40643,9 @@ var CreatorSearch = React108.memo(
|
|
|
40316
40643
|
...field,
|
|
40317
40644
|
renderDisplay: (val) => {
|
|
40318
40645
|
if (typeof val === "object" && val !== null) {
|
|
40319
|
-
return /* @__PURE__ */
|
|
40646
|
+
return /* @__PURE__ */ jsx161("span", { className: "text-white font-medium", children: `${val.min?.toLocaleString()} - ${val.max?.toLocaleString()} followers` });
|
|
40320
40647
|
}
|
|
40321
|
-
return /* @__PURE__ */
|
|
40648
|
+
return /* @__PURE__ */ jsxs122("span", { className: "text-white font-medium", children: [
|
|
40322
40649
|
val,
|
|
40323
40650
|
" followers"
|
|
40324
40651
|
] });
|
|
@@ -40328,7 +40655,7 @@ var CreatorSearch = React108.memo(
|
|
|
40328
40655
|
if (field.key === "initialCreators") {
|
|
40329
40656
|
return {
|
|
40330
40657
|
...field,
|
|
40331
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40658
|
+
renderDisplay: (val) => /* @__PURE__ */ jsxs122("span", { className: "text-white font-medium", children: [
|
|
40332
40659
|
val,
|
|
40333
40660
|
" creators"
|
|
40334
40661
|
] })
|
|
@@ -40337,7 +40664,7 @@ var CreatorSearch = React108.memo(
|
|
|
40337
40664
|
return field;
|
|
40338
40665
|
});
|
|
40339
40666
|
}, [providedFields, data]);
|
|
40340
|
-
return /* @__PURE__ */
|
|
40667
|
+
return /* @__PURE__ */ jsx161("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsx161(
|
|
40341
40668
|
FormCard,
|
|
40342
40669
|
{
|
|
40343
40670
|
...formCardProps,
|
|
@@ -40346,9 +40673,9 @@ var CreatorSearch = React108.memo(
|
|
|
40346
40673
|
fields,
|
|
40347
40674
|
showTimeline: true,
|
|
40348
40675
|
className: cn("font-noto", className),
|
|
40349
|
-
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */
|
|
40350
|
-
/* @__PURE__ */
|
|
40351
|
-
/* @__PURE__ */
|
|
40676
|
+
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: [
|
|
40677
|
+
/* @__PURE__ */ jsx161(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
40678
|
+
/* @__PURE__ */ jsx161("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
40352
40679
|
] }) : formCardProps.footer
|
|
40353
40680
|
}
|
|
40354
40681
|
) });
|
|
@@ -40357,10 +40684,10 @@ var CreatorSearch = React108.memo(
|
|
|
40357
40684
|
CreatorSearch.displayName = "CreatorSearch";
|
|
40358
40685
|
|
|
40359
40686
|
// src/molecules/creator-discovery/CampaignConceptCard/CampaignConceptCard.tsx
|
|
40360
|
-
import
|
|
40687
|
+
import React110, { useMemo as useMemo8, useState as useState12 } from "react";
|
|
40361
40688
|
import { motion, AnimatePresence } from "framer-motion";
|
|
40362
|
-
import { jsx as
|
|
40363
|
-
var CampaignConceptCard =
|
|
40689
|
+
import { jsx as jsx162, jsxs as jsxs123 } from "react/jsx-runtime";
|
|
40690
|
+
var CampaignConceptCard = React110.memo(
|
|
40364
40691
|
({
|
|
40365
40692
|
index,
|
|
40366
40693
|
isRecommended,
|
|
@@ -40376,7 +40703,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40376
40703
|
onAction,
|
|
40377
40704
|
...formCardProps
|
|
40378
40705
|
}) => {
|
|
40379
|
-
const [internalIsOpen, setInternalIsOpen] =
|
|
40706
|
+
const [internalIsOpen, setInternalIsOpen] = useState12(false);
|
|
40380
40707
|
const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
|
|
40381
40708
|
const handleToggle = () => {
|
|
40382
40709
|
if (onToggle) {
|
|
@@ -40432,39 +40759,39 @@ var CampaignConceptCard = React109.memo(
|
|
|
40432
40759
|
label: "Budget Allocation",
|
|
40433
40760
|
renderDisplay: (val) => {
|
|
40434
40761
|
if (!val)
|
|
40435
|
-
return /* @__PURE__ */
|
|
40762
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40436
40763
|
if (Array.isArray(val)) {
|
|
40437
|
-
return /* @__PURE__ */
|
|
40764
|
+
return /* @__PURE__ */ jsx162("div", { className: "space-y-2", children: val.map((item, idx) => {
|
|
40438
40765
|
const label = item?.label ?? item?.key ?? `Item ${idx + 1}`;
|
|
40439
40766
|
const value = item?.value ?? item;
|
|
40440
|
-
return /* @__PURE__ */
|
|
40441
|
-
/* @__PURE__ */
|
|
40767
|
+
return /* @__PURE__ */ jsxs123("div", { className: "flex items-center gap-2", children: [
|
|
40768
|
+
/* @__PURE__ */ jsxs123("span", { className: "text-muted-foreground font-medium", children: [
|
|
40442
40769
|
idx + 1,
|
|
40443
40770
|
"."
|
|
40444
40771
|
] }),
|
|
40445
|
-
/* @__PURE__ */
|
|
40446
|
-
/* @__PURE__ */
|
|
40447
|
-
/* @__PURE__ */
|
|
40772
|
+
/* @__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) }),
|
|
40773
|
+
/* @__PURE__ */ jsx162("span", { className: "text-cardText", children: "=" }),
|
|
40774
|
+
/* @__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
40775
|
] }, idx);
|
|
40449
40776
|
}) });
|
|
40450
40777
|
}
|
|
40451
40778
|
if (typeof val === "object") {
|
|
40452
40779
|
const entries = Object.entries(val);
|
|
40453
40780
|
if (entries.length === 0)
|
|
40454
|
-
return /* @__PURE__ */
|
|
40455
|
-
return /* @__PURE__ */
|
|
40456
|
-
/* @__PURE__ */
|
|
40781
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40782
|
+
return /* @__PURE__ */ jsx162("div", { className: "space-y-2", children: entries.map(([k, v], idx) => /* @__PURE__ */ jsxs123("div", { className: "flex items-center gap-2", children: [
|
|
40783
|
+
/* @__PURE__ */ jsxs123("span", { className: "text-muted-foreground font-medium", children: [
|
|
40457
40784
|
idx + 1,
|
|
40458
40785
|
"."
|
|
40459
40786
|
] }),
|
|
40460
|
-
/* @__PURE__ */
|
|
40461
|
-
/* @__PURE__ */
|
|
40462
|
-
/* @__PURE__ */
|
|
40787
|
+
/* @__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) }),
|
|
40788
|
+
/* @__PURE__ */ jsx162("span", { className: "text-cardText", children: "=" }),
|
|
40789
|
+
/* @__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
40790
|
] }, k)) });
|
|
40464
40791
|
}
|
|
40465
|
-
return /* @__PURE__ */
|
|
40792
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: String(val) });
|
|
40466
40793
|
},
|
|
40467
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40794
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40468
40795
|
Textarea,
|
|
40469
40796
|
{
|
|
40470
40797
|
value: typeof v === "object" ? Object.entries(v || {}).map(([k, val]) => `${k.replace(/_/g, " ")}: ${val}`).join("\n") : String(v || ""),
|
|
@@ -40489,8 +40816,8 @@ var CampaignConceptCard = React109.memo(
|
|
|
40489
40816
|
return {
|
|
40490
40817
|
...field,
|
|
40491
40818
|
label: "Geography",
|
|
40492
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40493
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40819
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx162(CountrySelectDisplay, { value: v }),
|
|
40820
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(CountrySelectEdit, { value: v, onChange })
|
|
40494
40821
|
};
|
|
40495
40822
|
}
|
|
40496
40823
|
if (field.key === "estimatedCreators" || field.key === "estimated_creators") {
|
|
@@ -40499,11 +40826,11 @@ var CampaignConceptCard = React109.memo(
|
|
|
40499
40826
|
label: "Estimated Creators",
|
|
40500
40827
|
renderDisplay: (val) => {
|
|
40501
40828
|
if (!val)
|
|
40502
|
-
return /* @__PURE__ */
|
|
40829
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40503
40830
|
const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
|
|
40504
|
-
return /* @__PURE__ */
|
|
40831
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: displayValue });
|
|
40505
40832
|
},
|
|
40506
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40833
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40507
40834
|
Input,
|
|
40508
40835
|
{
|
|
40509
40836
|
value: typeof v === "object" ? `${v.min ?? 0}-${v.max ?? 0}` : String(v || ""),
|
|
@@ -40526,8 +40853,8 @@ var CampaignConceptCard = React109.memo(
|
|
|
40526
40853
|
return {
|
|
40527
40854
|
...field,
|
|
40528
40855
|
label: field.label || "Primary KPI",
|
|
40529
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40530
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40856
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: val ? String(val) : "-" }),
|
|
40857
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40531
40858
|
Input,
|
|
40532
40859
|
{
|
|
40533
40860
|
value: String(v || ""),
|
|
@@ -40544,9 +40871,9 @@ var CampaignConceptCard = React109.memo(
|
|
|
40544
40871
|
label: field.label || "Secondary KPIs",
|
|
40545
40872
|
renderDisplay: (val) => {
|
|
40546
40873
|
const display = Array.isArray(val) ? val.map(String).join(", ") : val ? String(val) : "-";
|
|
40547
|
-
return /* @__PURE__ */
|
|
40874
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: display });
|
|
40548
40875
|
},
|
|
40549
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40876
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(
|
|
40550
40877
|
Textarea,
|
|
40551
40878
|
{
|
|
40552
40879
|
value: Array.isArray(v) ? v.join(", ") : String(v || ""),
|
|
@@ -40563,15 +40890,15 @@ var CampaignConceptCard = React109.memo(
|
|
|
40563
40890
|
if (field.key === "platforms" || field.key === "target_platforms" || field.key === "targetPlatforms") {
|
|
40564
40891
|
return {
|
|
40565
40892
|
...field,
|
|
40566
|
-
renderDisplay: (v) => /* @__PURE__ */
|
|
40567
|
-
renderEdit: (v, onChange) => /* @__PURE__ */
|
|
40893
|
+
renderDisplay: (v) => /* @__PURE__ */ jsx162(PlatformSelectDisplay, { value: v }),
|
|
40894
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ jsx162(PlatformSelectEdit, { value: v, onChange })
|
|
40568
40895
|
};
|
|
40569
40896
|
}
|
|
40570
40897
|
if (field.key === "description" || field.key === "creator_strategy" || field.key === "creatorStrategy") {
|
|
40571
40898
|
return {
|
|
40572
40899
|
...field,
|
|
40573
40900
|
type: "textarea",
|
|
40574
|
-
renderDisplay: (val) => /* @__PURE__ */
|
|
40901
|
+
renderDisplay: (val) => /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm leading-relaxed", children: val ? String(val) : "-" })
|
|
40575
40902
|
};
|
|
40576
40903
|
}
|
|
40577
40904
|
return {
|
|
@@ -40579,10 +40906,10 @@ var CampaignConceptCard = React109.memo(
|
|
|
40579
40906
|
renderDisplay: (val) => {
|
|
40580
40907
|
if (Array.isArray(val)) {
|
|
40581
40908
|
if (val.length === 0)
|
|
40582
|
-
return /* @__PURE__ */
|
|
40583
|
-
return /* @__PURE__ */
|
|
40909
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
40910
|
+
return /* @__PURE__ */ jsx162("div", { className: "flex flex-wrap gap-2 pt-1", children: val.map((item, idx) => {
|
|
40584
40911
|
const label = typeof item === "object" && item !== null ? item.label || item.value || item.name || JSON.stringify(item) : String(item);
|
|
40585
|
-
return /* @__PURE__ */
|
|
40912
|
+
return /* @__PURE__ */ jsx162(
|
|
40586
40913
|
"span",
|
|
40587
40914
|
{
|
|
40588
40915
|
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 +40920,14 @@ var CampaignConceptCard = React109.memo(
|
|
|
40593
40920
|
}) });
|
|
40594
40921
|
}
|
|
40595
40922
|
if (typeof val === "object" && val !== null) {
|
|
40596
|
-
return /* @__PURE__ */
|
|
40923
|
+
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
40924
|
}
|
|
40598
|
-
return /* @__PURE__ */
|
|
40925
|
+
return /* @__PURE__ */ jsx162("span", { className: "text-cardText text-sm", children: val !== void 0 && val !== null ? String(val) : "-" });
|
|
40599
40926
|
}
|
|
40600
40927
|
};
|
|
40601
40928
|
});
|
|
40602
40929
|
}, [providedFields, data]);
|
|
40603
|
-
return /* @__PURE__ */
|
|
40930
|
+
return /* @__PURE__ */ jsxs123(
|
|
40604
40931
|
"div",
|
|
40605
40932
|
{
|
|
40606
40933
|
className: cn(
|
|
@@ -40609,31 +40936,31 @@ var CampaignConceptCard = React109.memo(
|
|
|
40609
40936
|
className
|
|
40610
40937
|
),
|
|
40611
40938
|
children: [
|
|
40612
|
-
/* @__PURE__ */
|
|
40939
|
+
/* @__PURE__ */ jsxs123(
|
|
40613
40940
|
"div",
|
|
40614
40941
|
{
|
|
40615
40942
|
className: "px-4 py-2.5 relative flex items-center justify-between cursor-pointer select-none",
|
|
40616
40943
|
onClick: handleToggle,
|
|
40617
40944
|
children: [
|
|
40618
|
-
/* @__PURE__ */
|
|
40619
|
-
/* @__PURE__ */
|
|
40945
|
+
/* @__PURE__ */ jsxs123("div", { className: "flex-1", children: [
|
|
40946
|
+
/* @__PURE__ */ jsxs123("h3", { className: "text-cardText font-semibold text-sm", children: [
|
|
40620
40947
|
"Concept ",
|
|
40621
40948
|
index !== void 0 ? index : "",
|
|
40622
40949
|
" :",
|
|
40623
40950
|
" ",
|
|
40624
40951
|
typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
|
|
40625
40952
|
] }),
|
|
40626
|
-
/* @__PURE__ */
|
|
40627
|
-
isRecommended && /* @__PURE__ */
|
|
40628
|
-
!effectiveIsLatest && selectionStatus && /* @__PURE__ */
|
|
40953
|
+
/* @__PURE__ */ jsxs123("div", { className: "flex flex-wrap gap-2", children: [
|
|
40954
|
+
isRecommended && /* @__PURE__ */ jsx162("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: "Recommended" }),
|
|
40955
|
+
!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
40956
|
] })
|
|
40630
40957
|
] }),
|
|
40631
|
-
/* @__PURE__ */
|
|
40958
|
+
/* @__PURE__ */ jsx162(
|
|
40632
40959
|
"div",
|
|
40633
40960
|
{
|
|
40634
40961
|
className: "flex items-center gap-2 ml-3",
|
|
40635
40962
|
onClick: (e) => e.stopPropagation(),
|
|
40636
|
-
children: /* @__PURE__ */
|
|
40963
|
+
children: /* @__PURE__ */ jsx162(
|
|
40637
40964
|
"button",
|
|
40638
40965
|
{
|
|
40639
40966
|
onClick: (e) => {
|
|
@@ -40644,7 +40971,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40644
40971
|
className: "p-2 bg-cardSurface hover:bg-gray200 text-cardText rounded-lg",
|
|
40645
40972
|
"aria-label": isOpen ? "Collapse" : "Expand",
|
|
40646
40973
|
title: isOpen ? "Collapse" : "Expand",
|
|
40647
|
-
children: /* @__PURE__ */
|
|
40974
|
+
children: /* @__PURE__ */ jsx162(
|
|
40648
40975
|
ChevronDown,
|
|
40649
40976
|
{
|
|
40650
40977
|
className: `h-4 w-4 transition-transform ${isOpen ? "rotate-0" : "-rotate-90"}`
|
|
@@ -40657,7 +40984,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40657
40984
|
]
|
|
40658
40985
|
}
|
|
40659
40986
|
),
|
|
40660
|
-
/* @__PURE__ */
|
|
40987
|
+
/* @__PURE__ */ jsx162(AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ jsx162(
|
|
40661
40988
|
motion.div,
|
|
40662
40989
|
{
|
|
40663
40990
|
initial: { height: 0, opacity: 0 },
|
|
@@ -40665,8 +40992,8 @@ var CampaignConceptCard = React109.memo(
|
|
|
40665
40992
|
exit: { height: 0, opacity: 0 },
|
|
40666
40993
|
transition: { duration: 0.2, ease: "easeIn" },
|
|
40667
40994
|
className: "overflow-hidden",
|
|
40668
|
-
children: /* @__PURE__ */
|
|
40669
|
-
/* @__PURE__ */
|
|
40995
|
+
children: /* @__PURE__ */ jsxs123("div", { className: "px-3 py-2 w-full relative", children: [
|
|
40996
|
+
/* @__PURE__ */ jsx162(
|
|
40670
40997
|
"div",
|
|
40671
40998
|
{
|
|
40672
40999
|
className: "absolute left-[48px] top-[70px] bottom-[40px] w-[2px]",
|
|
@@ -40675,7 +41002,7 @@ var CampaignConceptCard = React109.memo(
|
|
|
40675
41002
|
}
|
|
40676
41003
|
}
|
|
40677
41004
|
),
|
|
40678
|
-
/* @__PURE__ */
|
|
41005
|
+
/* @__PURE__ */ jsx162(
|
|
40679
41006
|
FormCard,
|
|
40680
41007
|
{
|
|
40681
41008
|
...formCardProps,
|
|
@@ -40689,9 +41016,9 @@ var CampaignConceptCard = React109.memo(
|
|
|
40689
41016
|
hideTitle: true,
|
|
40690
41017
|
hideCopyButton: true,
|
|
40691
41018
|
className: "bg-transparent border-none shadow-none mb-0 p-0",
|
|
40692
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */
|
|
40693
|
-
/* @__PURE__ */
|
|
40694
|
-
/* @__PURE__ */
|
|
41019
|
+
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: [
|
|
41020
|
+
/* @__PURE__ */ jsx162(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
41021
|
+
/* @__PURE__ */ jsx162("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
40695
41022
|
] }) : formCardProps.footer
|
|
40696
41023
|
}
|
|
40697
41024
|
)
|
|
@@ -40707,14 +41034,14 @@ var CampaignConceptCard = React109.memo(
|
|
|
40707
41034
|
CampaignConceptCard.displayName = "CampaignConceptCard";
|
|
40708
41035
|
|
|
40709
41036
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
40710
|
-
import { useCallback as
|
|
41037
|
+
import { useCallback as useCallback8, useState as useState20, memo } from "react";
|
|
40711
41038
|
|
|
40712
41039
|
// src/molecules/creator-discovery/CreatorWidget/CreatorImageList.tsx
|
|
40713
|
-
import { useEffect as
|
|
40714
|
-
import { Fragment as
|
|
41040
|
+
import { useEffect as useEffect8, useState as useState13 } from "react";
|
|
41041
|
+
import { Fragment as Fragment6, jsx as jsx163, jsxs as jsxs124 } from "react/jsx-runtime";
|
|
40715
41042
|
function useMediaQuery(query) {
|
|
40716
|
-
const [matches, setMatches] =
|
|
40717
|
-
|
|
41043
|
+
const [matches, setMatches] = useState13(false);
|
|
41044
|
+
useEffect8(() => {
|
|
40718
41045
|
const media = window.matchMedia(query);
|
|
40719
41046
|
const listener = () => setMatches(media.matches);
|
|
40720
41047
|
listener();
|
|
@@ -40732,8 +41059,8 @@ function CreatorImage({
|
|
|
40732
41059
|
const processedCount = Math.floor(creatorsPercentage / 100 * totalCreators);
|
|
40733
41060
|
const isProcessed = idx < processedCount;
|
|
40734
41061
|
const isCurrentlyProcessing = idx === processedCount;
|
|
40735
|
-
return /* @__PURE__ */
|
|
40736
|
-
/* @__PURE__ */
|
|
41062
|
+
return /* @__PURE__ */ jsxs124("div", { className: "relative w-8 h-8", children: [
|
|
41063
|
+
/* @__PURE__ */ jsx163(
|
|
40737
41064
|
"img",
|
|
40738
41065
|
{
|
|
40739
41066
|
src: img,
|
|
@@ -40741,9 +41068,9 @@ function CreatorImage({
|
|
|
40741
41068
|
className: `w-8 h-8 rounded-full border-2 ${isProcessed ? "border-green-600" : "border-foreground"} object-cover transition-all duration-300`
|
|
40742
41069
|
}
|
|
40743
41070
|
),
|
|
40744
|
-
!isProcessed && /* @__PURE__ */
|
|
40745
|
-
isCurrentlyProcessing && /* @__PURE__ */
|
|
40746
|
-
/* @__PURE__ */
|
|
41071
|
+
!isProcessed && /* @__PURE__ */ jsx163("div", { className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none" }),
|
|
41072
|
+
isCurrentlyProcessing && /* @__PURE__ */ jsxs124(Fragment6, { children: [
|
|
41073
|
+
/* @__PURE__ */ jsx163(
|
|
40747
41074
|
"div",
|
|
40748
41075
|
{
|
|
40749
41076
|
className: "absolute inset-0 bg-black/50 rounded-full pointer-events-none",
|
|
@@ -40759,7 +41086,7 @@ function CreatorImage({
|
|
|
40759
41086
|
}
|
|
40760
41087
|
}
|
|
40761
41088
|
),
|
|
40762
|
-
/* @__PURE__ */
|
|
41089
|
+
/* @__PURE__ */ jsx163("div", { className: "absolute inset-0 rounded-full border-2 border-[#9CA3AF]/30 pointer-events-none" })
|
|
40763
41090
|
] })
|
|
40764
41091
|
] });
|
|
40765
41092
|
}
|
|
@@ -40772,8 +41099,8 @@ function CreatorImageList({
|
|
|
40772
41099
|
const isMobile = useMediaQuery("(max-width: 640px)");
|
|
40773
41100
|
const isTablet = useMediaQuery("(min-width: 641px) and (max-width: 1024px)");
|
|
40774
41101
|
const visibleCount = isMobile ? 7 : isTablet ? 10 : isAgentOutput ? 6 : 15;
|
|
40775
|
-
return /* @__PURE__ */
|
|
40776
|
-
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */
|
|
41102
|
+
return /* @__PURE__ */ jsxs124("div", { className: "flex flex-nowrap sm:flex-wrap -space-x-2 w-fit", children: [
|
|
41103
|
+
creatorImages.slice(0, visibleCount).map((img, idx) => /* @__PURE__ */ jsx163(
|
|
40777
41104
|
CreatorImage,
|
|
40778
41105
|
{
|
|
40779
41106
|
img,
|
|
@@ -40783,7 +41110,7 @@ function CreatorImageList({
|
|
|
40783
41110
|
},
|
|
40784
41111
|
idx
|
|
40785
41112
|
)),
|
|
40786
|
-
creatorLength > visibleCount && /* @__PURE__ */
|
|
41113
|
+
creatorLength > visibleCount && /* @__PURE__ */ jsxs124(
|
|
40787
41114
|
"div",
|
|
40788
41115
|
{
|
|
40789
41116
|
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 +41124,28 @@ function CreatorImageList({
|
|
|
40797
41124
|
}
|
|
40798
41125
|
|
|
40799
41126
|
// src/molecules/creator-discovery/CreatorWidget/CreatorProgressBar.tsx
|
|
40800
|
-
import { useEffect as
|
|
41127
|
+
import { useEffect as useEffect9, useState as useState14 } from "react";
|
|
40801
41128
|
import { motion as motion2, AnimatePresence as AnimatePresence2 } from "framer-motion";
|
|
40802
|
-
import { jsx as
|
|
41129
|
+
import { jsx as jsx164, jsxs as jsxs125 } from "react/jsx-runtime";
|
|
40803
41130
|
function truncateName(name, maxLength) {
|
|
40804
41131
|
if (!name || name.length <= maxLength) return name || "";
|
|
40805
41132
|
return name.substring(0, maxLength) + "...";
|
|
40806
41133
|
}
|
|
40807
41134
|
function ProgressBar({ overallPercentage }) {
|
|
40808
|
-
const [showTooltip, setShowTooltip] =
|
|
40809
|
-
|
|
41135
|
+
const [showTooltip, setShowTooltip] = useState14(true);
|
|
41136
|
+
useEffect9(() => {
|
|
40810
41137
|
if (overallPercentage && overallPercentage >= 100) {
|
|
40811
41138
|
setShowTooltip(false);
|
|
40812
41139
|
}
|
|
40813
41140
|
}, [overallPercentage]);
|
|
40814
|
-
return /* @__PURE__ */
|
|
41141
|
+
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
41142
|
motion2.div,
|
|
40816
41143
|
{
|
|
40817
41144
|
className: "bg-purple100 h-[6px] rounded-full relative",
|
|
40818
41145
|
initial: { width: 0 },
|
|
40819
41146
|
animate: { width: `${overallPercentage}%` },
|
|
40820
41147
|
transition: { duration: 0.5, ease: "easeOut" },
|
|
40821
|
-
children: /* @__PURE__ */
|
|
41148
|
+
children: /* @__PURE__ */ jsx164(AnimatePresence2, { children: showTooltip && /* @__PURE__ */ jsxs125(
|
|
40822
41149
|
motion2.div,
|
|
40823
41150
|
{
|
|
40824
41151
|
initial: { opacity: 0, y: 5 },
|
|
@@ -40828,9 +41155,9 @@ function ProgressBar({ overallPercentage }) {
|
|
|
40828
41155
|
children: [
|
|
40829
41156
|
overallPercentage ? Math.round(overallPercentage) : 0,
|
|
40830
41157
|
"%",
|
|
40831
|
-
/* @__PURE__ */
|
|
40832
|
-
/* @__PURE__ */
|
|
40833
|
-
/* @__PURE__ */
|
|
41158
|
+
/* @__PURE__ */ jsxs125("div", { className: "absolute left-1/2 top-full -translate-x-1/2", children: [
|
|
41159
|
+
/* @__PURE__ */ jsx164("div", { className: "w-0 h-0 border-l-[6px] border-r-[6px] border-t-[6px] border-transparent border-t-gray300" }),
|
|
41160
|
+
/* @__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
41161
|
] })
|
|
40835
41162
|
]
|
|
40836
41163
|
}
|
|
@@ -40842,38 +41169,38 @@ function CreatorProgressBar({
|
|
|
40842
41169
|
statusDetails,
|
|
40843
41170
|
timeRemaining: _timeRemaining
|
|
40844
41171
|
}) {
|
|
40845
|
-
return /* @__PURE__ */
|
|
40846
|
-
/* @__PURE__ */
|
|
40847
|
-
/* @__PURE__ */
|
|
41172
|
+
return /* @__PURE__ */ jsxs125("div", { children: [
|
|
41173
|
+
/* @__PURE__ */ jsx164(ProgressBar, { overallPercentage: statusDetails?.overall_percentage }),
|
|
41174
|
+
/* @__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
41175
|
] });
|
|
40849
41176
|
}
|
|
40850
41177
|
|
|
40851
41178
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidgetSkeleton.tsx
|
|
40852
|
-
import { jsx as
|
|
41179
|
+
import { jsx as jsx165, jsxs as jsxs126 } from "react/jsx-runtime";
|
|
40853
41180
|
function CreatorWidgetSkeleton() {
|
|
40854
|
-
return /* @__PURE__ */
|
|
40855
|
-
/* @__PURE__ */
|
|
40856
|
-
/* @__PURE__ */
|
|
40857
|
-
/* @__PURE__ */
|
|
41181
|
+
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: [
|
|
41182
|
+
/* @__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: [
|
|
41183
|
+
/* @__PURE__ */ jsx165("div", { className: "w-40 h-6 bg-purple200 rounded-md animate-pulse" }),
|
|
41184
|
+
/* @__PURE__ */ jsx165("div", { className: "w-64 h-7 bg-gray200 dark:bg-gray300 rounded animate-pulse" })
|
|
40858
41185
|
] }) }),
|
|
40859
|
-
/* @__PURE__ */
|
|
40860
|
-
/* @__PURE__ */
|
|
40861
|
-
/* @__PURE__ */
|
|
41186
|
+
/* @__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: [
|
|
41187
|
+
/* @__PURE__ */ jsxs126("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
41188
|
+
/* @__PURE__ */ jsx165("div", { className: "flex -space-x-2", children: Array.from({ length: 10 }).map((_, idx) => /* @__PURE__ */ jsx165(
|
|
40862
41189
|
"div",
|
|
40863
41190
|
{
|
|
40864
41191
|
className: "w-8 h-8 md:w-10 md:h-10 rounded-full border-2 border-gray300 bg-gray200 animate-pulse"
|
|
40865
41192
|
},
|
|
40866
41193
|
idx
|
|
40867
41194
|
)) }),
|
|
40868
|
-
/* @__PURE__ */
|
|
41195
|
+
/* @__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
41196
|
] }),
|
|
40870
|
-
/* @__PURE__ */
|
|
41197
|
+
/* @__PURE__ */ jsx165("div", { className: "px-6 py-2 bg-gray200 rounded-[30px] animate-pulse h-10 w-48" })
|
|
40871
41198
|
] })
|
|
40872
41199
|
] }) });
|
|
40873
41200
|
}
|
|
40874
41201
|
|
|
40875
41202
|
// src/molecules/creator-discovery/CreatorWidget/CreatorCompactView.tsx
|
|
40876
|
-
import { Fragment as
|
|
41203
|
+
import { Fragment as Fragment7, jsx as jsx166, jsxs as jsxs127 } from "react/jsx-runtime";
|
|
40877
41204
|
function CreatorCompactView({
|
|
40878
41205
|
versions,
|
|
40879
41206
|
selectedVersion,
|
|
@@ -40890,16 +41217,16 @@ function CreatorCompactView({
|
|
|
40890
41217
|
const isComplete = versionStatus === "completed" || versionStatus === "complete";
|
|
40891
41218
|
const statusTitle = isComplete ? "Creator Search Complete" : versionStatus === "failed" ? "Creator Search Failed" : "Creator Search Processing";
|
|
40892
41219
|
if (isLoading) {
|
|
40893
|
-
return /* @__PURE__ */
|
|
41220
|
+
return /* @__PURE__ */ jsx166(CreatorWidgetSkeleton, {});
|
|
40894
41221
|
}
|
|
40895
|
-
return /* @__PURE__ */
|
|
40896
|
-
/* @__PURE__ */
|
|
40897
|
-
/* @__PURE__ */
|
|
40898
|
-
/* @__PURE__ */
|
|
40899
|
-
/* @__PURE__ */
|
|
41222
|
+
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: [
|
|
41223
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4 relative", children: [
|
|
41224
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
41225
|
+
/* @__PURE__ */ jsx166("h4", { className: "w-fit rounded-md bg-purple200 px-2 py-[4px] text-xs font-medium text-purpleText", children: "VERIFIED CREATORS LIST" }),
|
|
41226
|
+
/* @__PURE__ */ jsx166("h3", { className: "text-gray900 md:text-lg font-bold", children: statusTitle })
|
|
40900
41227
|
] }),
|
|
40901
|
-
versions.length > 1 && /* @__PURE__ */
|
|
40902
|
-
/* @__PURE__ */
|
|
41228
|
+
versions.length > 1 && /* @__PURE__ */ jsx166("div", { className: "relative md:self-start", children: /* @__PURE__ */ jsxs127(DropdownMenu, { children: [
|
|
41229
|
+
/* @__PURE__ */ jsxs127(
|
|
40903
41230
|
DropdownMenuTrigger,
|
|
40904
41231
|
{
|
|
40905
41232
|
disabled: !isComplete,
|
|
@@ -40907,11 +41234,11 @@ function CreatorCompactView({
|
|
|
40907
41234
|
children: [
|
|
40908
41235
|
"Version ",
|
|
40909
41236
|
selectedVersion ?? "-",
|
|
40910
|
-
/* @__PURE__ */
|
|
41237
|
+
/* @__PURE__ */ jsx166(ChevronDown, { className: "w-3 h-3 md:w-4 md:h-4 transition-transform" })
|
|
40911
41238
|
]
|
|
40912
41239
|
}
|
|
40913
41240
|
),
|
|
40914
|
-
/* @__PURE__ */
|
|
41241
|
+
/* @__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
41242
|
DropdownMenuItem,
|
|
40916
41243
|
{
|
|
40917
41244
|
onClick: () => onVersionSelect(v),
|
|
@@ -40925,12 +41252,12 @@ function CreatorCompactView({
|
|
|
40925
41252
|
)) })
|
|
40926
41253
|
] }) })
|
|
40927
41254
|
] }),
|
|
40928
|
-
/* @__PURE__ */
|
|
40929
|
-
/* @__PURE__ */
|
|
40930
|
-
/* @__PURE__ */
|
|
40931
|
-
] }) : /* @__PURE__ */
|
|
40932
|
-
/* @__PURE__ */
|
|
40933
|
-
/* @__PURE__ */
|
|
41255
|
+
/* @__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: [
|
|
41256
|
+
/* @__PURE__ */ jsx166("p", { className: "text-base md:text-lg font-semibold mb-2", children: "Creator Search Failed" }),
|
|
41257
|
+
/* @__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." })
|
|
41258
|
+
] }) : /* @__PURE__ */ jsxs127(Fragment7, { children: [
|
|
41259
|
+
/* @__PURE__ */ jsxs127("div", { className: "flex flex-col gap-4 md:gap-6 min-w-0", children: [
|
|
41260
|
+
/* @__PURE__ */ jsx166(
|
|
40934
41261
|
CreatorImageList,
|
|
40935
41262
|
{
|
|
40936
41263
|
creatorImages,
|
|
@@ -40939,7 +41266,7 @@ function CreatorCompactView({
|
|
|
40939
41266
|
initialCreatorsPercentage: statusDetails?.social_fetch_percentage
|
|
40940
41267
|
}
|
|
40941
41268
|
),
|
|
40942
|
-
/* @__PURE__ */
|
|
41269
|
+
/* @__PURE__ */ jsx166(
|
|
40943
41270
|
CreatorProgressBar,
|
|
40944
41271
|
{
|
|
40945
41272
|
statusDetails,
|
|
@@ -40947,7 +41274,7 @@ function CreatorCompactView({
|
|
|
40947
41274
|
}
|
|
40948
41275
|
)
|
|
40949
41276
|
] }),
|
|
40950
|
-
/* @__PURE__ */
|
|
41277
|
+
/* @__PURE__ */ jsxs127(
|
|
40951
41278
|
"button",
|
|
40952
41279
|
{
|
|
40953
41280
|
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 +41284,7 @@ function CreatorCompactView({
|
|
|
40957
41284
|
"View ",
|
|
40958
41285
|
creatorLength,
|
|
40959
41286
|
" Verified Creators",
|
|
40960
|
-
/* @__PURE__ */
|
|
41287
|
+
/* @__PURE__ */ jsx166(Triangle, { className: "w-3 h-3 md:w-4 md:h-4 rotate-90 font-bold" })
|
|
40961
41288
|
]
|
|
40962
41289
|
}
|
|
40963
41290
|
)
|
|
@@ -40966,7 +41293,7 @@ function CreatorCompactView({
|
|
|
40966
41293
|
}
|
|
40967
41294
|
|
|
40968
41295
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
40969
|
-
import { useState as
|
|
41296
|
+
import { useState as useState18, useEffect as useEffect11, useCallback as useCallback6 } from "react";
|
|
40970
41297
|
import ReactDOM2 from "react-dom";
|
|
40971
41298
|
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "framer-motion";
|
|
40972
41299
|
|
|
@@ -41248,7 +41575,7 @@ var normalizeToIso2 = (input) => {
|
|
|
41248
41575
|
};
|
|
41249
41576
|
|
|
41250
41577
|
// src/molecules/creator-discovery/CreatorWidget/EngagedAudienceDemographics.tsx
|
|
41251
|
-
import { jsx as
|
|
41578
|
+
import { jsx as jsx167, jsxs as jsxs128 } from "react/jsx-runtime";
|
|
41252
41579
|
function EngagedAudienceDemographics({
|
|
41253
41580
|
audienceDemographics
|
|
41254
41581
|
}) {
|
|
@@ -41266,31 +41593,31 @@ function EngagedAudienceDemographics({
|
|
|
41266
41593
|
if (hasAges) columns.push("1fr");
|
|
41267
41594
|
if (hasGenders) columns.push("0.4fr");
|
|
41268
41595
|
const gridTemplate = columns.join(" ");
|
|
41269
|
-
return /* @__PURE__ */
|
|
41270
|
-
/* @__PURE__ */
|
|
41271
|
-
/* @__PURE__ */
|
|
41596
|
+
return /* @__PURE__ */ jsxs128("div", { className: "flex flex-col gap-4", children: [
|
|
41597
|
+
/* @__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" }) }),
|
|
41598
|
+
/* @__PURE__ */ jsxs128(
|
|
41272
41599
|
"div",
|
|
41273
41600
|
{
|
|
41274
41601
|
className: "flex flex-col sm:col-span-3 sm:grid gap-6",
|
|
41275
41602
|
style: { gridTemplateColumns: gridTemplate },
|
|
41276
41603
|
children: [
|
|
41277
|
-
hasCities && /* @__PURE__ */
|
|
41278
|
-
/* @__PURE__ */
|
|
41279
|
-
/* @__PURE__ */
|
|
41280
|
-
([code, value]) => /* @__PURE__ */
|
|
41604
|
+
hasCities && /* @__PURE__ */ jsxs128("div", { children: [
|
|
41605
|
+
/* @__PURE__ */ jsx167("h4", { className: "text-xs text-gray700 mb-3", children: "Cities" }),
|
|
41606
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.cities || {}).map(
|
|
41607
|
+
([code, value]) => /* @__PURE__ */ jsxs128(
|
|
41281
41608
|
"div",
|
|
41282
41609
|
{
|
|
41283
41610
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41284
41611
|
children: [
|
|
41285
|
-
/* @__PURE__ */
|
|
41286
|
-
/* @__PURE__ */
|
|
41612
|
+
/* @__PURE__ */ jsx167("span", { className: "w-[90px]", children: /* @__PURE__ */ jsx167("div", { className: "flex gap-1 items-center", children: /* @__PURE__ */ jsx167("span", { children: code.split(",")[0] }) }) }),
|
|
41613
|
+
/* @__PURE__ */ jsx167("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx167(
|
|
41287
41614
|
"div",
|
|
41288
41615
|
{
|
|
41289
41616
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41290
41617
|
style: { width: `${value}%` }
|
|
41291
41618
|
}
|
|
41292
41619
|
) }),
|
|
41293
|
-
/* @__PURE__ */
|
|
41620
|
+
/* @__PURE__ */ jsxs128("span", { className: "w-10 text-right font-medium", children: [
|
|
41294
41621
|
value,
|
|
41295
41622
|
"%"
|
|
41296
41623
|
] })
|
|
@@ -41300,29 +41627,29 @@ function EngagedAudienceDemographics({
|
|
|
41300
41627
|
)
|
|
41301
41628
|
) })
|
|
41302
41629
|
] }),
|
|
41303
|
-
hasCountries && /* @__PURE__ */
|
|
41304
|
-
/* @__PURE__ */
|
|
41305
|
-
/* @__PURE__ */
|
|
41630
|
+
hasCountries && /* @__PURE__ */ jsxs128("div", { children: [
|
|
41631
|
+
/* @__PURE__ */ jsx167("h4", { className: "text-xs text-gray700 mb-3", children: "Countries" }),
|
|
41632
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.countries || {}).map(
|
|
41306
41633
|
([code, value]) => {
|
|
41307
41634
|
const iso2 = normalizeToIso2(code);
|
|
41308
41635
|
const meta = codeToMeta[iso2];
|
|
41309
|
-
return /* @__PURE__ */
|
|
41636
|
+
return /* @__PURE__ */ jsxs128(
|
|
41310
41637
|
"div",
|
|
41311
41638
|
{
|
|
41312
41639
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41313
41640
|
children: [
|
|
41314
|
-
/* @__PURE__ */
|
|
41315
|
-
/* @__PURE__ */
|
|
41316
|
-
/* @__PURE__ */
|
|
41641
|
+
/* @__PURE__ */ jsx167("span", { className: "w-10", children: /* @__PURE__ */ jsxs128("div", { className: "flex gap-1 items-center", children: [
|
|
41642
|
+
/* @__PURE__ */ jsx167("span", { className: "text-base", children: meta?.flag }),
|
|
41643
|
+
/* @__PURE__ */ jsx167("span", { children: code })
|
|
41317
41644
|
] }) }),
|
|
41318
|
-
/* @__PURE__ */
|
|
41645
|
+
/* @__PURE__ */ jsx167("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx167(
|
|
41319
41646
|
"div",
|
|
41320
41647
|
{
|
|
41321
41648
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41322
41649
|
style: { width: `${value}%` }
|
|
41323
41650
|
}
|
|
41324
41651
|
) }),
|
|
41325
|
-
/* @__PURE__ */
|
|
41652
|
+
/* @__PURE__ */ jsxs128("span", { className: "w-10 text-right font-medium", children: [
|
|
41326
41653
|
value,
|
|
41327
41654
|
"%"
|
|
41328
41655
|
] })
|
|
@@ -41333,23 +41660,23 @@ function EngagedAudienceDemographics({
|
|
|
41333
41660
|
}
|
|
41334
41661
|
) })
|
|
41335
41662
|
] }),
|
|
41336
|
-
hasAges && /* @__PURE__ */
|
|
41337
|
-
/* @__PURE__ */
|
|
41338
|
-
/* @__PURE__ */
|
|
41339
|
-
([ageRange, value]) => /* @__PURE__ */
|
|
41663
|
+
hasAges && /* @__PURE__ */ jsxs128("div", { children: [
|
|
41664
|
+
/* @__PURE__ */ jsx167("h4", { className: "text-xs text-gray700 mb-3", children: "Ages" }),
|
|
41665
|
+
/* @__PURE__ */ jsx167("div", { className: "flex flex-col gap-3", children: Object.entries(audienceDemographics?.ages || {}).map(
|
|
41666
|
+
([ageRange, value]) => /* @__PURE__ */ jsxs128(
|
|
41340
41667
|
"div",
|
|
41341
41668
|
{
|
|
41342
41669
|
className: "flex items-center gap-3 text-sm text-gray700",
|
|
41343
41670
|
children: [
|
|
41344
|
-
/* @__PURE__ */
|
|
41345
|
-
/* @__PURE__ */
|
|
41671
|
+
/* @__PURE__ */ jsx167("span", { className: "w-12", children: ageRange }),
|
|
41672
|
+
/* @__PURE__ */ jsx167("div", { className: "flex-1 bg-gray200 h-[6px] rounded-full overflow-hidden", children: /* @__PURE__ */ jsx167(
|
|
41346
41673
|
"div",
|
|
41347
41674
|
{
|
|
41348
41675
|
className: "h-[6px] bg-purple100 rounded-full",
|
|
41349
41676
|
style: { width: `${value}%` }
|
|
41350
41677
|
}
|
|
41351
41678
|
) }),
|
|
41352
|
-
/* @__PURE__ */
|
|
41679
|
+
/* @__PURE__ */ jsxs128("span", { className: "w-10 text-right font-medium", children: [
|
|
41353
41680
|
value,
|
|
41354
41681
|
"%"
|
|
41355
41682
|
] })
|
|
@@ -41359,20 +41686,20 @@ function EngagedAudienceDemographics({
|
|
|
41359
41686
|
)
|
|
41360
41687
|
) })
|
|
41361
41688
|
] }),
|
|
41362
|
-
hasGenders && /* @__PURE__ */
|
|
41363
|
-
([gender, value]) => /* @__PURE__ */
|
|
41689
|
+
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(
|
|
41690
|
+
([gender, value]) => /* @__PURE__ */ jsxs128(
|
|
41364
41691
|
"div",
|
|
41365
41692
|
{
|
|
41366
41693
|
className: "flex flex-col justify-center text-sm",
|
|
41367
41694
|
children: [
|
|
41368
|
-
/* @__PURE__ */
|
|
41369
|
-
gender === "female" ? /* @__PURE__ */
|
|
41370
|
-
/* @__PURE__ */
|
|
41695
|
+
/* @__PURE__ */ jsxs128("div", { className: "flex items-center gap-1 mb-1", children: [
|
|
41696
|
+
gender === "female" ? /* @__PURE__ */ jsx167(Venus, { className: "text-red-500", strokeWidth: 3 }) : /* @__PURE__ */ jsx167(Mars, { className: "text-blue-500", strokeWidth: 3 }),
|
|
41697
|
+
/* @__PURE__ */ jsxs128("span", { className: "capitalize text-gray800 text-xl", children: [
|
|
41371
41698
|
value,
|
|
41372
41699
|
"%"
|
|
41373
41700
|
] })
|
|
41374
41701
|
] }),
|
|
41375
|
-
/* @__PURE__ */
|
|
41702
|
+
/* @__PURE__ */ jsx167("span", { className: "text-lg text-gray700", children: gender.charAt(0).toUpperCase() + gender.slice(1) })
|
|
41376
41703
|
]
|
|
41377
41704
|
},
|
|
41378
41705
|
gender
|
|
@@ -41385,40 +41712,40 @@ function EngagedAudienceDemographics({
|
|
|
41385
41712
|
}
|
|
41386
41713
|
|
|
41387
41714
|
// src/molecules/creator-discovery/CreatorWidget/PlatformIcons.tsx
|
|
41388
|
-
import { jsx as
|
|
41715
|
+
import { jsx as jsx168 } from "react/jsx-runtime";
|
|
41389
41716
|
function InstagramIcon({ className }) {
|
|
41390
|
-
return /* @__PURE__ */
|
|
41717
|
+
return /* @__PURE__ */ jsx168(
|
|
41391
41718
|
"svg",
|
|
41392
41719
|
{
|
|
41393
41720
|
className,
|
|
41394
41721
|
viewBox: "0 0 24 24",
|
|
41395
41722
|
fill: "currentColor",
|
|
41396
41723
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41397
|
-
children: /* @__PURE__ */
|
|
41724
|
+
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
41725
|
}
|
|
41399
41726
|
);
|
|
41400
41727
|
}
|
|
41401
41728
|
function YouTubeIcon({ className }) {
|
|
41402
|
-
return /* @__PURE__ */
|
|
41729
|
+
return /* @__PURE__ */ jsx168(
|
|
41403
41730
|
"svg",
|
|
41404
41731
|
{
|
|
41405
41732
|
className,
|
|
41406
41733
|
viewBox: "0 0 24 24",
|
|
41407
41734
|
fill: "currentColor",
|
|
41408
41735
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41409
|
-
children: /* @__PURE__ */
|
|
41736
|
+
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
41737
|
}
|
|
41411
41738
|
);
|
|
41412
41739
|
}
|
|
41413
41740
|
function TikTokIcon3({ className }) {
|
|
41414
|
-
return /* @__PURE__ */
|
|
41741
|
+
return /* @__PURE__ */ jsx168(
|
|
41415
41742
|
"svg",
|
|
41416
41743
|
{
|
|
41417
41744
|
className,
|
|
41418
41745
|
viewBox: "0 0 24 24",
|
|
41419
41746
|
fill: "currentColor",
|
|
41420
41747
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41421
|
-
children: /* @__PURE__ */
|
|
41748
|
+
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
41749
|
}
|
|
41423
41750
|
);
|
|
41424
41751
|
}
|
|
@@ -41452,8 +41779,8 @@ function getPlatformIconColor(platform) {
|
|
|
41452
41779
|
}
|
|
41453
41780
|
|
|
41454
41781
|
// src/molecules/creator-discovery/CreatorWidget/PostCard.tsx
|
|
41455
|
-
import { useState as
|
|
41456
|
-
import { Fragment as
|
|
41782
|
+
import { useState as useState15 } from "react";
|
|
41783
|
+
import { Fragment as Fragment8, jsx as jsx169, jsxs as jsxs129 } from "react/jsx-runtime";
|
|
41457
41784
|
var formatFollowerCount = (count) => {
|
|
41458
41785
|
if (count >= 1e6) {
|
|
41459
41786
|
const millions = count / 1e6;
|
|
@@ -41466,15 +41793,15 @@ var formatFollowerCount = (count) => {
|
|
|
41466
41793
|
return Math.floor(count).toString();
|
|
41467
41794
|
};
|
|
41468
41795
|
function PostCard({ post, platformUsername }) {
|
|
41469
|
-
const [expanded, setExpanded] =
|
|
41470
|
-
const [errored, setErrored] =
|
|
41796
|
+
const [expanded, setExpanded] = useState15(false);
|
|
41797
|
+
const [errored, setErrored] = useState15(false);
|
|
41471
41798
|
const thumbnail = post.thumbnail_url || post.thumbnail || post.image || "";
|
|
41472
41799
|
const likes = post.engagement?.likes ?? post.likes ?? null;
|
|
41473
41800
|
const comments = post.engagement?.comments ?? post.comments ?? null;
|
|
41474
41801
|
const views = post.engagement?.views ?? post.engagement?.plays ?? post.views ?? post.plays ?? null;
|
|
41475
41802
|
const impressions = post.impressions ?? null;
|
|
41476
41803
|
const reach = post.reach ?? null;
|
|
41477
|
-
return /* @__PURE__ */
|
|
41804
|
+
return /* @__PURE__ */ jsxs129(
|
|
41478
41805
|
"div",
|
|
41479
41806
|
{
|
|
41480
41807
|
className: "rounded-xl overflow-hidden border border-gray500 bg-transparent shadow-sm cursor-pointer",
|
|
@@ -41483,7 +41810,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
41483
41810
|
window.open(post.url, "_blank", "noopener,noreferrer");
|
|
41484
41811
|
},
|
|
41485
41812
|
children: [
|
|
41486
|
-
/* @__PURE__ */
|
|
41813
|
+
/* @__PURE__ */ jsx169("div", { className: "w-full aspect-square relative bg-gray25", children: thumbnail && !errored ? /* @__PURE__ */ jsx169(
|
|
41487
41814
|
"img",
|
|
41488
41815
|
{
|
|
41489
41816
|
src: thumbnail,
|
|
@@ -41491,55 +41818,55 @@ function PostCard({ post, platformUsername }) {
|
|
|
41491
41818
|
className: "w-full h-full object-cover",
|
|
41492
41819
|
onError: () => setErrored(true)
|
|
41493
41820
|
}
|
|
41494
|
-
) : /* @__PURE__ */
|
|
41495
|
-
/* @__PURE__ */
|
|
41496
|
-
/* @__PURE__ */
|
|
41497
|
-
likes !== null && /* @__PURE__ */
|
|
41498
|
-
/* @__PURE__ */
|
|
41821
|
+
) : /* @__PURE__ */ jsx169("div", { className: "w-full h-full flex items-center justify-center text-gray500 text-sm", children: "No preview" }) }),
|
|
41822
|
+
/* @__PURE__ */ jsxs129("div", { className: "p-3", children: [
|
|
41823
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-4 text-sm text-gray600 mb-2", children: [
|
|
41824
|
+
likes !== null && /* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1", children: [
|
|
41825
|
+
/* @__PURE__ */ jsx169("span", { children: formatFollowerCount(likes) }),
|
|
41499
41826
|
" ",
|
|
41500
|
-
/* @__PURE__ */
|
|
41827
|
+
/* @__PURE__ */ jsx169(Heart, { size: 14 })
|
|
41501
41828
|
] }),
|
|
41502
|
-
comments !== null && /* @__PURE__ */
|
|
41503
|
-
/* @__PURE__ */
|
|
41829
|
+
comments !== null && /* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1", children: [
|
|
41830
|
+
/* @__PURE__ */ jsx169("span", { children: formatFollowerCount(comments) }),
|
|
41504
41831
|
" ",
|
|
41505
|
-
/* @__PURE__ */
|
|
41832
|
+
/* @__PURE__ */ jsx169(MessageCircle, { size: 14 })
|
|
41506
41833
|
] }),
|
|
41507
|
-
views !== null && /* @__PURE__ */
|
|
41508
|
-
/* @__PURE__ */
|
|
41834
|
+
views !== null && /* @__PURE__ */ jsxs129("div", { className: "flex items-center gap-1", children: [
|
|
41835
|
+
/* @__PURE__ */ jsx169("span", { children: formatFollowerCount(views) }),
|
|
41509
41836
|
" ",
|
|
41510
|
-
/* @__PURE__ */
|
|
41837
|
+
/* @__PURE__ */ jsx169(Eye, { size: 14 })
|
|
41511
41838
|
] })
|
|
41512
41839
|
] }),
|
|
41513
|
-
/* @__PURE__ */
|
|
41514
|
-
impressions !== null && /* @__PURE__ */
|
|
41515
|
-
/* @__PURE__ */
|
|
41840
|
+
/* @__PURE__ */ jsxs129("div", { className: "flex gap-4 text-sm text-gray800 mb-2", children: [
|
|
41841
|
+
impressions !== null && /* @__PURE__ */ jsxs129("div", { children: [
|
|
41842
|
+
/* @__PURE__ */ jsx169("span", { className: "text-gray500 font-bold", children: formatFollowerCount(impressions) }),
|
|
41516
41843
|
" ",
|
|
41517
41844
|
"est.Impressions"
|
|
41518
41845
|
] }),
|
|
41519
|
-
reach !== null && /* @__PURE__ */
|
|
41520
|
-
/* @__PURE__ */
|
|
41846
|
+
reach !== null && /* @__PURE__ */ jsxs129("div", { children: [
|
|
41847
|
+
/* @__PURE__ */ jsx169("span", { className: "text-gray500 font-bold", children: formatFollowerCount(reach) }),
|
|
41521
41848
|
" ",
|
|
41522
41849
|
"est.Reach"
|
|
41523
41850
|
] })
|
|
41524
41851
|
] }),
|
|
41525
|
-
/* @__PURE__ */
|
|
41526
|
-
platformUsername && /* @__PURE__ */
|
|
41852
|
+
/* @__PURE__ */ jsxs129("div", { className: "text-sm mb-1", children: [
|
|
41853
|
+
platformUsername && /* @__PURE__ */ jsxs129("div", { className: "text-md font-semibold text-gray500", children: [
|
|
41527
41854
|
"@",
|
|
41528
41855
|
platformUsername
|
|
41529
41856
|
] }),
|
|
41530
41857
|
["instagram", "tiktok"].includes(
|
|
41531
41858
|
post.platform?.toLowerCase() || ""
|
|
41532
|
-
) ? /* @__PURE__ */
|
|
41859
|
+
) ? /* @__PURE__ */ jsx169(Fragment8, { children: (() => {
|
|
41533
41860
|
const text = post.title || post.description || "";
|
|
41534
|
-
return /* @__PURE__ */
|
|
41535
|
-
/* @__PURE__ */
|
|
41861
|
+
return /* @__PURE__ */ jsxs129(Fragment8, { children: [
|
|
41862
|
+
/* @__PURE__ */ jsx169(
|
|
41536
41863
|
"div",
|
|
41537
41864
|
{
|
|
41538
41865
|
className: `text-gray900 font-light mt-2 text-sm ${!expanded ? "line-clamp-3" : ""}`,
|
|
41539
41866
|
children: text
|
|
41540
41867
|
}
|
|
41541
41868
|
),
|
|
41542
|
-
text.length > 100 && /* @__PURE__ */
|
|
41869
|
+
text.length > 100 && /* @__PURE__ */ jsx169(
|
|
41543
41870
|
"button",
|
|
41544
41871
|
{
|
|
41545
41872
|
onClick: (e) => {
|
|
@@ -41551,9 +41878,9 @@ function PostCard({ post, platformUsername }) {
|
|
|
41551
41878
|
}
|
|
41552
41879
|
)
|
|
41553
41880
|
] });
|
|
41554
|
-
})() }) : /* @__PURE__ */
|
|
41555
|
-
post.title && /* @__PURE__ */
|
|
41556
|
-
post.description && /* @__PURE__ */
|
|
41881
|
+
})() }) : /* @__PURE__ */ jsxs129(Fragment8, { children: [
|
|
41882
|
+
post.title && /* @__PURE__ */ jsx169("div", { className: "text-gray900 font-light", children: post.title }),
|
|
41883
|
+
post.description && /* @__PURE__ */ jsx169(
|
|
41557
41884
|
"div",
|
|
41558
41885
|
{
|
|
41559
41886
|
className: "mt-2 text-sm text-gray900 overflow-hidden font-light",
|
|
@@ -41561,7 +41888,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
41561
41888
|
children: post.description
|
|
41562
41889
|
}
|
|
41563
41890
|
),
|
|
41564
|
-
post.description && post.description.length > 200 && /* @__PURE__ */
|
|
41891
|
+
post.description && post.description.length > 200 && /* @__PURE__ */ jsx169(
|
|
41565
41892
|
"button",
|
|
41566
41893
|
{
|
|
41567
41894
|
onClick: (e) => {
|
|
@@ -41581,7 +41908,7 @@ function PostCard({ post, platformUsername }) {
|
|
|
41581
41908
|
}
|
|
41582
41909
|
|
|
41583
41910
|
// src/molecules/creator-discovery/CreatorWidget/PlatformPostsSection.tsx
|
|
41584
|
-
import { jsx as
|
|
41911
|
+
import { jsx as jsx170, jsxs as jsxs130 } from "react/jsx-runtime";
|
|
41585
41912
|
var formatFollowerCount2 = (count) => {
|
|
41586
41913
|
if (count >= 1e6) {
|
|
41587
41914
|
const millions = count / 1e6;
|
|
@@ -41605,18 +41932,18 @@ function PlatformMetricsBanner({
|
|
|
41605
41932
|
const platformName = getPlatformName(platform);
|
|
41606
41933
|
const bgColor = getPlatformBgColor(platform);
|
|
41607
41934
|
const IconComponent = getPlatformIcon(platform);
|
|
41608
|
-
return /* @__PURE__ */
|
|
41935
|
+
return /* @__PURE__ */ jsxs130(
|
|
41609
41936
|
"div",
|
|
41610
41937
|
{
|
|
41611
41938
|
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
41939
|
style: { backgroundColor: bgColor },
|
|
41613
41940
|
children: [
|
|
41614
|
-
/* @__PURE__ */
|
|
41615
|
-
/* @__PURE__ */
|
|
41616
|
-
/* @__PURE__ */
|
|
41941
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-center min-w-[90px] md:min-w-0", children: [
|
|
41942
|
+
/* @__PURE__ */ jsx170(IconComponent, { className: "w-5 h-5 md:w-6 md:h-6 text-gray900" }),
|
|
41943
|
+
/* @__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
41944
|
] }),
|
|
41618
|
-
/* @__PURE__ */
|
|
41619
|
-
/* @__PURE__ */
|
|
41945
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[130px] md:min-w-0", children: [
|
|
41946
|
+
/* @__PURE__ */ jsxs130(
|
|
41620
41947
|
"span",
|
|
41621
41948
|
{
|
|
41622
41949
|
className: "text-base md:text-lg dark:text-white max-w-[90%] truncate cursor-default",
|
|
@@ -41627,22 +41954,22 @@ function PlatformMetricsBanner({
|
|
|
41627
41954
|
]
|
|
41628
41955
|
}
|
|
41629
41956
|
),
|
|
41630
|
-
/* @__PURE__ */
|
|
41957
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs md:text-sm text-gray900 opacity-90", children: platformName })
|
|
41631
41958
|
] }),
|
|
41632
|
-
/* @__PURE__ */
|
|
41633
|
-
/* @__PURE__ */
|
|
41959
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
41960
|
+
/* @__PURE__ */ jsxs130("span", { className: "text-sm md:text-md font-semibold text-gray900", children: [
|
|
41634
41961
|
(metrics.engagementRate * 100).toFixed(2),
|
|
41635
41962
|
"%"
|
|
41636
41963
|
] }),
|
|
41637
|
-
/* @__PURE__ */
|
|
41964
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs text-gray900 opacity-80", children: "Engagement Rate" })
|
|
41638
41965
|
] }),
|
|
41639
|
-
/* @__PURE__ */
|
|
41640
|
-
/* @__PURE__ */
|
|
41641
|
-
/* @__PURE__ */
|
|
41966
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
41967
|
+
/* @__PURE__ */ jsx170("span", { className: "text-sm md:text-md font-semibold text-gray900", children: Math.round(metrics.avgLikes)?.toLocaleString() }),
|
|
41968
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Likes" })
|
|
41642
41969
|
] }),
|
|
41643
|
-
/* @__PURE__ */
|
|
41644
|
-
/* @__PURE__ */
|
|
41645
|
-
/* @__PURE__ */
|
|
41970
|
+
/* @__PURE__ */ jsxs130("div", { className: "flex flex-col items-start min-w-[100px] md:min-w-0", children: [
|
|
41971
|
+
/* @__PURE__ */ jsx170("span", { className: "text-sm md:text-md font-semibold text-gray900", children: Math.round(metrics.avgComments)?.toLocaleString() }),
|
|
41972
|
+
/* @__PURE__ */ jsx170("span", { className: "text-xs text-gray900 opacity-80", children: "Avg Comments" })
|
|
41646
41973
|
] })
|
|
41647
41974
|
]
|
|
41648
41975
|
}
|
|
@@ -41653,16 +41980,16 @@ function PlatformPostsSection({
|
|
|
41653
41980
|
posts = []
|
|
41654
41981
|
}) {
|
|
41655
41982
|
if (!platformMetrics) return null;
|
|
41656
|
-
return /* @__PURE__ */
|
|
41983
|
+
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
41984
|
([platform, metrics]) => {
|
|
41658
41985
|
if (!metrics) return null;
|
|
41659
41986
|
if (metrics.followers === 0 && metrics.subscribers === 0)
|
|
41660
41987
|
return null;
|
|
41661
41988
|
const platformPosts = filterPostsByPlatform(posts, platform);
|
|
41662
41989
|
const platformUsername = metrics.username ?? metrics.channelName ?? "";
|
|
41663
|
-
return /* @__PURE__ */
|
|
41664
|
-
/* @__PURE__ */
|
|
41665
|
-
platformPosts.length > 0 && /* @__PURE__ */
|
|
41990
|
+
return /* @__PURE__ */ jsxs130("div", { className: "w-full flex flex-col gap-8", children: [
|
|
41991
|
+
/* @__PURE__ */ jsx170(PlatformMetricsBanner, { platform, metrics }),
|
|
41992
|
+
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
41993
|
PostCard,
|
|
41667
41994
|
{
|
|
41668
41995
|
post,
|
|
@@ -41676,10 +42003,10 @@ function PlatformPostsSection({
|
|
|
41676
42003
|
}
|
|
41677
42004
|
|
|
41678
42005
|
// src/molecules/creator-discovery/CreatorWidget/BrandCollaborationsList.tsx
|
|
41679
|
-
import { useState as
|
|
42006
|
+
import { useState as useState16 } from "react";
|
|
41680
42007
|
import ReactDOM from "react-dom";
|
|
41681
42008
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
|
|
41682
|
-
import { Fragment as
|
|
42009
|
+
import { Fragment as Fragment9, jsx as jsx171, jsxs as jsxs131 } from "react/jsx-runtime";
|
|
41683
42010
|
var getSentimentRank = (score) => {
|
|
41684
42011
|
if (score >= 80) {
|
|
41685
42012
|
return {
|
|
@@ -41724,8 +42051,8 @@ function BrandMentionDetails({
|
|
|
41724
42051
|
) || [];
|
|
41725
42052
|
if (typeof window === "undefined") return null;
|
|
41726
42053
|
return ReactDOM.createPortal(
|
|
41727
|
-
/* @__PURE__ */
|
|
41728
|
-
/* @__PURE__ */
|
|
42054
|
+
/* @__PURE__ */ jsx171(AnimatePresence3, { mode: "sync", children: open && /* @__PURE__ */ jsxs131(Fragment9, { children: [
|
|
42055
|
+
/* @__PURE__ */ jsx171(
|
|
41729
42056
|
motion3.div,
|
|
41730
42057
|
{
|
|
41731
42058
|
initial: { opacity: 0 },
|
|
@@ -41740,7 +42067,7 @@ function BrandMentionDetails({
|
|
|
41740
42067
|
},
|
|
41741
42068
|
"brand-overlay"
|
|
41742
42069
|
),
|
|
41743
|
-
/* @__PURE__ */
|
|
42070
|
+
/* @__PURE__ */ jsxs131(
|
|
41744
42071
|
motion3.div,
|
|
41745
42072
|
{
|
|
41746
42073
|
initial: { opacity: 0, scale: 0.95 },
|
|
@@ -41750,42 +42077,42 @@ function BrandMentionDetails({
|
|
|
41750
42077
|
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
42078
|
onClick: (e) => e.stopPropagation(),
|
|
41752
42079
|
children: [
|
|
41753
|
-
/* @__PURE__ */
|
|
41754
|
-
/* @__PURE__ */
|
|
42080
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex justify-between items-center p-4 border-b border-gray300", children: [
|
|
42081
|
+
/* @__PURE__ */ jsxs131("h3", { className: "text-lg font-bold text-gray900", children: [
|
|
41755
42082
|
"Brand Mention Details: ",
|
|
41756
42083
|
selectedBrand
|
|
41757
42084
|
] }),
|
|
41758
|
-
/* @__PURE__ */
|
|
42085
|
+
/* @__PURE__ */ jsx171(
|
|
41759
42086
|
"button",
|
|
41760
42087
|
{
|
|
41761
42088
|
onClick: onClose,
|
|
41762
42089
|
className: "p-1 rounded-full hover:bg-gray200 transition-colors",
|
|
41763
|
-
children: /* @__PURE__ */
|
|
42090
|
+
children: /* @__PURE__ */ jsx171(X, { className: "w-4 h-4" })
|
|
41764
42091
|
}
|
|
41765
42092
|
)
|
|
41766
42093
|
] }),
|
|
41767
|
-
/* @__PURE__ */
|
|
41768
|
-
brandStats && /* @__PURE__ */
|
|
41769
|
-
/* @__PURE__ */
|
|
41770
|
-
/* @__PURE__ */
|
|
41771
|
-
/* @__PURE__ */
|
|
41772
|
-
/* @__PURE__ */
|
|
41773
|
-
/* @__PURE__ */
|
|
42094
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col gap-6 max-h-[70vh] overflow-y-auto p-4", children: [
|
|
42095
|
+
brandStats && /* @__PURE__ */ jsxs131("div", { className: "bg-gray25 border-2 border-gray200 rounded-xl p-4", children: [
|
|
42096
|
+
/* @__PURE__ */ jsx171("h3", { className: "text-lg font-bold text-gray900 mb-4", children: "Overview" }),
|
|
42097
|
+
/* @__PURE__ */ jsxs131("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
42098
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42099
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Total Mentions" }),
|
|
42100
|
+
/* @__PURE__ */ jsx171("div", { className: "text-2xl font-bold text-gray900", children: brandStats.mentions })
|
|
41774
42101
|
] }),
|
|
41775
|
-
/* @__PURE__ */
|
|
41776
|
-
/* @__PURE__ */
|
|
41777
|
-
/* @__PURE__ */
|
|
42102
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42103
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Posts Count" }),
|
|
42104
|
+
/* @__PURE__ */ jsx171("div", { className: "text-2xl font-bold text-gray900", children: brandStats.postCount })
|
|
41778
42105
|
] }),
|
|
41779
|
-
/* @__PURE__ */
|
|
41780
|
-
/* @__PURE__ */
|
|
41781
|
-
/* @__PURE__ */
|
|
42106
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42107
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Avg Engagement" }),
|
|
42108
|
+
/* @__PURE__ */ jsxs131("div", { className: "text-2xl font-bold text-gray900", children: [
|
|
41782
42109
|
brandStats.averageEngagementRate?.toFixed(2),
|
|
41783
42110
|
"%"
|
|
41784
42111
|
] })
|
|
41785
42112
|
] }),
|
|
41786
|
-
/* @__PURE__ */
|
|
41787
|
-
/* @__PURE__ */
|
|
41788
|
-
/* @__PURE__ */
|
|
42113
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3", children: [
|
|
42114
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600", children: "Effectiveness" }),
|
|
42115
|
+
/* @__PURE__ */ jsxs131(
|
|
41789
42116
|
"div",
|
|
41790
42117
|
{
|
|
41791
42118
|
className: `text-2xl font-bold ${getSentimentRank(brandStats.effectivenessPercent).scoreColor}`,
|
|
@@ -41797,8 +42124,8 @@ function BrandMentionDetails({
|
|
|
41797
42124
|
)
|
|
41798
42125
|
] })
|
|
41799
42126
|
] }),
|
|
41800
|
-
/* @__PURE__ */
|
|
41801
|
-
(type, idx) => /* @__PURE__ */
|
|
42127
|
+
/* @__PURE__ */ jsx171("div", { className: "mt-3 flex gap-2 flex-wrap", children: brandStats.collaborationTypes?.map(
|
|
42128
|
+
(type, idx) => /* @__PURE__ */ jsx171(
|
|
41802
42129
|
"span",
|
|
41803
42130
|
{
|
|
41804
42131
|
className: "px-3 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]",
|
|
@@ -41808,55 +42135,55 @@ function BrandMentionDetails({
|
|
|
41808
42135
|
)
|
|
41809
42136
|
) })
|
|
41810
42137
|
] }),
|
|
41811
|
-
/* @__PURE__ */
|
|
41812
|
-
/* @__PURE__ */
|
|
42138
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42139
|
+
/* @__PURE__ */ jsxs131("h3", { className: "text-lg font-bold text-gray900 mb-3", children: [
|
|
41813
42140
|
"Individual Mentions (",
|
|
41814
42141
|
brandMentions.length,
|
|
41815
42142
|
")"
|
|
41816
42143
|
] }),
|
|
41817
|
-
/* @__PURE__ */
|
|
42144
|
+
/* @__PURE__ */ jsx171("div", { className: "flex flex-col gap-3", children: brandMentions.map((mention, index) => {
|
|
41818
42145
|
const IconComponent = getPlatformIcon(mention?.platform);
|
|
41819
|
-
return /* @__PURE__ */
|
|
42146
|
+
return /* @__PURE__ */ jsxs131(
|
|
41820
42147
|
"div",
|
|
41821
42148
|
{
|
|
41822
42149
|
className: "bg-gray50 border-2 border-gray200 rounded-xl p-4 hover:border-purple100 transition-colors",
|
|
41823
42150
|
children: [
|
|
41824
|
-
/* @__PURE__ */
|
|
41825
|
-
/* @__PURE__ */
|
|
41826
|
-
/* @__PURE__ */
|
|
41827
|
-
/* @__PURE__ */
|
|
42151
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center justify-between mb-3", children: [
|
|
42152
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-2", children: [
|
|
42153
|
+
/* @__PURE__ */ jsx171(IconComponent, { className: "w-5 h-5 text-gray900" }),
|
|
42154
|
+
/* @__PURE__ */ jsx171("span", { className: "text-sm font-medium text-gray700 capitalize", children: mention.platform })
|
|
41828
42155
|
] }),
|
|
41829
|
-
/* @__PURE__ */
|
|
41830
|
-
/* @__PURE__ */
|
|
41831
|
-
/* @__PURE__ */
|
|
42156
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex items-center gap-2", children: [
|
|
42157
|
+
/* @__PURE__ */ jsx171("span", { className: "px-2 py-1 rounded-md text-xs font-medium bg-[#1D4324] text-[#72E285]", children: mention.collaborationType }),
|
|
42158
|
+
/* @__PURE__ */ jsxs131("span", { className: "text-xs text-gray600", children: [
|
|
41832
42159
|
Math.round(mention.confidence * 100),
|
|
41833
42160
|
"% confidence"
|
|
41834
42161
|
] })
|
|
41835
42162
|
] })
|
|
41836
42163
|
] }),
|
|
41837
|
-
/* @__PURE__ */
|
|
41838
|
-
/* @__PURE__ */
|
|
42164
|
+
/* @__PURE__ */ jsxs131("div", { className: "mb-2", children: [
|
|
42165
|
+
/* @__PURE__ */ jsxs131("span", { className: "text-xs text-gray500", children: [
|
|
41839
42166
|
"Post ID:",
|
|
41840
42167
|
" "
|
|
41841
42168
|
] }),
|
|
41842
|
-
/* @__PURE__ */
|
|
42169
|
+
/* @__PURE__ */ jsx171("span", { className: "text-xs font-mono text-gray700", children: mention.post_id })
|
|
41843
42170
|
] }),
|
|
41844
|
-
/* @__PURE__ */
|
|
41845
|
-
/* @__PURE__ */
|
|
41846
|
-
/* @__PURE__ */
|
|
42171
|
+
/* @__PURE__ */ jsxs131("div", { className: "bg-background rounded-lg p-3 border border-gray300", children: [
|
|
42172
|
+
/* @__PURE__ */ jsx171("div", { className: "text-xs text-gray600 mb-1", children: "Evidence:" }),
|
|
42173
|
+
/* @__PURE__ */ jsxs131("p", { className: "text-sm text-gray800 italic", children: [
|
|
41847
42174
|
"\u201C",
|
|
41848
42175
|
mention.evidence,
|
|
41849
42176
|
"\u201D"
|
|
41850
42177
|
] })
|
|
41851
42178
|
] }),
|
|
41852
|
-
/* @__PURE__ */
|
|
42179
|
+
/* @__PURE__ */ jsxs131("div", { className: "mt-2 text-xs text-gray500", children: [
|
|
41853
42180
|
"Source:",
|
|
41854
42181
|
" ",
|
|
41855
|
-
/* @__PURE__ */
|
|
41856
|
-
mention.handle && /* @__PURE__ */
|
|
42182
|
+
/* @__PURE__ */ jsx171("span", { className: "font-medium", children: mention.source }),
|
|
42183
|
+
mention.handle && /* @__PURE__ */ jsxs131("span", { className: "ml-2", children: [
|
|
41857
42184
|
"Handle:",
|
|
41858
42185
|
" ",
|
|
41859
|
-
/* @__PURE__ */
|
|
42186
|
+
/* @__PURE__ */ jsx171("span", { className: "font-medium", children: mention.handle })
|
|
41860
42187
|
] })
|
|
41861
42188
|
] })
|
|
41862
42189
|
]
|
|
@@ -41865,7 +42192,7 @@ function BrandMentionDetails({
|
|
|
41865
42192
|
);
|
|
41866
42193
|
}) })
|
|
41867
42194
|
] }),
|
|
41868
|
-
brandMentions.length === 0 && /* @__PURE__ */
|
|
42195
|
+
brandMentions.length === 0 && /* @__PURE__ */ jsx171("div", { className: "text-center py-8 text-gray500", children: "No mentions found for this brand" })
|
|
41869
42196
|
] })
|
|
41870
42197
|
]
|
|
41871
42198
|
},
|
|
@@ -41878,16 +42205,16 @@ function BrandMentionDetails({
|
|
|
41878
42205
|
function BrandCollaborationsList({
|
|
41879
42206
|
brandBreakdown
|
|
41880
42207
|
}) {
|
|
41881
|
-
const [openDetails, setOpenDetails] =
|
|
41882
|
-
const [selectedBrand, setSelectedBrand] =
|
|
42208
|
+
const [openDetails, setOpenDetails] = useState16(false);
|
|
42209
|
+
const [selectedBrand, setSelectedBrand] = useState16("");
|
|
41883
42210
|
if (!brandBreakdown?.insights?.brandBreakdown || brandBreakdown.insights.brandBreakdown.length === 0) {
|
|
41884
42211
|
return null;
|
|
41885
42212
|
}
|
|
41886
|
-
return /* @__PURE__ */
|
|
41887
|
-
/* @__PURE__ */
|
|
41888
|
-
/* @__PURE__ */
|
|
41889
|
-
/* @__PURE__ */
|
|
41890
|
-
(item, index) => /* @__PURE__ */
|
|
42213
|
+
return /* @__PURE__ */ jsxs131(Fragment9, { children: [
|
|
42214
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42215
|
+
/* @__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" }) }),
|
|
42216
|
+
/* @__PURE__ */ jsx171("div", { className: "flex flex-col gap-2 max-h-[220px] overflow-y-auto", children: brandBreakdown.insights.brandBreakdown.map(
|
|
42217
|
+
(item, index) => /* @__PURE__ */ jsxs131(
|
|
41891
42218
|
"div",
|
|
41892
42219
|
{
|
|
41893
42220
|
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 +42224,17 @@ function BrandCollaborationsList({
|
|
|
41897
42224
|
setOpenDetails(true);
|
|
41898
42225
|
},
|
|
41899
42226
|
children: [
|
|
41900
|
-
/* @__PURE__ */
|
|
41901
|
-
/* @__PURE__ */
|
|
41902
|
-
/* @__PURE__ */
|
|
41903
|
-
/* @__PURE__ */
|
|
41904
|
-
/* @__PURE__ */
|
|
41905
|
-
/* @__PURE__ */
|
|
42227
|
+
/* @__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() || "?" }) }),
|
|
42228
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex flex-col gap-1", children: [
|
|
42229
|
+
/* @__PURE__ */ jsx171("div", { className: "text-gray900 text-sm", children: item.brand }),
|
|
42230
|
+
/* @__PURE__ */ jsxs131("div", { className: "flex gap-2 text-xs text-gray600", children: [
|
|
42231
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42232
|
+
/* @__PURE__ */ jsx171("span", { className: "text-gray900", children: item?.mentions }),
|
|
41906
42233
|
" ",
|
|
41907
42234
|
"Mention"
|
|
41908
42235
|
] }),
|
|
41909
|
-
/* @__PURE__ */
|
|
41910
|
-
/* @__PURE__ */
|
|
42236
|
+
/* @__PURE__ */ jsxs131("div", { children: [
|
|
42237
|
+
/* @__PURE__ */ jsx171(
|
|
41911
42238
|
"span",
|
|
41912
42239
|
{
|
|
41913
42240
|
className: `${getSentimentRank(item.effectivenessPercent).scoreColor} font-bold`,
|
|
@@ -41925,7 +42252,7 @@ function BrandCollaborationsList({
|
|
|
41925
42252
|
)
|
|
41926
42253
|
) })
|
|
41927
42254
|
] }),
|
|
41928
|
-
/* @__PURE__ */
|
|
42255
|
+
/* @__PURE__ */ jsx171(
|
|
41929
42256
|
BrandMentionDetails,
|
|
41930
42257
|
{
|
|
41931
42258
|
open: openDetails,
|
|
@@ -41938,9 +42265,9 @@ function BrandCollaborationsList({
|
|
|
41938
42265
|
}
|
|
41939
42266
|
|
|
41940
42267
|
// src/molecules/creator-discovery/CreatorWidget/CreatorGridView.tsx
|
|
41941
|
-
import { useState as
|
|
42268
|
+
import { useState as useState17, useMemo as useMemo9, useRef as useRef7, useCallback as useCallback5, useEffect as useEffect10 } from "react";
|
|
41942
42269
|
import { motion as motion4 } from "framer-motion";
|
|
41943
|
-
import { jsx as
|
|
42270
|
+
import { jsx as jsx172, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
41944
42271
|
var formatFollowerCount3 = (count) => {
|
|
41945
42272
|
if (count >= 1e6) {
|
|
41946
42273
|
const millions = count / 1e6;
|
|
@@ -41987,20 +42314,20 @@ var itemsExplanation = [
|
|
|
41987
42314
|
{ key: "brandSafety", label: "Brand Safety" }
|
|
41988
42315
|
];
|
|
41989
42316
|
function CreatorGridViewCard({ creator }) {
|
|
41990
|
-
const [isExpanded, setIsExpanded] =
|
|
41991
|
-
const [showFullDescription, setShowFullDescription] =
|
|
41992
|
-
const [isDescriptionOverflowing, setIsDescriptionOverflowing] =
|
|
41993
|
-
const descriptionRef =
|
|
41994
|
-
const cardRef =
|
|
41995
|
-
const checkDescriptionOverflow =
|
|
42317
|
+
const [isExpanded, setIsExpanded] = useState17(false);
|
|
42318
|
+
const [showFullDescription, setShowFullDescription] = useState17(false);
|
|
42319
|
+
const [isDescriptionOverflowing, setIsDescriptionOverflowing] = useState17(false);
|
|
42320
|
+
const descriptionRef = useRef7(null);
|
|
42321
|
+
const cardRef = useRef7(null);
|
|
42322
|
+
const checkDescriptionOverflow = useCallback5(() => {
|
|
41996
42323
|
const el = descriptionRef.current;
|
|
41997
42324
|
if (!el) return;
|
|
41998
42325
|
setIsDescriptionOverflowing(el.scrollHeight > el.clientHeight + 1);
|
|
41999
42326
|
}, []);
|
|
42000
|
-
|
|
42327
|
+
useEffect10(() => {
|
|
42001
42328
|
checkDescriptionOverflow();
|
|
42002
42329
|
}, [checkDescriptionOverflow, isExpanded, showFullDescription]);
|
|
42003
|
-
|
|
42330
|
+
useEffect10(() => {
|
|
42004
42331
|
const onResize = () => checkDescriptionOverflow();
|
|
42005
42332
|
window.addEventListener("resize", onResize);
|
|
42006
42333
|
return () => window.removeEventListener("resize", onResize);
|
|
@@ -42041,7 +42368,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42041
42368
|
};
|
|
42042
42369
|
const iso2 = normalizeToIso2(creator.country);
|
|
42043
42370
|
const meta = codeToMeta[iso2];
|
|
42044
|
-
return /* @__PURE__ */
|
|
42371
|
+
return /* @__PURE__ */ jsx172(
|
|
42045
42372
|
motion4.div,
|
|
42046
42373
|
{
|
|
42047
42374
|
ref: cardRef,
|
|
@@ -42052,10 +42379,10 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42052
42379
|
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
42380
|
style: isExpanded ? { gridColumn: "1 / -1" } : {},
|
|
42054
42381
|
onClick: toggleExpanded,
|
|
42055
|
-
children: /* @__PURE__ */
|
|
42056
|
-
/* @__PURE__ */
|
|
42057
|
-
/* @__PURE__ */
|
|
42058
|
-
creator.profile_pic ? /* @__PURE__ */
|
|
42382
|
+
children: /* @__PURE__ */ jsxs132("div", { className: "flex", children: [
|
|
42383
|
+
/* @__PURE__ */ jsxs132("div", { className: `${isExpanded ? "w-1/3" : "w-full"}`, children: [
|
|
42384
|
+
/* @__PURE__ */ jsxs132("div", { className: "relative w-full aspect-square mb-2", children: [
|
|
42385
|
+
creator.profile_pic ? /* @__PURE__ */ jsx172(
|
|
42059
42386
|
"img",
|
|
42060
42387
|
{
|
|
42061
42388
|
src: creator.profile_pic,
|
|
@@ -42063,15 +42390,15 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42063
42390
|
className: "w-full h-full object-cover bg-primary/10",
|
|
42064
42391
|
style: { borderRadius: "10px 10px 0 0" }
|
|
42065
42392
|
}
|
|
42066
|
-
) : /* @__PURE__ */
|
|
42393
|
+
) : /* @__PURE__ */ jsx172(
|
|
42067
42394
|
"div",
|
|
42068
42395
|
{
|
|
42069
42396
|
className: "w-full h-full bg-primary/10 flex items-center justify-center",
|
|
42070
42397
|
style: { borderRadius: "10px 10px 0 0" },
|
|
42071
|
-
children: /* @__PURE__ */
|
|
42398
|
+
children: /* @__PURE__ */ jsx172("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" })
|
|
42072
42399
|
}
|
|
42073
42400
|
),
|
|
42074
|
-
/* @__PURE__ */
|
|
42401
|
+
/* @__PURE__ */ jsx172(
|
|
42075
42402
|
"div",
|
|
42076
42403
|
{
|
|
42077
42404
|
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 +42406,34 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42079
42406
|
}
|
|
42080
42407
|
)
|
|
42081
42408
|
] }),
|
|
42082
|
-
/* @__PURE__ */
|
|
42083
|
-
/* @__PURE__ */
|
|
42084
|
-
/* @__PURE__ */
|
|
42409
|
+
/* @__PURE__ */ jsxs132("div", { className: "px-3 pb-1", children: [
|
|
42410
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42411
|
+
/* @__PURE__ */ jsx172(
|
|
42085
42412
|
"h3",
|
|
42086
42413
|
{
|
|
42087
42414
|
className: `${isExpanded ? "text-md" : "text-sm"} font-normal text-gray900 mb-1 line-clamp-2 text-start`,
|
|
42088
42415
|
children: creator.name || "Unnamed"
|
|
42089
42416
|
}
|
|
42090
42417
|
),
|
|
42091
|
-
/* @__PURE__ */
|
|
42418
|
+
/* @__PURE__ */ jsxs132(
|
|
42092
42419
|
"div",
|
|
42093
42420
|
{
|
|
42094
42421
|
className: `${isExpanded ? "text-sm" : "text-xs"} text-gray700 mb-1 text-start flex items-center gap-1`,
|
|
42095
42422
|
children: [
|
|
42096
|
-
/* @__PURE__ */
|
|
42097
|
-
/* @__PURE__ */
|
|
42423
|
+
/* @__PURE__ */ jsx172("span", { className: "text-base", children: meta?.flag }),
|
|
42424
|
+
/* @__PURE__ */ jsx172("span", { children: meta?.name || creator.country || "Unknown" })
|
|
42098
42425
|
]
|
|
42099
42426
|
}
|
|
42100
42427
|
),
|
|
42101
|
-
isExpanded && creator?.sentiment?.detailedScores && /* @__PURE__ */
|
|
42428
|
+
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
42429
|
([key, value]) => {
|
|
42103
42430
|
const itemRank = getSentimentRank2(value);
|
|
42104
|
-
return /* @__PURE__ */
|
|
42431
|
+
return /* @__PURE__ */ jsxs132(
|
|
42105
42432
|
"div",
|
|
42106
42433
|
{
|
|
42107
42434
|
className: "flex flex-col items-center w-[100px]",
|
|
42108
42435
|
children: [
|
|
42109
|
-
/* @__PURE__ */
|
|
42436
|
+
/* @__PURE__ */ jsxs132(
|
|
42110
42437
|
"span",
|
|
42111
42438
|
{
|
|
42112
42439
|
className: `text-[14px] font-bold ${itemRank.scoreColor}`,
|
|
@@ -42116,7 +42443,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42116
42443
|
]
|
|
42117
42444
|
}
|
|
42118
42445
|
),
|
|
42119
|
-
/* @__PURE__ */
|
|
42446
|
+
/* @__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
42447
|
(item) => item.key === key
|
|
42121
42448
|
)?.label }) })
|
|
42122
42449
|
]
|
|
@@ -42126,20 +42453,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42126
42453
|
}
|
|
42127
42454
|
) }) })
|
|
42128
42455
|
] }),
|
|
42129
|
-
!isExpanded && /* @__PURE__ */
|
|
42130
|
-
({ platform, icon: Icon3, followers }) => /* @__PURE__ */
|
|
42456
|
+
!isExpanded && /* @__PURE__ */ jsx172("div", { className: "flex gap-2 justify-between", children: platformStats.map(
|
|
42457
|
+
({ platform, icon: Icon3, followers }) => /* @__PURE__ */ jsxs132(
|
|
42131
42458
|
"div",
|
|
42132
42459
|
{
|
|
42133
42460
|
className: "flex flex-col items-center gap-1",
|
|
42134
42461
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
42135
42462
|
children: [
|
|
42136
|
-
/* @__PURE__ */
|
|
42463
|
+
/* @__PURE__ */ jsx172(
|
|
42137
42464
|
Icon3,
|
|
42138
42465
|
{
|
|
42139
42466
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
42140
42467
|
}
|
|
42141
42468
|
),
|
|
42142
|
-
/* @__PURE__ */
|
|
42469
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs dark:text-gray500", children: followers > 0 && formatFollowerCount3(followers) })
|
|
42143
42470
|
]
|
|
42144
42471
|
},
|
|
42145
42472
|
platform
|
|
@@ -42147,20 +42474,20 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42147
42474
|
) })
|
|
42148
42475
|
] })
|
|
42149
42476
|
] }),
|
|
42150
|
-
isExpanded && /* @__PURE__ */
|
|
42151
|
-
/* @__PURE__ */
|
|
42152
|
-
/* @__PURE__ */
|
|
42477
|
+
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: [
|
|
42478
|
+
/* @__PURE__ */ jsxs132("div", { children: [
|
|
42479
|
+
/* @__PURE__ */ jsxs132(
|
|
42153
42480
|
"div",
|
|
42154
42481
|
{
|
|
42155
42482
|
ref: descriptionRef,
|
|
42156
42483
|
className: `${showFullDescription ? "" : "max-h-[80px] overflow-hidden"} relative`,
|
|
42157
42484
|
children: [
|
|
42158
|
-
/* @__PURE__ */
|
|
42159
|
-
!showFullDescription && isDescriptionOverflowing && /* @__PURE__ */
|
|
42485
|
+
/* @__PURE__ */ jsx172("p", { className: "text-sm text-gray700 leading-relaxed", children: creator.description || "No description provided." }),
|
|
42486
|
+
!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
42487
|
]
|
|
42161
42488
|
}
|
|
42162
42489
|
),
|
|
42163
|
-
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */
|
|
42490
|
+
(isDescriptionOverflowing || showFullDescription) && /* @__PURE__ */ jsx172(
|
|
42164
42491
|
"button",
|
|
42165
42492
|
{
|
|
42166
42493
|
onClick: (e) => {
|
|
@@ -42172,38 +42499,38 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42172
42499
|
}
|
|
42173
42500
|
)
|
|
42174
42501
|
] }),
|
|
42175
|
-
/* @__PURE__ */
|
|
42176
|
-
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */
|
|
42177
|
-
/* @__PURE__ */
|
|
42502
|
+
/* @__PURE__ */ jsx172("div", { className: "flex gap-6 justify-start items-center", children: platformStats.map(
|
|
42503
|
+
({ platform, icon: Icon3, followers, engagement }) => /* @__PURE__ */ jsxs132("div", { className: "flex items-center gap-3", children: [
|
|
42504
|
+
/* @__PURE__ */ jsxs132(
|
|
42178
42505
|
"div",
|
|
42179
42506
|
{
|
|
42180
42507
|
className: "flex items-center gap-1",
|
|
42181
42508
|
title: `${formatFollowerCount3(followers)} followers`,
|
|
42182
42509
|
children: [
|
|
42183
|
-
/* @__PURE__ */
|
|
42510
|
+
/* @__PURE__ */ jsx172(
|
|
42184
42511
|
Icon3,
|
|
42185
42512
|
{
|
|
42186
42513
|
className: `w-5 h-5 ${getPlatformIconColor(platform)}`
|
|
42187
42514
|
}
|
|
42188
42515
|
),
|
|
42189
|
-
/* @__PURE__ */
|
|
42516
|
+
/* @__PURE__ */ jsx172("span", { className: "text-xs dark:text-gray500", children: followers > 0 ? formatFollowerCount3(followers) : "0" })
|
|
42190
42517
|
]
|
|
42191
42518
|
}
|
|
42192
42519
|
),
|
|
42193
|
-
/* @__PURE__ */
|
|
42194
|
-
/* @__PURE__ */
|
|
42195
|
-
/* @__PURE__ */
|
|
42520
|
+
/* @__PURE__ */ jsxs132("div", { className: "flex items-center gap-1", children: [
|
|
42521
|
+
/* @__PURE__ */ jsx172(ChartColumn, { className: "w-5 h-5 dark:text-gray500" }),
|
|
42522
|
+
/* @__PURE__ */ jsxs132("span", { className: "text-sm dark:text-gray500 w-[40px]", children: [
|
|
42196
42523
|
(engagement * 100).toFixed(1),
|
|
42197
42524
|
"%"
|
|
42198
42525
|
] })
|
|
42199
42526
|
] })
|
|
42200
42527
|
] }, platform)
|
|
42201
42528
|
) }),
|
|
42202
|
-
creator.posts?.length > 0 && /* @__PURE__ */
|
|
42203
|
-
/* @__PURE__ */
|
|
42204
|
-
/* @__PURE__ */
|
|
42529
|
+
creator.posts?.length > 0 && /* @__PURE__ */ jsxs132("div", { className: "w-full overflow-hidden", children: [
|
|
42530
|
+
/* @__PURE__ */ jsx172("h3", { className: "mb-2 text-sm font-medium text-gray900", children: "Recent Posts" }),
|
|
42531
|
+
/* @__PURE__ */ jsx172("div", { className: "flex gap-3 overflow-x-auto", children: creator.posts.filter(
|
|
42205
42532
|
(post) => post.thumbnail || post.thumbnail_url
|
|
42206
|
-
).slice(0, 8).map((post, idx) => /* @__PURE__ */
|
|
42533
|
+
).slice(0, 8).map((post, idx) => /* @__PURE__ */ jsx172(
|
|
42207
42534
|
"a",
|
|
42208
42535
|
{
|
|
42209
42536
|
href: post.url || "#",
|
|
@@ -42211,7 +42538,7 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42211
42538
|
rel: "noopener noreferrer",
|
|
42212
42539
|
className: "block flex-shrink-0",
|
|
42213
42540
|
onClick: (e) => e.stopPropagation(),
|
|
42214
|
-
children: /* @__PURE__ */
|
|
42541
|
+
children: /* @__PURE__ */ jsx172(
|
|
42215
42542
|
"img",
|
|
42216
42543
|
{
|
|
42217
42544
|
src: post.thumbnail_url || post.thumbnail,
|
|
@@ -42223,9 +42550,9 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42223
42550
|
idx
|
|
42224
42551
|
)) })
|
|
42225
42552
|
] }),
|
|
42226
|
-
creator?.sentiment?.aiReasoning && /* @__PURE__ */
|
|
42227
|
-
/* @__PURE__ */
|
|
42228
|
-
/* @__PURE__ */
|
|
42553
|
+
creator?.sentiment?.aiReasoning && /* @__PURE__ */ jsxs132("div", { className: "text-gray700 max-h-[200px] overflow-auto", children: [
|
|
42554
|
+
/* @__PURE__ */ jsx172("h4", { className: "font-semibold text-sm", children: "AI Analysis" }),
|
|
42555
|
+
/* @__PURE__ */ jsx172("p", { className: "text-sm", children: creator.sentiment.aiReasoning })
|
|
42229
42556
|
] })
|
|
42230
42557
|
] }) })
|
|
42231
42558
|
] })
|
|
@@ -42235,11 +42562,11 @@ function CreatorGridViewCard({ creator }) {
|
|
|
42235
42562
|
function CreatorGridView({
|
|
42236
42563
|
creatorData
|
|
42237
42564
|
}) {
|
|
42238
|
-
return /* @__PURE__ */
|
|
42565
|
+
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
42566
|
}
|
|
42240
42567
|
|
|
42241
42568
|
// src/molecules/creator-discovery/CreatorWidget/CreatorExpandedPanel.tsx
|
|
42242
|
-
import { Fragment as
|
|
42569
|
+
import { Fragment as Fragment10, jsx as jsx173, jsxs as jsxs133 } from "react/jsx-runtime";
|
|
42243
42570
|
var formatFollowerCount4 = (count) => {
|
|
42244
42571
|
if (count >= 1e6) {
|
|
42245
42572
|
const millions = count / 1e6;
|
|
@@ -42333,12 +42660,12 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42333
42660
|
{
|
|
42334
42661
|
key: "platforms",
|
|
42335
42662
|
title: "Platforms",
|
|
42336
|
-
content: /* @__PURE__ */
|
|
42663
|
+
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
42664
|
},
|
|
42338
42665
|
{
|
|
42339
42666
|
key: "follower_range",
|
|
42340
42667
|
title: "Follower Range",
|
|
42341
|
-
content: /* @__PURE__ */
|
|
42668
|
+
content: /* @__PURE__ */ jsxs133("div", { className: `inline-block ${tagClass} font-grotesk`, children: [
|
|
42342
42669
|
formatFollowerCount4(spec?.follower_range?.min ?? 0),
|
|
42343
42670
|
" -",
|
|
42344
42671
|
" ",
|
|
@@ -42348,7 +42675,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42348
42675
|
{
|
|
42349
42676
|
key: "geography",
|
|
42350
42677
|
title: "Geography",
|
|
42351
|
-
content: /* @__PURE__ */
|
|
42678
|
+
content: /* @__PURE__ */ jsx173("div", { className: `inline-block ${tagClass} font-grotesk`, children: /* @__PURE__ */ jsx173(
|
|
42352
42679
|
"div",
|
|
42353
42680
|
{
|
|
42354
42681
|
className: "max-w-[200px] overflow-x-auto whitespace-nowrap",
|
|
@@ -42362,7 +42689,7 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42362
42689
|
e.currentTarget.style.overflow = "hidden";
|
|
42363
42690
|
e.currentTarget.scrollLeft = 0;
|
|
42364
42691
|
},
|
|
42365
|
-
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */
|
|
42692
|
+
children: (spec.geography || []).map((g, idx) => /* @__PURE__ */ jsxs133("span", { children: [
|
|
42366
42693
|
g,
|
|
42367
42694
|
idx < spec.geography.length - 1 ? ", " : ""
|
|
42368
42695
|
] }, idx))
|
|
@@ -42372,13 +42699,13 @@ function SearchSpecDisplay({ spec }) {
|
|
|
42372
42699
|
{
|
|
42373
42700
|
key: "keyword_bundles",
|
|
42374
42701
|
title: "Keyword",
|
|
42375
|
-
content: /* @__PURE__ */
|
|
42702
|
+
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
42703
|
}
|
|
42377
42704
|
];
|
|
42378
42705
|
const itemsToShow = ["platforms", "follower_range", "geography", "keyword_bundles"];
|
|
42379
|
-
return /* @__PURE__ */
|
|
42380
|
-
/* @__PURE__ */
|
|
42381
|
-
/* @__PURE__ */
|
|
42706
|
+
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: [
|
|
42707
|
+
/* @__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() }) }),
|
|
42708
|
+
/* @__PURE__ */ jsx173("div", { className: `flex text-gray900 ${textClass}`, children: content })
|
|
42382
42709
|
] }, key)) }) });
|
|
42383
42710
|
}
|
|
42384
42711
|
function SentimentScoreRank({
|
|
@@ -42387,16 +42714,16 @@ function SentimentScoreRank({
|
|
|
42387
42714
|
showMinialView = false
|
|
42388
42715
|
}) {
|
|
42389
42716
|
const sentimentScoreRank = getSentimentRank3(score);
|
|
42390
|
-
return /* @__PURE__ */
|
|
42391
|
-
score !== void 0 && /* @__PURE__ */
|
|
42717
|
+
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: [
|
|
42718
|
+
score !== void 0 && /* @__PURE__ */ jsx173("div", { className: "flex justify-center items-center mb-2", children: /* @__PURE__ */ jsx173(
|
|
42392
42719
|
"span",
|
|
42393
42720
|
{
|
|
42394
42721
|
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
42722
|
children: isValidationComplete ? sentimentScoreRank.rank : "Unranked"
|
|
42396
42723
|
}
|
|
42397
42724
|
) }),
|
|
42398
|
-
/* @__PURE__ */
|
|
42399
|
-
!showMinialView && /* @__PURE__ */
|
|
42725
|
+
/* @__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" }) }) }),
|
|
42726
|
+
!showMinialView && /* @__PURE__ */ jsx173("p", { className: "text-gray600 dark:text-gray500 text-center", children: "Match Score" })
|
|
42400
42727
|
] }) });
|
|
42401
42728
|
}
|
|
42402
42729
|
function BrandMentionPerformance({ creator }) {
|
|
@@ -42411,14 +42738,14 @@ function BrandMentionPerformance({ creator }) {
|
|
|
42411
42738
|
{ title: "Effectiveness", subtitle: "compared to all posts", value: `${insights?.effectivenessPercent || 0} %` },
|
|
42412
42739
|
{ title: "Saturation Rate", subtitle: "on brand mention", value: `${insights?.saturationRate || 0} %` }
|
|
42413
42740
|
];
|
|
42414
|
-
return /* @__PURE__ */
|
|
42415
|
-
/* @__PURE__ */
|
|
42416
|
-
/* @__PURE__ */
|
|
42417
|
-
/* @__PURE__ */
|
|
42418
|
-
/* @__PURE__ */
|
|
42419
|
-
/* @__PURE__ */
|
|
42741
|
+
return /* @__PURE__ */ jsxs133("div", { children: [
|
|
42742
|
+
/* @__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" }) }),
|
|
42743
|
+
/* @__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: [
|
|
42744
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-1", children: [
|
|
42745
|
+
/* @__PURE__ */ jsx173("h5", { children: item.title }),
|
|
42746
|
+
/* @__PURE__ */ jsx173("p", { className: "text-xs", children: item.subtitle })
|
|
42420
42747
|
] }),
|
|
42421
|
-
/* @__PURE__ */
|
|
42748
|
+
/* @__PURE__ */ jsx173("p", { className: "text-purpleText text-lg", children: item.value })
|
|
42422
42749
|
] }, item.title)) })
|
|
42423
42750
|
] });
|
|
42424
42751
|
}
|
|
@@ -42426,19 +42753,19 @@ function CreatorFitSummary({ creator, showBrandPerformance }) {
|
|
|
42426
42753
|
const hasDeepAnalysis = creator?.sentiment?.deepAnalysis?.deepAnalysis;
|
|
42427
42754
|
const title = hasDeepAnalysis ? "CREATOR DEEP ANALYSIS" : "CREATOR FIT SUMMARY";
|
|
42428
42755
|
const content = hasDeepAnalysis ? creator.sentiment.deepAnalysis.deepAnalysis : creator?.sentiment?.aiReasoning || "No data available.";
|
|
42429
|
-
return /* @__PURE__ */
|
|
42430
|
-
/* @__PURE__ */
|
|
42431
|
-
/* @__PURE__ */
|
|
42756
|
+
return /* @__PURE__ */ jsxs133("div", { className: showBrandPerformance ? "col-span-1" : "col-span-2", children: [
|
|
42757
|
+
/* @__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 }) }),
|
|
42758
|
+
/* @__PURE__ */ jsx173("div", { className: "max-h-[140px] overflow-y-auto slim-scrollbar", children: /* @__PURE__ */ jsx173("p", { className: "text-gray700 text-sm", children: content }) })
|
|
42432
42759
|
] });
|
|
42433
42760
|
}
|
|
42434
42761
|
function ProfileSection({ creator, isValidationComplete }) {
|
|
42435
42762
|
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
42763
|
const iso2 = normalizeToIso2(creator.country);
|
|
42437
42764
|
const meta = codeToMeta[iso2];
|
|
42438
|
-
return /* @__PURE__ */
|
|
42439
|
-
/* @__PURE__ */
|
|
42440
|
-
/* @__PURE__ */
|
|
42441
|
-
/* @__PURE__ */
|
|
42765
|
+
return /* @__PURE__ */ jsxs133("div", { className: "flex items-start gap-1 md:gap-6", children: [
|
|
42766
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col items-center gap-6", children: [
|
|
42767
|
+
/* @__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: [
|
|
42768
|
+
/* @__PURE__ */ jsx173(
|
|
42442
42769
|
"img",
|
|
42443
42770
|
{
|
|
42444
42771
|
src: creator.profile_pic,
|
|
@@ -42446,24 +42773,24 @@ function ProfileSection({ creator, isValidationComplete }) {
|
|
|
42446
42773
|
className: "object-cover w-[5rem] h-[5rem] rounded-[15px]"
|
|
42447
42774
|
}
|
|
42448
42775
|
),
|
|
42449
|
-
creator?.profile?.isVerified && /* @__PURE__ */
|
|
42776
|
+
creator?.profile?.isVerified && /* @__PURE__ */ jsx173(
|
|
42450
42777
|
BadgeCheck,
|
|
42451
42778
|
{
|
|
42452
42779
|
size: 35,
|
|
42453
42780
|
className: "absolute -top-2 -right-2 text-blue-500 drop-shadow-sm fill-blue-300"
|
|
42454
42781
|
}
|
|
42455
42782
|
)
|
|
42456
|
-
] }) : /* @__PURE__ */
|
|
42457
|
-
/* @__PURE__ */
|
|
42783
|
+
] }) : /* @__PURE__ */ jsx173("span", { className: "text-2xl text-primary", children: creator.name?.charAt(0) || "?" }) }),
|
|
42784
|
+
/* @__PURE__ */ jsx173("div", { className: "block sm:hidden", children: /* @__PURE__ */ jsx173(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete, showMinialView: true }) })
|
|
42458
42785
|
] }),
|
|
42459
|
-
/* @__PURE__ */
|
|
42460
|
-
/* @__PURE__ */
|
|
42461
|
-
username && /* @__PURE__ */
|
|
42462
|
-
/* @__PURE__ */
|
|
42463
|
-
/* @__PURE__ */
|
|
42464
|
-
/* @__PURE__ */
|
|
42786
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-3 truncate", children: [
|
|
42787
|
+
/* @__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) }) }),
|
|
42788
|
+
username && /* @__PURE__ */ jsx173("div", { className: "text-xs text-gray700", children: username }),
|
|
42789
|
+
/* @__PURE__ */ jsxs133("div", { className: "text-sm text-gray700 flex items-center gap-2", children: [
|
|
42790
|
+
/* @__PURE__ */ jsx173("span", { className: "text-base", children: meta?.flag }),
|
|
42791
|
+
/* @__PURE__ */ jsx173("span", { children: meta?.name || creator.country || "Unknown" })
|
|
42465
42792
|
] }),
|
|
42466
|
-
/* @__PURE__ */
|
|
42793
|
+
/* @__PURE__ */ jsx173("div", { className: "text-xs text-gray700 text-wrap", children: truncateName2(creator.description, 100) })
|
|
42467
42794
|
] })
|
|
42468
42795
|
] });
|
|
42469
42796
|
}
|
|
@@ -42471,7 +42798,7 @@ function CreatorCardExpandedSection({
|
|
|
42471
42798
|
creator
|
|
42472
42799
|
}) {
|
|
42473
42800
|
const hasBrandBreakdown = creator?.brandCollaborations?.insights?.brandBreakdown && creator?.sentiment?.deepAnalysis;
|
|
42474
|
-
return /* @__PURE__ */
|
|
42801
|
+
return /* @__PURE__ */ jsxs133(
|
|
42475
42802
|
motion5.div,
|
|
42476
42803
|
{
|
|
42477
42804
|
initial: { y: 20, opacity: 0 },
|
|
@@ -42479,21 +42806,21 @@ function CreatorCardExpandedSection({
|
|
|
42479
42806
|
transition: { duration: 0.3, delay: 0.1 },
|
|
42480
42807
|
className: "md:mt-6 space-y-5",
|
|
42481
42808
|
children: [
|
|
42482
|
-
/* @__PURE__ */
|
|
42483
|
-
/* @__PURE__ */
|
|
42809
|
+
/* @__PURE__ */ jsxs133("div", { className: "md:grid md:grid-cols-[1.3fr_1fr_2fr_120px] gap-8 py-4 pr-7", children: [
|
|
42810
|
+
/* @__PURE__ */ jsx173("div", { className: "col-span-4 sm:col-span-1", children: hasBrandBreakdown ? /* @__PURE__ */ jsx173(
|
|
42484
42811
|
BrandCollaborationsList,
|
|
42485
42812
|
{
|
|
42486
42813
|
brandBreakdown: creator?.brandCollaborations
|
|
42487
42814
|
}
|
|
42488
|
-
) : /* @__PURE__ */
|
|
42489
|
-
/* @__PURE__ */
|
|
42815
|
+
) : /* @__PURE__ */ jsx173("div", { className: "hidden sm:block" }) }),
|
|
42816
|
+
/* @__PURE__ */ jsx173("div", { className: "col-span-4 sm:col-span-3", children: creator?.audienceDemographics ? /* @__PURE__ */ jsx173(
|
|
42490
42817
|
EngagedAudienceDemographics,
|
|
42491
42818
|
{
|
|
42492
42819
|
audienceDemographics: creator.audienceDemographics
|
|
42493
42820
|
}
|
|
42494
42821
|
) : null })
|
|
42495
42822
|
] }),
|
|
42496
|
-
/* @__PURE__ */
|
|
42823
|
+
/* @__PURE__ */ jsx173(
|
|
42497
42824
|
PlatformPostsSection,
|
|
42498
42825
|
{
|
|
42499
42826
|
platformMetrics: creator.platformMetrics,
|
|
@@ -42508,14 +42835,14 @@ function CreatorCard({
|
|
|
42508
42835
|
creator,
|
|
42509
42836
|
isValidationComplete
|
|
42510
42837
|
}) {
|
|
42511
|
-
const [detailsExpanded, setDetailsExpanded] =
|
|
42838
|
+
const [detailsExpanded, setDetailsExpanded] = useState18(false);
|
|
42512
42839
|
const hasValidBrandMention = (() => {
|
|
42513
42840
|
const insights = creator?.brandCollaborations?.insights;
|
|
42514
42841
|
if (!insights) return false;
|
|
42515
42842
|
const isValid2 = (val) => val !== null && val !== void 0 && val !== 0 && val !== "0" && val !== "" && !Number.isNaN(val);
|
|
42516
42843
|
return isValid2(insights.averageBrandEngagementRate) || isValid2(insights.effectivenessPercent) || isValid2(insights.saturationRate);
|
|
42517
42844
|
})();
|
|
42518
|
-
return /* @__PURE__ */
|
|
42845
|
+
return /* @__PURE__ */ jsxs133(
|
|
42519
42846
|
motion5.div,
|
|
42520
42847
|
{
|
|
42521
42848
|
layout: true,
|
|
@@ -42526,20 +42853,20 @@ function CreatorCard({
|
|
|
42526
42853
|
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
42854
|
onClick: () => setDetailsExpanded((prev) => !prev),
|
|
42528
42855
|
children: [
|
|
42529
|
-
/* @__PURE__ */
|
|
42530
|
-
/* @__PURE__ */
|
|
42531
|
-
hasValidBrandMention && /* @__PURE__ */
|
|
42532
|
-
/* @__PURE__ */
|
|
42533
|
-
/* @__PURE__ */
|
|
42856
|
+
/* @__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: [
|
|
42857
|
+
/* @__PURE__ */ jsx173(ProfileSection, { creator, isValidationComplete }),
|
|
42858
|
+
hasValidBrandMention && /* @__PURE__ */ jsx173(BrandMentionPerformance, { creator }),
|
|
42859
|
+
/* @__PURE__ */ jsx173(CreatorFitSummary, { creator, showBrandPerformance: hasValidBrandMention }),
|
|
42860
|
+
/* @__PURE__ */ jsx173("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx173(SentimentScoreRank, { score: creator?.sentiment?.matchScore || -1, isValidationComplete }) })
|
|
42534
42861
|
] }),
|
|
42535
|
-
/* @__PURE__ */
|
|
42862
|
+
/* @__PURE__ */ jsx173(AnimatePresence4, { children: detailsExpanded && /* @__PURE__ */ jsx173(
|
|
42536
42863
|
motion5.div,
|
|
42537
42864
|
{
|
|
42538
42865
|
initial: { height: 0, opacity: 0 },
|
|
42539
42866
|
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
42867
|
exit: { height: 0, opacity: 0, transition: { height: { duration: 0.3, ease: [0.04, 0.62, 0.23, 0.98] }, opacity: { duration: 0.2 } } },
|
|
42541
42868
|
className: "overflow-hidden mt-4",
|
|
42542
|
-
children: /* @__PURE__ */
|
|
42869
|
+
children: /* @__PURE__ */ jsx173(CreatorCardExpandedSection, { creator })
|
|
42543
42870
|
}
|
|
42544
42871
|
) })
|
|
42545
42872
|
]
|
|
@@ -42550,19 +42877,19 @@ function CreatorDisplay({
|
|
|
42550
42877
|
creators,
|
|
42551
42878
|
isValidationComplete
|
|
42552
42879
|
}) {
|
|
42553
|
-
const [viewMode, setViewMode] =
|
|
42554
|
-
return /* @__PURE__ */
|
|
42555
|
-
/* @__PURE__ */
|
|
42556
|
-
/* @__PURE__ */
|
|
42880
|
+
const [viewMode, setViewMode] = useState18("list");
|
|
42881
|
+
return /* @__PURE__ */ jsxs133("div", { className: "px-4", children: [
|
|
42882
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex justify-end items-center my-3 gap-1", children: [
|
|
42883
|
+
/* @__PURE__ */ jsxs133("span", { className: "text-xs text-gray600 mr-2", children: [
|
|
42557
42884
|
creators.length,
|
|
42558
42885
|
" creators"
|
|
42559
42886
|
] }),
|
|
42560
|
-
/* @__PURE__ */
|
|
42887
|
+
/* @__PURE__ */ jsx173(
|
|
42561
42888
|
"button",
|
|
42562
42889
|
{
|
|
42563
42890
|
className: `h-7 w-7 flex items-center justify-center rounded ${viewMode === "list" ? "bg-gray200" : ""}`,
|
|
42564
42891
|
onClick: () => setViewMode("list"),
|
|
42565
|
-
children: /* @__PURE__ */
|
|
42892
|
+
children: /* @__PURE__ */ jsx173(
|
|
42566
42893
|
AlignJustify,
|
|
42567
42894
|
{
|
|
42568
42895
|
className: `h-5 w-5 ${viewMode === "list" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -42570,12 +42897,12 @@ function CreatorDisplay({
|
|
|
42570
42897
|
)
|
|
42571
42898
|
}
|
|
42572
42899
|
),
|
|
42573
|
-
/* @__PURE__ */
|
|
42900
|
+
/* @__PURE__ */ jsx173(
|
|
42574
42901
|
"button",
|
|
42575
42902
|
{
|
|
42576
42903
|
className: `h-7 w-7 flex items-center justify-center rounded ${viewMode === "grid" ? "bg-gray200" : ""}`,
|
|
42577
42904
|
onClick: () => setViewMode("grid"),
|
|
42578
|
-
children: /* @__PURE__ */
|
|
42905
|
+
children: /* @__PURE__ */ jsx173(
|
|
42579
42906
|
LayoutGrid,
|
|
42580
42907
|
{
|
|
42581
42908
|
className: `h-5 w-5 ${viewMode === "grid" ? "text-gray900 dark:text-white" : "text-gray500"}`
|
|
@@ -42584,43 +42911,43 @@ function CreatorDisplay({
|
|
|
42584
42911
|
}
|
|
42585
42912
|
)
|
|
42586
42913
|
] }),
|
|
42587
|
-
creators.length > 0 ? viewMode === "list" ? /* @__PURE__ */
|
|
42588
|
-
/* @__PURE__ */
|
|
42589
|
-
/* @__PURE__ */
|
|
42590
|
-
/* @__PURE__ */
|
|
42914
|
+
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: [
|
|
42915
|
+
/* @__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" }) }),
|
|
42916
|
+
/* @__PURE__ */ jsx173("h3", { className: "text-base font-medium text-gray900", children: "No creators found" }),
|
|
42917
|
+
/* @__PURE__ */ jsx173("p", { className: "mt-1 text-sm text-gray600", children: "Try adjusting your search criteria" })
|
|
42591
42918
|
] })
|
|
42592
42919
|
] });
|
|
42593
42920
|
}
|
|
42594
42921
|
function CreatorCardSkeleton() {
|
|
42595
|
-
return /* @__PURE__ */
|
|
42596
|
-
/* @__PURE__ */
|
|
42597
|
-
/* @__PURE__ */
|
|
42598
|
-
/* @__PURE__ */
|
|
42599
|
-
/* @__PURE__ */
|
|
42600
|
-
/* @__PURE__ */
|
|
42601
|
-
/* @__PURE__ */
|
|
42602
|
-
/* @__PURE__ */
|
|
42922
|
+
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: [
|
|
42923
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex items-start gap-1 md:gap-6", children: [
|
|
42924
|
+
/* @__PURE__ */ jsx173("div", { className: "w-[5rem] h-[5rem] rounded-[10px] bg-gray200 animate-pulse" }),
|
|
42925
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex flex-col gap-3", children: [
|
|
42926
|
+
/* @__PURE__ */ jsx173("div", { className: "h-5 w-36 rounded bg-gray200 animate-pulse" }),
|
|
42927
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-24 rounded bg-gray200 animate-pulse" }),
|
|
42928
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-32 rounded bg-gray200 animate-pulse" }),
|
|
42929
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-44 rounded bg-gray200 animate-pulse" })
|
|
42603
42930
|
] })
|
|
42604
42931
|
] }),
|
|
42605
|
-
/* @__PURE__ */
|
|
42606
|
-
/* @__PURE__ */
|
|
42607
|
-
/* @__PURE__ */
|
|
42608
|
-
/* @__PURE__ */
|
|
42932
|
+
/* @__PURE__ */ jsxs133("div", { className: "space-y-3 w-full", children: [
|
|
42933
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-32 rounded bg-gray200 animate-pulse" }),
|
|
42934
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-28 rounded bg-gray200 animate-pulse" }),
|
|
42935
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-24 rounded bg-gray200 animate-pulse" })
|
|
42609
42936
|
] }),
|
|
42610
|
-
/* @__PURE__ */
|
|
42611
|
-
/* @__PURE__ */
|
|
42612
|
-
/* @__PURE__ */
|
|
42613
|
-
/* @__PURE__ */
|
|
42614
|
-
/* @__PURE__ */
|
|
42937
|
+
/* @__PURE__ */ jsxs133("div", { className: "space-y-3 w-full", children: [
|
|
42938
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-40 rounded bg-gray200 animate-pulse" }),
|
|
42939
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-full rounded bg-gray200 animate-pulse" }),
|
|
42940
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-[90%] rounded bg-gray200 animate-pulse" }),
|
|
42941
|
+
/* @__PURE__ */ jsx173("div", { className: "h-3 w-[75%] rounded bg-gray200 animate-pulse" })
|
|
42615
42942
|
] }),
|
|
42616
|
-
/* @__PURE__ */
|
|
42617
|
-
/* @__PURE__ */
|
|
42618
|
-
/* @__PURE__ */
|
|
42943
|
+
/* @__PURE__ */ jsxs133("div", { className: "hidden md:flex flex-col items-center justify-center gap-3", children: [
|
|
42944
|
+
/* @__PURE__ */ jsx173("div", { className: "h-6 w-16 rounded bg-gray200 animate-pulse" }),
|
|
42945
|
+
/* @__PURE__ */ jsx173("div", { className: "h-4 w-20 rounded bg-gray200 animate-pulse" })
|
|
42619
42946
|
] })
|
|
42620
42947
|
] }) });
|
|
42621
42948
|
}
|
|
42622
42949
|
function CreatorDisplaySkeleton() {
|
|
42623
|
-
return /* @__PURE__ */
|
|
42950
|
+
return /* @__PURE__ */ jsx173("div", { className: "px-4 py-4 space-y-4", children: Array.from({ length: 3 }).map((_, idx) => /* @__PURE__ */ jsx173(CreatorCardSkeleton, {}, idx)) });
|
|
42624
42951
|
}
|
|
42625
42952
|
function CreatorExpandedPanel({
|
|
42626
42953
|
isOpen,
|
|
@@ -42631,10 +42958,10 @@ function CreatorExpandedPanel({
|
|
|
42631
42958
|
searchSpec,
|
|
42632
42959
|
fetchCreatorDetails
|
|
42633
42960
|
}) {
|
|
42634
|
-
const [creators, setCreators] =
|
|
42635
|
-
const [loading, setLoading] =
|
|
42961
|
+
const [creators, setCreators] = useState18([]);
|
|
42962
|
+
const [loading, setLoading] = useState18(false);
|
|
42636
42963
|
const fetcher = fetchCreatorDetails ?? defaultFetchCreatorDetails;
|
|
42637
|
-
const loadCreators =
|
|
42964
|
+
const loadCreators = useCallback6(async () => {
|
|
42638
42965
|
if (!creatorIds.length) return;
|
|
42639
42966
|
setLoading(true);
|
|
42640
42967
|
try {
|
|
@@ -42646,15 +42973,15 @@ function CreatorExpandedPanel({
|
|
|
42646
42973
|
setLoading(false);
|
|
42647
42974
|
}
|
|
42648
42975
|
}, [creatorIds, sessionId, version, fetcher]);
|
|
42649
|
-
|
|
42976
|
+
useEffect11(() => {
|
|
42650
42977
|
if (isOpen && creatorIds.length > 0) {
|
|
42651
42978
|
loadCreators();
|
|
42652
42979
|
}
|
|
42653
42980
|
}, [isOpen, loadCreators]);
|
|
42654
42981
|
if (typeof window === "undefined") return null;
|
|
42655
42982
|
return ReactDOM2.createPortal(
|
|
42656
|
-
/* @__PURE__ */
|
|
42657
|
-
/* @__PURE__ */
|
|
42983
|
+
/* @__PURE__ */ jsx173(AnimatePresence4, { mode: "sync", children: isOpen && /* @__PURE__ */ jsxs133(Fragment10, { children: [
|
|
42984
|
+
/* @__PURE__ */ jsx173(
|
|
42658
42985
|
motion5.div,
|
|
42659
42986
|
{
|
|
42660
42987
|
initial: { opacity: 0 },
|
|
@@ -42669,7 +42996,7 @@ function CreatorExpandedPanel({
|
|
|
42669
42996
|
},
|
|
42670
42997
|
"overlay"
|
|
42671
42998
|
),
|
|
42672
|
-
/* @__PURE__ */
|
|
42999
|
+
/* @__PURE__ */ jsx173(
|
|
42673
43000
|
motion5.div,
|
|
42674
43001
|
{
|
|
42675
43002
|
initial: { x: "100%" },
|
|
@@ -42677,19 +43004,19 @@ function CreatorExpandedPanel({
|
|
|
42677
43004
|
exit: { x: "100%" },
|
|
42678
43005
|
transition: { type: "spring", damping: 30, stiffness: 400 },
|
|
42679
43006
|
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__ */
|
|
43007
|
+
children: /* @__PURE__ */ jsxs133("div", { className: "py-4 font-noto", children: [
|
|
43008
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex justify-between items-center w-full mb-4 pl-2", children: [
|
|
43009
|
+
/* @__PURE__ */ jsx173("button", { onClick: onClose, className: "p-2 rounded-full transition-colors", children: /* @__PURE__ */ jsx173(X, { className: "w-5 h-5" }) }),
|
|
43010
|
+
/* @__PURE__ */ jsxs133("div", { className: "flex-1 flex flex-col w-[80%]", children: [
|
|
43011
|
+
/* @__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: [
|
|
43012
|
+
/* @__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" }) }),
|
|
43013
|
+
/* @__PURE__ */ jsx173("h2", { className: "text-xl font-bold mb-1", children: "Creators Search Results" })
|
|
42687
43014
|
] }) }),
|
|
42688
|
-
searchSpec && /* @__PURE__ */
|
|
43015
|
+
searchSpec && /* @__PURE__ */ jsx173(SearchSpecDisplay, { spec: searchSpec })
|
|
42689
43016
|
] })
|
|
42690
43017
|
] }),
|
|
42691
|
-
/* @__PURE__ */
|
|
42692
|
-
loading ? /* @__PURE__ */
|
|
43018
|
+
/* @__PURE__ */ jsx173("div", { className: "border-b border-gray300" }),
|
|
43019
|
+
loading ? /* @__PURE__ */ jsx173(CreatorDisplaySkeleton, {}) : /* @__PURE__ */ jsx173(CreatorDisplay, { creators, isValidationComplete: version !== void 0 })
|
|
42693
43020
|
] })
|
|
42694
43021
|
},
|
|
42695
43022
|
"creator-panel"
|
|
@@ -42700,7 +43027,7 @@ function CreatorExpandedPanel({
|
|
|
42700
43027
|
}
|
|
42701
43028
|
|
|
42702
43029
|
// src/molecules/creator-discovery/CreatorWidget/useCreatorWidgetPolling.ts
|
|
42703
|
-
import { useState as
|
|
43030
|
+
import { useState as useState19, useEffect as useEffect12, useCallback as useCallback7, useMemo as useMemo10, useRef as useRef8 } from "react";
|
|
42704
43031
|
var DEFAULT_POLLING_CONFIG = {
|
|
42705
43032
|
pollInterval: 5e3,
|
|
42706
43033
|
maxDuration: 15 * 60 * 1e3,
|
|
@@ -42721,18 +43048,18 @@ function useCreatorWidgetPolling({
|
|
|
42721
43048
|
() => ({ ...DEFAULT_POLLING_CONFIG, ...pollingConfig }),
|
|
42722
43049
|
[pollingConfig]
|
|
42723
43050
|
);
|
|
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 =
|
|
43051
|
+
const [versionData, setVersionData] = useState19(null);
|
|
43052
|
+
const [totalVersions, setTotalVersions] = useState19(0);
|
|
43053
|
+
const [selectedVersion, setSelectedVersion] = useState19();
|
|
43054
|
+
const [isLoadingVersion, setIsLoadingVersion] = useState19(false);
|
|
43055
|
+
const [isValidationComplete, setIsValidationComplete] = useState19(false);
|
|
43056
|
+
const [versionStatus, setVersionStatus] = useState19("checking");
|
|
43057
|
+
const [statusDetails, setStatusDetails] = useState19();
|
|
43058
|
+
const [timeDisplay, setTimeDisplay] = useState19("");
|
|
43059
|
+
const [loadingStatus, setLoadingStatus] = useState19(true);
|
|
43060
|
+
const remainingTimeRef = useRef8(0);
|
|
42734
43061
|
const requestedVersion = selectedVersion ?? currentVersion ?? versionData?.currentVersion;
|
|
42735
|
-
const fetchVersionData =
|
|
43062
|
+
const fetchVersionData = useCallback7(async () => {
|
|
42736
43063
|
if (!sessionId) return;
|
|
42737
43064
|
if (!versionData) setIsLoadingVersion(true);
|
|
42738
43065
|
try {
|
|
@@ -42753,17 +43080,17 @@ function useCreatorWidgetPolling({
|
|
|
42753
43080
|
setIsLoadingVersion(false);
|
|
42754
43081
|
}
|
|
42755
43082
|
}, [sessionId, requestedVersion, isValidationComplete, fetchVersions, versionData]);
|
|
42756
|
-
|
|
43083
|
+
useEffect12(() => {
|
|
42757
43084
|
fetchVersionData();
|
|
42758
43085
|
}, [sessionId, requestedVersion, isValidationComplete]);
|
|
42759
|
-
|
|
43086
|
+
useEffect12(() => {
|
|
42760
43087
|
if (totalVersions > 0 || !sessionId) return;
|
|
42761
43088
|
const interval = setInterval(() => {
|
|
42762
43089
|
if (totalVersions === 0) fetchVersionData();
|
|
42763
43090
|
}, config.pollInterval);
|
|
42764
43091
|
return () => clearInterval(interval);
|
|
42765
43092
|
}, [totalVersions, sessionId, fetchVersionData, config.pollInterval]);
|
|
42766
|
-
|
|
43093
|
+
useEffect12(() => {
|
|
42767
43094
|
if (!selectedVersion && !requestedVersion) return;
|
|
42768
43095
|
const activeVersion = selectedVersion ?? requestedVersion;
|
|
42769
43096
|
let isMounted = true;
|
|
@@ -42873,7 +43200,7 @@ function useCreatorWidgetPolling({
|
|
|
42873
43200
|
}
|
|
42874
43201
|
|
|
42875
43202
|
// src/molecules/creator-discovery/CreatorWidget/CreatorWidget.tsx
|
|
42876
|
-
import { jsx as
|
|
43203
|
+
import { jsx as jsx174, jsxs as jsxs134 } from "react/jsx-runtime";
|
|
42877
43204
|
function CreatorWidgetInner({
|
|
42878
43205
|
sessionId,
|
|
42879
43206
|
currentVersion,
|
|
@@ -42886,7 +43213,7 @@ function CreatorWidgetInner({
|
|
|
42886
43213
|
onAction,
|
|
42887
43214
|
className
|
|
42888
43215
|
}) {
|
|
42889
|
-
const [isExpanded, setIsExpanded] =
|
|
43216
|
+
const [isExpanded, setIsExpanded] = useState20(false);
|
|
42890
43217
|
const {
|
|
42891
43218
|
versionNumbers,
|
|
42892
43219
|
selectedVersion,
|
|
@@ -42907,11 +43234,11 @@ function CreatorWidgetInner({
|
|
|
42907
43234
|
pollingConfig,
|
|
42908
43235
|
onStatusChange
|
|
42909
43236
|
});
|
|
42910
|
-
const handleVersionSelect =
|
|
43237
|
+
const handleVersionSelect = useCallback8(
|
|
42911
43238
|
(version) => setSelectedVersion(version),
|
|
42912
43239
|
[setSelectedVersion]
|
|
42913
43240
|
);
|
|
42914
|
-
const handleViewCreators =
|
|
43241
|
+
const handleViewCreators = useCallback8(() => {
|
|
42915
43242
|
setIsExpanded(true);
|
|
42916
43243
|
onAction?.({
|
|
42917
43244
|
type: "view-creators",
|
|
@@ -42921,8 +43248,8 @@ function CreatorWidgetInner({
|
|
|
42921
43248
|
searchSpec
|
|
42922
43249
|
});
|
|
42923
43250
|
}, [onAction, sessionId, creatorIds, selectedVersion, searchSpec]);
|
|
42924
|
-
return /* @__PURE__ */
|
|
42925
|
-
/* @__PURE__ */
|
|
43251
|
+
return /* @__PURE__ */ jsxs134("div", { className, children: [
|
|
43252
|
+
/* @__PURE__ */ jsx174(
|
|
42926
43253
|
CreatorCompactView,
|
|
42927
43254
|
{
|
|
42928
43255
|
versions: versionNumbers,
|
|
@@ -42938,7 +43265,7 @@ function CreatorWidgetInner({
|
|
|
42938
43265
|
isLoading
|
|
42939
43266
|
}
|
|
42940
43267
|
),
|
|
42941
|
-
/* @__PURE__ */
|
|
43268
|
+
/* @__PURE__ */ jsx174(
|
|
42942
43269
|
CreatorExpandedPanel,
|
|
42943
43270
|
{
|
|
42944
43271
|
isOpen: isExpanded,
|
|
@@ -43246,7 +43573,7 @@ __export(ui_exports, {
|
|
|
43246
43573
|
// src/components/ui/button-group.tsx
|
|
43247
43574
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
43248
43575
|
import { cva as cva8 } from "class-variance-authority";
|
|
43249
|
-
import { jsx as
|
|
43576
|
+
import { jsx as jsx175 } from "react/jsx-runtime";
|
|
43250
43577
|
var buttonGroupVariants = cva8(
|
|
43251
43578
|
"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
43579
|
{
|
|
@@ -43266,7 +43593,7 @@ function ButtonGroup({
|
|
|
43266
43593
|
orientation,
|
|
43267
43594
|
...props
|
|
43268
43595
|
}) {
|
|
43269
|
-
return /* @__PURE__ */
|
|
43596
|
+
return /* @__PURE__ */ jsx175(
|
|
43270
43597
|
"div",
|
|
43271
43598
|
{
|
|
43272
43599
|
role: "group",
|
|
@@ -43283,7 +43610,7 @@ function ButtonGroupText({
|
|
|
43283
43610
|
...props
|
|
43284
43611
|
}) {
|
|
43285
43612
|
const Comp = asChild ? Slot4 : "div";
|
|
43286
|
-
return /* @__PURE__ */
|
|
43613
|
+
return /* @__PURE__ */ jsx175(
|
|
43287
43614
|
Comp,
|
|
43288
43615
|
{
|
|
43289
43616
|
className: cn(
|
|
@@ -43299,7 +43626,7 @@ function ButtonGroupSeparator({
|
|
|
43299
43626
|
orientation = "vertical",
|
|
43300
43627
|
...props
|
|
43301
43628
|
}) {
|
|
43302
|
-
return /* @__PURE__ */
|
|
43629
|
+
return /* @__PURE__ */ jsx175(
|
|
43303
43630
|
Separator2,
|
|
43304
43631
|
{
|
|
43305
43632
|
"data-slot": "button-group-separator",
|
|
@@ -43315,9 +43642,9 @@ function ButtonGroupSeparator({
|
|
|
43315
43642
|
|
|
43316
43643
|
// src/components/ui/empty.tsx
|
|
43317
43644
|
import { cva as cva9 } from "class-variance-authority";
|
|
43318
|
-
import { jsx as
|
|
43645
|
+
import { jsx as jsx176 } from "react/jsx-runtime";
|
|
43319
43646
|
function Empty({ className, ...props }) {
|
|
43320
|
-
return /* @__PURE__ */
|
|
43647
|
+
return /* @__PURE__ */ jsx176(
|
|
43321
43648
|
"div",
|
|
43322
43649
|
{
|
|
43323
43650
|
"data-slot": "empty",
|
|
@@ -43330,7 +43657,7 @@ function Empty({ className, ...props }) {
|
|
|
43330
43657
|
);
|
|
43331
43658
|
}
|
|
43332
43659
|
function EmptyHeader({ className, ...props }) {
|
|
43333
|
-
return /* @__PURE__ */
|
|
43660
|
+
return /* @__PURE__ */ jsx176(
|
|
43334
43661
|
"div",
|
|
43335
43662
|
{
|
|
43336
43663
|
"data-slot": "empty-header",
|
|
@@ -43361,7 +43688,7 @@ function EmptyMedia({
|
|
|
43361
43688
|
variant = "default",
|
|
43362
43689
|
...props
|
|
43363
43690
|
}) {
|
|
43364
|
-
return /* @__PURE__ */
|
|
43691
|
+
return /* @__PURE__ */ jsx176(
|
|
43365
43692
|
"div",
|
|
43366
43693
|
{
|
|
43367
43694
|
"data-slot": "empty-icon",
|
|
@@ -43372,7 +43699,7 @@ function EmptyMedia({
|
|
|
43372
43699
|
);
|
|
43373
43700
|
}
|
|
43374
43701
|
function EmptyTitle({ className, ...props }) {
|
|
43375
|
-
return /* @__PURE__ */
|
|
43702
|
+
return /* @__PURE__ */ jsx176(
|
|
43376
43703
|
"div",
|
|
43377
43704
|
{
|
|
43378
43705
|
"data-slot": "empty-title",
|
|
@@ -43382,7 +43709,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
43382
43709
|
);
|
|
43383
43710
|
}
|
|
43384
43711
|
function EmptyDescription({ className, ...props }) {
|
|
43385
|
-
return /* @__PURE__ */
|
|
43712
|
+
return /* @__PURE__ */ jsx176(
|
|
43386
43713
|
"div",
|
|
43387
43714
|
{
|
|
43388
43715
|
"data-slot": "empty-description",
|
|
@@ -43395,7 +43722,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
43395
43722
|
);
|
|
43396
43723
|
}
|
|
43397
43724
|
function EmptyContent({ className, ...props }) {
|
|
43398
|
-
return /* @__PURE__ */
|
|
43725
|
+
return /* @__PURE__ */ jsx176(
|
|
43399
43726
|
"div",
|
|
43400
43727
|
{
|
|
43401
43728
|
"data-slot": "empty-content",
|
|
@@ -43411,9 +43738,9 @@ function EmptyContent({ className, ...props }) {
|
|
|
43411
43738
|
// src/components/ui/field.tsx
|
|
43412
43739
|
import { useMemo as useMemo11 } from "react";
|
|
43413
43740
|
import { cva as cva10 } from "class-variance-authority";
|
|
43414
|
-
import { jsx as
|
|
43741
|
+
import { jsx as jsx177, jsxs as jsxs135 } from "react/jsx-runtime";
|
|
43415
43742
|
function FieldSet({ className, ...props }) {
|
|
43416
|
-
return /* @__PURE__ */
|
|
43743
|
+
return /* @__PURE__ */ jsx177(
|
|
43417
43744
|
"fieldset",
|
|
43418
43745
|
{
|
|
43419
43746
|
"data-slot": "field-set",
|
|
@@ -43431,7 +43758,7 @@ function FieldLegend({
|
|
|
43431
43758
|
variant = "legend",
|
|
43432
43759
|
...props
|
|
43433
43760
|
}) {
|
|
43434
|
-
return /* @__PURE__ */
|
|
43761
|
+
return /* @__PURE__ */ jsx177(
|
|
43435
43762
|
"legend",
|
|
43436
43763
|
{
|
|
43437
43764
|
"data-slot": "field-legend",
|
|
@@ -43447,7 +43774,7 @@ function FieldLegend({
|
|
|
43447
43774
|
);
|
|
43448
43775
|
}
|
|
43449
43776
|
function FieldGroup({ className, ...props }) {
|
|
43450
|
-
return /* @__PURE__ */
|
|
43777
|
+
return /* @__PURE__ */ jsx177(
|
|
43451
43778
|
"div",
|
|
43452
43779
|
{
|
|
43453
43780
|
"data-slot": "field-group",
|
|
@@ -43487,7 +43814,7 @@ function Field({
|
|
|
43487
43814
|
orientation = "vertical",
|
|
43488
43815
|
...props
|
|
43489
43816
|
}) {
|
|
43490
|
-
return /* @__PURE__ */
|
|
43817
|
+
return /* @__PURE__ */ jsx177(
|
|
43491
43818
|
"div",
|
|
43492
43819
|
{
|
|
43493
43820
|
role: "group",
|
|
@@ -43499,7 +43826,7 @@ function Field({
|
|
|
43499
43826
|
);
|
|
43500
43827
|
}
|
|
43501
43828
|
function FieldContent({ className, ...props }) {
|
|
43502
|
-
return /* @__PURE__ */
|
|
43829
|
+
return /* @__PURE__ */ jsx177(
|
|
43503
43830
|
"div",
|
|
43504
43831
|
{
|
|
43505
43832
|
"data-slot": "field-content",
|
|
@@ -43515,7 +43842,7 @@ function FieldLabel({
|
|
|
43515
43842
|
className,
|
|
43516
43843
|
...props
|
|
43517
43844
|
}) {
|
|
43518
|
-
return /* @__PURE__ */
|
|
43845
|
+
return /* @__PURE__ */ jsx177(
|
|
43519
43846
|
Label,
|
|
43520
43847
|
{
|
|
43521
43848
|
"data-slot": "field-label",
|
|
@@ -43530,7 +43857,7 @@ function FieldLabel({
|
|
|
43530
43857
|
);
|
|
43531
43858
|
}
|
|
43532
43859
|
function FieldTitle({ className, ...props }) {
|
|
43533
|
-
return /* @__PURE__ */
|
|
43860
|
+
return /* @__PURE__ */ jsx177(
|
|
43534
43861
|
"div",
|
|
43535
43862
|
{
|
|
43536
43863
|
"data-slot": "field-label",
|
|
@@ -43543,7 +43870,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
43543
43870
|
);
|
|
43544
43871
|
}
|
|
43545
43872
|
function FieldDescription({ className, ...props }) {
|
|
43546
|
-
return /* @__PURE__ */
|
|
43873
|
+
return /* @__PURE__ */ jsx177(
|
|
43547
43874
|
"p",
|
|
43548
43875
|
{
|
|
43549
43876
|
"data-slot": "field-description",
|
|
@@ -43562,7 +43889,7 @@ function FieldSeparator({
|
|
|
43562
43889
|
className,
|
|
43563
43890
|
...props
|
|
43564
43891
|
}) {
|
|
43565
|
-
return /* @__PURE__ */
|
|
43892
|
+
return /* @__PURE__ */ jsxs135(
|
|
43566
43893
|
"div",
|
|
43567
43894
|
{
|
|
43568
43895
|
"data-slot": "field-separator",
|
|
@@ -43573,8 +43900,8 @@ function FieldSeparator({
|
|
|
43573
43900
|
),
|
|
43574
43901
|
...props,
|
|
43575
43902
|
children: [
|
|
43576
|
-
/* @__PURE__ */
|
|
43577
|
-
children && /* @__PURE__ */
|
|
43903
|
+
/* @__PURE__ */ jsx177(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
43904
|
+
children && /* @__PURE__ */ jsx177(
|
|
43578
43905
|
"span",
|
|
43579
43906
|
{
|
|
43580
43907
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -43602,14 +43929,14 @@ function FieldError({
|
|
|
43602
43929
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
43603
43930
|
return errors[0].message;
|
|
43604
43931
|
}
|
|
43605
|
-
return /* @__PURE__ */
|
|
43606
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
43932
|
+
return /* @__PURE__ */ jsx177("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
43933
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx177("li", { children: error.message }, index)
|
|
43607
43934
|
) });
|
|
43608
43935
|
}, [children, errors]);
|
|
43609
43936
|
if (!content) {
|
|
43610
43937
|
return null;
|
|
43611
43938
|
}
|
|
43612
|
-
return /* @__PURE__ */
|
|
43939
|
+
return /* @__PURE__ */ jsx177(
|
|
43613
43940
|
"div",
|
|
43614
43941
|
{
|
|
43615
43942
|
role: "alert",
|
|
@@ -43623,9 +43950,9 @@ function FieldError({
|
|
|
43623
43950
|
|
|
43624
43951
|
// src/components/ui/input-group.tsx
|
|
43625
43952
|
import { cva as cva11 } from "class-variance-authority";
|
|
43626
|
-
import { jsx as
|
|
43953
|
+
import { jsx as jsx178 } from "react/jsx-runtime";
|
|
43627
43954
|
function InputGroup({ className, ...props }) {
|
|
43628
|
-
return /* @__PURE__ */
|
|
43955
|
+
return /* @__PURE__ */ jsx178(
|
|
43629
43956
|
"div",
|
|
43630
43957
|
{
|
|
43631
43958
|
"data-slot": "input-group",
|
|
@@ -43669,7 +43996,7 @@ function InputGroupAddon({
|
|
|
43669
43996
|
align = "inline-start",
|
|
43670
43997
|
...props
|
|
43671
43998
|
}) {
|
|
43672
|
-
return /* @__PURE__ */
|
|
43999
|
+
return /* @__PURE__ */ jsx178(
|
|
43673
44000
|
"div",
|
|
43674
44001
|
{
|
|
43675
44002
|
role: "group",
|
|
@@ -43709,7 +44036,7 @@ function InputGroupButton({
|
|
|
43709
44036
|
size = "xs",
|
|
43710
44037
|
...props
|
|
43711
44038
|
}) {
|
|
43712
|
-
return /* @__PURE__ */
|
|
44039
|
+
return /* @__PURE__ */ jsx178(
|
|
43713
44040
|
Button,
|
|
43714
44041
|
{
|
|
43715
44042
|
type,
|
|
@@ -43721,7 +44048,7 @@ function InputGroupButton({
|
|
|
43721
44048
|
);
|
|
43722
44049
|
}
|
|
43723
44050
|
function InputGroupText({ className, ...props }) {
|
|
43724
|
-
return /* @__PURE__ */
|
|
44051
|
+
return /* @__PURE__ */ jsx178(
|
|
43725
44052
|
"span",
|
|
43726
44053
|
{
|
|
43727
44054
|
className: cn(
|
|
@@ -43736,7 +44063,7 @@ function InputGroupInput({
|
|
|
43736
44063
|
className,
|
|
43737
44064
|
...props
|
|
43738
44065
|
}) {
|
|
43739
|
-
return /* @__PURE__ */
|
|
44066
|
+
return /* @__PURE__ */ jsx178(
|
|
43740
44067
|
Input,
|
|
43741
44068
|
{
|
|
43742
44069
|
"data-slot": "input-group-control",
|
|
@@ -43752,7 +44079,7 @@ function InputGroupTextarea({
|
|
|
43752
44079
|
className,
|
|
43753
44080
|
...props
|
|
43754
44081
|
}) {
|
|
43755
|
-
return /* @__PURE__ */
|
|
44082
|
+
return /* @__PURE__ */ jsx178(
|
|
43756
44083
|
Textarea,
|
|
43757
44084
|
{
|
|
43758
44085
|
"data-slot": "input-group-control",
|
|
@@ -43768,9 +44095,9 @@ function InputGroupTextarea({
|
|
|
43768
44095
|
// src/components/ui/item.tsx
|
|
43769
44096
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
43770
44097
|
import { cva as cva12 } from "class-variance-authority";
|
|
43771
|
-
import { jsx as
|
|
44098
|
+
import { jsx as jsx179 } from "react/jsx-runtime";
|
|
43772
44099
|
function ItemGroup({ className, ...props }) {
|
|
43773
|
-
return /* @__PURE__ */
|
|
44100
|
+
return /* @__PURE__ */ jsx179(
|
|
43774
44101
|
"div",
|
|
43775
44102
|
{
|
|
43776
44103
|
role: "list",
|
|
@@ -43784,7 +44111,7 @@ function ItemSeparator({
|
|
|
43784
44111
|
className,
|
|
43785
44112
|
...props
|
|
43786
44113
|
}) {
|
|
43787
|
-
return /* @__PURE__ */
|
|
44114
|
+
return /* @__PURE__ */ jsx179(
|
|
43788
44115
|
Separator2,
|
|
43789
44116
|
{
|
|
43790
44117
|
"data-slot": "item-separator",
|
|
@@ -43822,7 +44149,7 @@ function Item8({
|
|
|
43822
44149
|
...props
|
|
43823
44150
|
}) {
|
|
43824
44151
|
const Comp = asChild ? Slot5 : "div";
|
|
43825
|
-
return /* @__PURE__ */
|
|
44152
|
+
return /* @__PURE__ */ jsx179(
|
|
43826
44153
|
Comp,
|
|
43827
44154
|
{
|
|
43828
44155
|
"data-slot": "item",
|
|
@@ -43853,7 +44180,7 @@ function ItemMedia({
|
|
|
43853
44180
|
variant = "default",
|
|
43854
44181
|
...props
|
|
43855
44182
|
}) {
|
|
43856
|
-
return /* @__PURE__ */
|
|
44183
|
+
return /* @__PURE__ */ jsx179(
|
|
43857
44184
|
"div",
|
|
43858
44185
|
{
|
|
43859
44186
|
"data-slot": "item-media",
|
|
@@ -43864,7 +44191,7 @@ function ItemMedia({
|
|
|
43864
44191
|
);
|
|
43865
44192
|
}
|
|
43866
44193
|
function ItemContent({ className, ...props }) {
|
|
43867
|
-
return /* @__PURE__ */
|
|
44194
|
+
return /* @__PURE__ */ jsx179(
|
|
43868
44195
|
"div",
|
|
43869
44196
|
{
|
|
43870
44197
|
"data-slot": "item-content",
|
|
@@ -43877,7 +44204,7 @@ function ItemContent({ className, ...props }) {
|
|
|
43877
44204
|
);
|
|
43878
44205
|
}
|
|
43879
44206
|
function ItemTitle({ className, ...props }) {
|
|
43880
|
-
return /* @__PURE__ */
|
|
44207
|
+
return /* @__PURE__ */ jsx179(
|
|
43881
44208
|
"div",
|
|
43882
44209
|
{
|
|
43883
44210
|
"data-slot": "item-title",
|
|
@@ -43890,7 +44217,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
43890
44217
|
);
|
|
43891
44218
|
}
|
|
43892
44219
|
function ItemDescription({ className, ...props }) {
|
|
43893
|
-
return /* @__PURE__ */
|
|
44220
|
+
return /* @__PURE__ */ jsx179(
|
|
43894
44221
|
"p",
|
|
43895
44222
|
{
|
|
43896
44223
|
"data-slot": "item-description",
|
|
@@ -43904,7 +44231,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
43904
44231
|
);
|
|
43905
44232
|
}
|
|
43906
44233
|
function ItemActions({ className, ...props }) {
|
|
43907
|
-
return /* @__PURE__ */
|
|
44234
|
+
return /* @__PURE__ */ jsx179(
|
|
43908
44235
|
"div",
|
|
43909
44236
|
{
|
|
43910
44237
|
"data-slot": "item-actions",
|
|
@@ -43914,7 +44241,7 @@ function ItemActions({ className, ...props }) {
|
|
|
43914
44241
|
);
|
|
43915
44242
|
}
|
|
43916
44243
|
function ItemHeader({ className, ...props }) {
|
|
43917
|
-
return /* @__PURE__ */
|
|
44244
|
+
return /* @__PURE__ */ jsx179(
|
|
43918
44245
|
"div",
|
|
43919
44246
|
{
|
|
43920
44247
|
"data-slot": "item-header",
|
|
@@ -43927,7 +44254,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
43927
44254
|
);
|
|
43928
44255
|
}
|
|
43929
44256
|
function ItemFooter({ className, ...props }) {
|
|
43930
|
-
return /* @__PURE__ */
|
|
44257
|
+
return /* @__PURE__ */ jsx179(
|
|
43931
44258
|
"div",
|
|
43932
44259
|
{
|
|
43933
44260
|
"data-slot": "item-footer",
|
|
@@ -43941,9 +44268,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
43941
44268
|
}
|
|
43942
44269
|
|
|
43943
44270
|
// src/components/ui/kbd.tsx
|
|
43944
|
-
import { jsx as
|
|
44271
|
+
import { jsx as jsx180 } from "react/jsx-runtime";
|
|
43945
44272
|
function Kbd({ className, ...props }) {
|
|
43946
|
-
return /* @__PURE__ */
|
|
44273
|
+
return /* @__PURE__ */ jsx180(
|
|
43947
44274
|
"kbd",
|
|
43948
44275
|
{
|
|
43949
44276
|
"data-slot": "kbd",
|
|
@@ -43958,7 +44285,7 @@ function Kbd({ className, ...props }) {
|
|
|
43958
44285
|
);
|
|
43959
44286
|
}
|
|
43960
44287
|
function KbdGroup({ className, ...props }) {
|
|
43961
|
-
return /* @__PURE__ */
|
|
44288
|
+
return /* @__PURE__ */ jsx180(
|
|
43962
44289
|
"kbd",
|
|
43963
44290
|
{
|
|
43964
44291
|
"data-slot": "kbd-group",
|
|
@@ -43969,16 +44296,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
43969
44296
|
}
|
|
43970
44297
|
|
|
43971
44298
|
// src/components/ui/sidebar.tsx
|
|
43972
|
-
import * as
|
|
44299
|
+
import * as React112 from "react";
|
|
43973
44300
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
43974
44301
|
import { cva as cva13 } from "class-variance-authority";
|
|
43975
44302
|
|
|
43976
44303
|
// src/hooks/use-mobile.tsx
|
|
43977
|
-
import * as
|
|
44304
|
+
import * as React111 from "react";
|
|
43978
44305
|
var MOBILE_BREAKPOINT = 768;
|
|
43979
44306
|
function useIsMobile() {
|
|
43980
|
-
const [isMobile, setIsMobile] =
|
|
43981
|
-
|
|
44307
|
+
const [isMobile, setIsMobile] = React111.useState(void 0);
|
|
44308
|
+
React111.useEffect(() => {
|
|
43982
44309
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
43983
44310
|
const onChange = () => {
|
|
43984
44311
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -43991,22 +44318,22 @@ function useIsMobile() {
|
|
|
43991
44318
|
}
|
|
43992
44319
|
|
|
43993
44320
|
// src/components/ui/sidebar.tsx
|
|
43994
|
-
import { jsx as
|
|
44321
|
+
import { jsx as jsx181, jsxs as jsxs136 } from "react/jsx-runtime";
|
|
43995
44322
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
43996
44323
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
43997
44324
|
var SIDEBAR_WIDTH = "16rem";
|
|
43998
44325
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
43999
44326
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
44000
44327
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
44001
|
-
var SidebarContext =
|
|
44328
|
+
var SidebarContext = React112.createContext(null);
|
|
44002
44329
|
function useSidebar() {
|
|
44003
|
-
const context =
|
|
44330
|
+
const context = React112.useContext(SidebarContext);
|
|
44004
44331
|
if (!context) {
|
|
44005
44332
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
44006
44333
|
}
|
|
44007
44334
|
return context;
|
|
44008
44335
|
}
|
|
44009
|
-
var SidebarProvider =
|
|
44336
|
+
var SidebarProvider = React112.forwardRef(
|
|
44010
44337
|
({
|
|
44011
44338
|
defaultOpen = true,
|
|
44012
44339
|
open: openProp,
|
|
@@ -44017,10 +44344,10 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44017
44344
|
...props
|
|
44018
44345
|
}, ref) => {
|
|
44019
44346
|
const isMobile = useIsMobile();
|
|
44020
|
-
const [openMobile, setOpenMobile] =
|
|
44021
|
-
const [_open, _setOpen] =
|
|
44347
|
+
const [openMobile, setOpenMobile] = React112.useState(false);
|
|
44348
|
+
const [_open, _setOpen] = React112.useState(defaultOpen);
|
|
44022
44349
|
const open = openProp ?? _open;
|
|
44023
|
-
const setOpen =
|
|
44350
|
+
const setOpen = React112.useCallback(
|
|
44024
44351
|
(value) => {
|
|
44025
44352
|
const openState = typeof value === "function" ? value(open) : value;
|
|
44026
44353
|
if (setOpenProp) {
|
|
@@ -44032,10 +44359,10 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44032
44359
|
},
|
|
44033
44360
|
[setOpenProp, open]
|
|
44034
44361
|
);
|
|
44035
|
-
const toggleSidebar =
|
|
44362
|
+
const toggleSidebar = React112.useCallback(() => {
|
|
44036
44363
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
44037
44364
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
44038
|
-
|
|
44365
|
+
React112.useEffect(() => {
|
|
44039
44366
|
const handleKeyDown = (event) => {
|
|
44040
44367
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
44041
44368
|
event.preventDefault();
|
|
@@ -44046,7 +44373,7 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44046
44373
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
44047
44374
|
}, [toggleSidebar]);
|
|
44048
44375
|
const state = open ? "expanded" : "collapsed";
|
|
44049
|
-
const contextValue =
|
|
44376
|
+
const contextValue = React112.useMemo(
|
|
44050
44377
|
() => ({
|
|
44051
44378
|
state,
|
|
44052
44379
|
open,
|
|
@@ -44058,7 +44385,7 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44058
44385
|
}),
|
|
44059
44386
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
44060
44387
|
);
|
|
44061
|
-
return /* @__PURE__ */
|
|
44388
|
+
return /* @__PURE__ */ jsx181(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx181(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx181(
|
|
44062
44389
|
"div",
|
|
44063
44390
|
{
|
|
44064
44391
|
style: {
|
|
@@ -44078,7 +44405,7 @@ var SidebarProvider = React111.forwardRef(
|
|
|
44078
44405
|
}
|
|
44079
44406
|
);
|
|
44080
44407
|
SidebarProvider.displayName = "SidebarProvider";
|
|
44081
|
-
var Sidebar =
|
|
44408
|
+
var Sidebar = React112.forwardRef(
|
|
44082
44409
|
({
|
|
44083
44410
|
side = "left",
|
|
44084
44411
|
variant = "sidebar",
|
|
@@ -44089,7 +44416,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44089
44416
|
}, ref) => {
|
|
44090
44417
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
44091
44418
|
if (collapsible === "none") {
|
|
44092
|
-
return /* @__PURE__ */
|
|
44419
|
+
return /* @__PURE__ */ jsx181(
|
|
44093
44420
|
"div",
|
|
44094
44421
|
{
|
|
44095
44422
|
className: cn(
|
|
@@ -44103,7 +44430,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44103
44430
|
);
|
|
44104
44431
|
}
|
|
44105
44432
|
if (isMobile) {
|
|
44106
|
-
return /* @__PURE__ */
|
|
44433
|
+
return /* @__PURE__ */ jsx181(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs136(
|
|
44107
44434
|
SheetContent,
|
|
44108
44435
|
{
|
|
44109
44436
|
"data-sidebar": "sidebar",
|
|
@@ -44114,16 +44441,16 @@ var Sidebar = React111.forwardRef(
|
|
|
44114
44441
|
},
|
|
44115
44442
|
side,
|
|
44116
44443
|
children: [
|
|
44117
|
-
/* @__PURE__ */
|
|
44118
|
-
/* @__PURE__ */
|
|
44119
|
-
/* @__PURE__ */
|
|
44444
|
+
/* @__PURE__ */ jsxs136(SheetHeader, { className: "sr-only", children: [
|
|
44445
|
+
/* @__PURE__ */ jsx181(SheetTitle, { children: "Sidebar" }),
|
|
44446
|
+
/* @__PURE__ */ jsx181(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
44120
44447
|
] }),
|
|
44121
|
-
/* @__PURE__ */
|
|
44448
|
+
/* @__PURE__ */ jsx181("div", { className: "flex h-full w-full flex-col", children })
|
|
44122
44449
|
]
|
|
44123
44450
|
}
|
|
44124
44451
|
) });
|
|
44125
44452
|
}
|
|
44126
|
-
return /* @__PURE__ */
|
|
44453
|
+
return /* @__PURE__ */ jsxs136(
|
|
44127
44454
|
"div",
|
|
44128
44455
|
{
|
|
44129
44456
|
ref,
|
|
@@ -44133,7 +44460,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44133
44460
|
"data-variant": variant,
|
|
44134
44461
|
"data-side": side,
|
|
44135
44462
|
children: [
|
|
44136
|
-
/* @__PURE__ */
|
|
44463
|
+
/* @__PURE__ */ jsx181(
|
|
44137
44464
|
"div",
|
|
44138
44465
|
{
|
|
44139
44466
|
className: cn(
|
|
@@ -44144,7 +44471,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44144
44471
|
)
|
|
44145
44472
|
}
|
|
44146
44473
|
),
|
|
44147
|
-
/* @__PURE__ */
|
|
44474
|
+
/* @__PURE__ */ jsx181(
|
|
44148
44475
|
"div",
|
|
44149
44476
|
{
|
|
44150
44477
|
className: cn(
|
|
@@ -44155,7 +44482,7 @@ var Sidebar = React111.forwardRef(
|
|
|
44155
44482
|
className
|
|
44156
44483
|
),
|
|
44157
44484
|
...props,
|
|
44158
|
-
children: /* @__PURE__ */
|
|
44485
|
+
children: /* @__PURE__ */ jsx181(
|
|
44159
44486
|
"div",
|
|
44160
44487
|
{
|
|
44161
44488
|
"data-sidebar": "sidebar",
|
|
@@ -44171,9 +44498,9 @@ var Sidebar = React111.forwardRef(
|
|
|
44171
44498
|
}
|
|
44172
44499
|
);
|
|
44173
44500
|
Sidebar.displayName = "Sidebar";
|
|
44174
|
-
var SidebarTrigger =
|
|
44501
|
+
var SidebarTrigger = React112.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
44175
44502
|
const { toggleSidebar } = useSidebar();
|
|
44176
|
-
return /* @__PURE__ */
|
|
44503
|
+
return /* @__PURE__ */ jsxs136(
|
|
44177
44504
|
Button,
|
|
44178
44505
|
{
|
|
44179
44506
|
ref,
|
|
@@ -44187,16 +44514,16 @@ var SidebarTrigger = React111.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
44187
44514
|
},
|
|
44188
44515
|
...props,
|
|
44189
44516
|
children: [
|
|
44190
|
-
/* @__PURE__ */
|
|
44191
|
-
/* @__PURE__ */
|
|
44517
|
+
/* @__PURE__ */ jsx181(PanelLeft, {}),
|
|
44518
|
+
/* @__PURE__ */ jsx181("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
44192
44519
|
]
|
|
44193
44520
|
}
|
|
44194
44521
|
);
|
|
44195
44522
|
});
|
|
44196
44523
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
44197
|
-
var SidebarRail =
|
|
44524
|
+
var SidebarRail = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44198
44525
|
const { toggleSidebar } = useSidebar();
|
|
44199
|
-
return /* @__PURE__ */
|
|
44526
|
+
return /* @__PURE__ */ jsx181(
|
|
44200
44527
|
"button",
|
|
44201
44528
|
{
|
|
44202
44529
|
ref,
|
|
@@ -44219,8 +44546,8 @@ var SidebarRail = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44219
44546
|
);
|
|
44220
44547
|
});
|
|
44221
44548
|
SidebarRail.displayName = "SidebarRail";
|
|
44222
|
-
var SidebarInset =
|
|
44223
|
-
return /* @__PURE__ */
|
|
44549
|
+
var SidebarInset = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44550
|
+
return /* @__PURE__ */ jsx181(
|
|
44224
44551
|
"main",
|
|
44225
44552
|
{
|
|
44226
44553
|
ref,
|
|
@@ -44234,8 +44561,8 @@ var SidebarInset = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44234
44561
|
);
|
|
44235
44562
|
});
|
|
44236
44563
|
SidebarInset.displayName = "SidebarInset";
|
|
44237
|
-
var SidebarInput =
|
|
44238
|
-
return /* @__PURE__ */
|
|
44564
|
+
var SidebarInput = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44565
|
+
return /* @__PURE__ */ jsx181(
|
|
44239
44566
|
Input,
|
|
44240
44567
|
{
|
|
44241
44568
|
ref,
|
|
@@ -44249,8 +44576,8 @@ var SidebarInput = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44249
44576
|
);
|
|
44250
44577
|
});
|
|
44251
44578
|
SidebarInput.displayName = "SidebarInput";
|
|
44252
|
-
var SidebarHeader =
|
|
44253
|
-
return /* @__PURE__ */
|
|
44579
|
+
var SidebarHeader = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44580
|
+
return /* @__PURE__ */ jsx181(
|
|
44254
44581
|
"div",
|
|
44255
44582
|
{
|
|
44256
44583
|
ref,
|
|
@@ -44261,8 +44588,8 @@ var SidebarHeader = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44261
44588
|
);
|
|
44262
44589
|
});
|
|
44263
44590
|
SidebarHeader.displayName = "SidebarHeader";
|
|
44264
|
-
var SidebarFooter =
|
|
44265
|
-
return /* @__PURE__ */
|
|
44591
|
+
var SidebarFooter = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44592
|
+
return /* @__PURE__ */ jsx181(
|
|
44266
44593
|
"div",
|
|
44267
44594
|
{
|
|
44268
44595
|
ref,
|
|
@@ -44273,8 +44600,8 @@ var SidebarFooter = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44273
44600
|
);
|
|
44274
44601
|
});
|
|
44275
44602
|
SidebarFooter.displayName = "SidebarFooter";
|
|
44276
|
-
var SidebarSeparator =
|
|
44277
|
-
return /* @__PURE__ */
|
|
44603
|
+
var SidebarSeparator = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44604
|
+
return /* @__PURE__ */ jsx181(
|
|
44278
44605
|
Separator2,
|
|
44279
44606
|
{
|
|
44280
44607
|
ref,
|
|
@@ -44285,8 +44612,8 @@ var SidebarSeparator = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44285
44612
|
);
|
|
44286
44613
|
});
|
|
44287
44614
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
44288
|
-
var SidebarContent =
|
|
44289
|
-
return /* @__PURE__ */
|
|
44615
|
+
var SidebarContent = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44616
|
+
return /* @__PURE__ */ jsx181(
|
|
44290
44617
|
"div",
|
|
44291
44618
|
{
|
|
44292
44619
|
ref,
|
|
@@ -44300,8 +44627,8 @@ var SidebarContent = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44300
44627
|
);
|
|
44301
44628
|
});
|
|
44302
44629
|
SidebarContent.displayName = "SidebarContent";
|
|
44303
|
-
var SidebarGroup =
|
|
44304
|
-
return /* @__PURE__ */
|
|
44630
|
+
var SidebarGroup = React112.forwardRef(({ className, ...props }, ref) => {
|
|
44631
|
+
return /* @__PURE__ */ jsx181(
|
|
44305
44632
|
"div",
|
|
44306
44633
|
{
|
|
44307
44634
|
ref,
|
|
@@ -44312,9 +44639,9 @@ var SidebarGroup = React111.forwardRef(({ className, ...props }, ref) => {
|
|
|
44312
44639
|
);
|
|
44313
44640
|
});
|
|
44314
44641
|
SidebarGroup.displayName = "SidebarGroup";
|
|
44315
|
-
var SidebarGroupLabel =
|
|
44642
|
+
var SidebarGroupLabel = React112.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
44316
44643
|
const Comp = asChild ? Slot6 : "div";
|
|
44317
|
-
return /* @__PURE__ */
|
|
44644
|
+
return /* @__PURE__ */ jsx181(
|
|
44318
44645
|
Comp,
|
|
44319
44646
|
{
|
|
44320
44647
|
ref,
|
|
@@ -44329,9 +44656,9 @@ var SidebarGroupLabel = React111.forwardRef(({ className, asChild = false, ...pr
|
|
|
44329
44656
|
);
|
|
44330
44657
|
});
|
|
44331
44658
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
44332
|
-
var SidebarGroupAction =
|
|
44659
|
+
var SidebarGroupAction = React112.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
44333
44660
|
const Comp = asChild ? Slot6 : "button";
|
|
44334
|
-
return /* @__PURE__ */
|
|
44661
|
+
return /* @__PURE__ */ jsx181(
|
|
44335
44662
|
Comp,
|
|
44336
44663
|
{
|
|
44337
44664
|
ref,
|
|
@@ -44348,7 +44675,7 @@ var SidebarGroupAction = React111.forwardRef(({ className, asChild = false, ...p
|
|
|
44348
44675
|
);
|
|
44349
44676
|
});
|
|
44350
44677
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
44351
|
-
var SidebarGroupContent =
|
|
44678
|
+
var SidebarGroupContent = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44352
44679
|
"div",
|
|
44353
44680
|
{
|
|
44354
44681
|
ref,
|
|
@@ -44358,7 +44685,7 @@ var SidebarGroupContent = React111.forwardRef(({ className, ...props }, ref) =>
|
|
|
44358
44685
|
}
|
|
44359
44686
|
));
|
|
44360
44687
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
44361
|
-
var SidebarMenu =
|
|
44688
|
+
var SidebarMenu = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44362
44689
|
"ul",
|
|
44363
44690
|
{
|
|
44364
44691
|
ref,
|
|
@@ -44368,7 +44695,7 @@ var SidebarMenu = React111.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
44368
44695
|
}
|
|
44369
44696
|
));
|
|
44370
44697
|
SidebarMenu.displayName = "SidebarMenu";
|
|
44371
|
-
var SidebarMenuItem =
|
|
44698
|
+
var SidebarMenuItem = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44372
44699
|
"li",
|
|
44373
44700
|
{
|
|
44374
44701
|
ref,
|
|
@@ -44398,7 +44725,7 @@ var sidebarMenuButtonVariants = cva13(
|
|
|
44398
44725
|
}
|
|
44399
44726
|
}
|
|
44400
44727
|
);
|
|
44401
|
-
var SidebarMenuButton =
|
|
44728
|
+
var SidebarMenuButton = React112.forwardRef(
|
|
44402
44729
|
({
|
|
44403
44730
|
asChild = false,
|
|
44404
44731
|
isActive = false,
|
|
@@ -44410,7 +44737,7 @@ var SidebarMenuButton = React111.forwardRef(
|
|
|
44410
44737
|
}, ref) => {
|
|
44411
44738
|
const Comp = asChild ? Slot6 : "button";
|
|
44412
44739
|
const { isMobile, state } = useSidebar();
|
|
44413
|
-
const button = /* @__PURE__ */
|
|
44740
|
+
const button = /* @__PURE__ */ jsx181(
|
|
44414
44741
|
Comp,
|
|
44415
44742
|
{
|
|
44416
44743
|
ref,
|
|
@@ -44429,9 +44756,9 @@ var SidebarMenuButton = React111.forwardRef(
|
|
|
44429
44756
|
children: tooltip
|
|
44430
44757
|
};
|
|
44431
44758
|
}
|
|
44432
|
-
return /* @__PURE__ */
|
|
44433
|
-
/* @__PURE__ */
|
|
44434
|
-
/* @__PURE__ */
|
|
44759
|
+
return /* @__PURE__ */ jsxs136(Tooltip, { children: [
|
|
44760
|
+
/* @__PURE__ */ jsx181(TooltipTrigger, { asChild: true, children: button }),
|
|
44761
|
+
/* @__PURE__ */ jsx181(
|
|
44435
44762
|
TooltipContent,
|
|
44436
44763
|
{
|
|
44437
44764
|
side: "right",
|
|
@@ -44444,9 +44771,9 @@ var SidebarMenuButton = React111.forwardRef(
|
|
|
44444
44771
|
}
|
|
44445
44772
|
);
|
|
44446
44773
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
44447
|
-
var SidebarMenuAction =
|
|
44774
|
+
var SidebarMenuAction = React112.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
44448
44775
|
const Comp = asChild ? Slot6 : "button";
|
|
44449
|
-
return /* @__PURE__ */
|
|
44776
|
+
return /* @__PURE__ */ jsx181(
|
|
44450
44777
|
Comp,
|
|
44451
44778
|
{
|
|
44452
44779
|
ref,
|
|
@@ -44467,7 +44794,7 @@ var SidebarMenuAction = React111.forwardRef(({ className, asChild = false, showO
|
|
|
44467
44794
|
);
|
|
44468
44795
|
});
|
|
44469
44796
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
44470
|
-
var SidebarMenuBadge =
|
|
44797
|
+
var SidebarMenuBadge = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44471
44798
|
"div",
|
|
44472
44799
|
{
|
|
44473
44800
|
ref,
|
|
@@ -44485,11 +44812,11 @@ var SidebarMenuBadge = React111.forwardRef(({ className, ...props }, ref) => /*
|
|
|
44485
44812
|
}
|
|
44486
44813
|
));
|
|
44487
44814
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
44488
|
-
var SidebarMenuSkeleton =
|
|
44489
|
-
const width =
|
|
44815
|
+
var SidebarMenuSkeleton = React112.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
44816
|
+
const width = React112.useMemo(() => {
|
|
44490
44817
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
44491
44818
|
}, []);
|
|
44492
|
-
return /* @__PURE__ */
|
|
44819
|
+
return /* @__PURE__ */ jsxs136(
|
|
44493
44820
|
"div",
|
|
44494
44821
|
{
|
|
44495
44822
|
ref,
|
|
@@ -44497,14 +44824,14 @@ var SidebarMenuSkeleton = React111.forwardRef(({ className, showIcon = false, ..
|
|
|
44497
44824
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
44498
44825
|
...props,
|
|
44499
44826
|
children: [
|
|
44500
|
-
showIcon && /* @__PURE__ */
|
|
44827
|
+
showIcon && /* @__PURE__ */ jsx181(
|
|
44501
44828
|
Skeleton,
|
|
44502
44829
|
{
|
|
44503
44830
|
className: "size-4 rounded-md",
|
|
44504
44831
|
"data-sidebar": "menu-skeleton-icon"
|
|
44505
44832
|
}
|
|
44506
44833
|
),
|
|
44507
|
-
/* @__PURE__ */
|
|
44834
|
+
/* @__PURE__ */ jsx181(
|
|
44508
44835
|
Skeleton,
|
|
44509
44836
|
{
|
|
44510
44837
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -44519,7 +44846,7 @@ var SidebarMenuSkeleton = React111.forwardRef(({ className, showIcon = false, ..
|
|
|
44519
44846
|
);
|
|
44520
44847
|
});
|
|
44521
44848
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
44522
|
-
var SidebarMenuSub =
|
|
44849
|
+
var SidebarMenuSub = React112.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx181(
|
|
44523
44850
|
"ul",
|
|
44524
44851
|
{
|
|
44525
44852
|
ref,
|
|
@@ -44533,11 +44860,11 @@ var SidebarMenuSub = React111.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
44533
44860
|
}
|
|
44534
44861
|
));
|
|
44535
44862
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
44536
|
-
var SidebarMenuSubItem =
|
|
44863
|
+
var SidebarMenuSubItem = React112.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx181("li", { ref, ...props }));
|
|
44537
44864
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
44538
|
-
var SidebarMenuSubButton =
|
|
44865
|
+
var SidebarMenuSubButton = React112.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
44539
44866
|
const Comp = asChild ? Slot6 : "a";
|
|
44540
|
-
return /* @__PURE__ */
|
|
44867
|
+
return /* @__PURE__ */ jsx181(
|
|
44541
44868
|
Comp,
|
|
44542
44869
|
{
|
|
44543
44870
|
ref,
|
|
@@ -44561,20 +44888,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
44561
44888
|
// src/components/ui/sonner.tsx
|
|
44562
44889
|
import { useTheme } from "next-themes";
|
|
44563
44890
|
import { Toaster as Sonner } from "sonner";
|
|
44564
|
-
import { jsx as
|
|
44891
|
+
import { jsx as jsx182 } from "react/jsx-runtime";
|
|
44565
44892
|
var Toaster = ({ ...props }) => {
|
|
44566
44893
|
const { theme = "system" } = useTheme();
|
|
44567
|
-
return /* @__PURE__ */
|
|
44894
|
+
return /* @__PURE__ */ jsx182(
|
|
44568
44895
|
Sonner,
|
|
44569
44896
|
{
|
|
44570
44897
|
theme,
|
|
44571
44898
|
className: "toaster group",
|
|
44572
44899
|
icons: {
|
|
44573
|
-
success: /* @__PURE__ */
|
|
44574
|
-
info: /* @__PURE__ */
|
|
44575
|
-
warning: /* @__PURE__ */
|
|
44576
|
-
error: /* @__PURE__ */
|
|
44577
|
-
loading: /* @__PURE__ */
|
|
44900
|
+
success: /* @__PURE__ */ jsx182(CircleCheck, { className: "h-4 w-4" }),
|
|
44901
|
+
info: /* @__PURE__ */ jsx182(Info, { className: "h-4 w-4" }),
|
|
44902
|
+
warning: /* @__PURE__ */ jsx182(TriangleAlert, { className: "h-4 w-4" }),
|
|
44903
|
+
error: /* @__PURE__ */ jsx182(OctagonX, { className: "h-4 w-4" }),
|
|
44904
|
+
loading: /* @__PURE__ */ jsx182(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
44578
44905
|
},
|
|
44579
44906
|
toastOptions: {
|
|
44580
44907
|
classNames: {
|
|
@@ -44590,26 +44917,26 @@ var Toaster = ({ ...props }) => {
|
|
|
44590
44917
|
};
|
|
44591
44918
|
|
|
44592
44919
|
// src/components/ui/toggle-group.tsx
|
|
44593
|
-
import * as
|
|
44920
|
+
import * as React113 from "react";
|
|
44594
44921
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
44595
|
-
import { jsx as
|
|
44596
|
-
var ToggleGroupContext =
|
|
44922
|
+
import { jsx as jsx183 } from "react/jsx-runtime";
|
|
44923
|
+
var ToggleGroupContext = React113.createContext({
|
|
44597
44924
|
size: "default",
|
|
44598
44925
|
variant: "default"
|
|
44599
44926
|
});
|
|
44600
|
-
var ToggleGroup =
|
|
44927
|
+
var ToggleGroup = React113.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx183(
|
|
44601
44928
|
ToggleGroupPrimitive.Root,
|
|
44602
44929
|
{
|
|
44603
44930
|
ref,
|
|
44604
44931
|
className: cn("flex items-center justify-center gap-1", className),
|
|
44605
44932
|
...props,
|
|
44606
|
-
children: /* @__PURE__ */
|
|
44933
|
+
children: /* @__PURE__ */ jsx183(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
44607
44934
|
}
|
|
44608
44935
|
));
|
|
44609
44936
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
44610
|
-
var ToggleGroupItem =
|
|
44611
|
-
const context =
|
|
44612
|
-
return /* @__PURE__ */
|
|
44937
|
+
var ToggleGroupItem = React113.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
44938
|
+
const context = React113.useContext(ToggleGroupContext);
|
|
44939
|
+
return /* @__PURE__ */ jsx183(
|
|
44613
44940
|
ToggleGroupPrimitive.Item,
|
|
44614
44941
|
{
|
|
44615
44942
|
ref,
|
|
@@ -44628,7 +44955,7 @@ var ToggleGroupItem = React112.forwardRef(({ className, children, variant, size,
|
|
|
44628
44955
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
44629
44956
|
|
|
44630
44957
|
// src/render/PXEngineRenderer.tsx
|
|
44631
|
-
import { jsx as
|
|
44958
|
+
import { jsx as jsx184, jsxs as jsxs137 } from "react/jsx-runtime";
|
|
44632
44959
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
44633
44960
|
// Form components - require FormField + FormItem context
|
|
44634
44961
|
"FormLabel",
|
|
@@ -44733,24 +45060,24 @@ var REGISTERED_COMPONENTS = /* @__PURE__ */ new Set([
|
|
|
44733
45060
|
]);
|
|
44734
45061
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
44735
45062
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
44736
|
-
return /* @__PURE__ */
|
|
45063
|
+
return /* @__PURE__ */ jsxs137(
|
|
44737
45064
|
"div",
|
|
44738
45065
|
{
|
|
44739
45066
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
44740
45067
|
children: [
|
|
44741
|
-
/* @__PURE__ */
|
|
44742
|
-
/* @__PURE__ */
|
|
44743
|
-
/* @__PURE__ */
|
|
44744
|
-
/* @__PURE__ */
|
|
45068
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex items-start gap-2", children: [
|
|
45069
|
+
/* @__PURE__ */ jsx184("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
45070
|
+
/* @__PURE__ */ jsxs137("div", { className: "flex-1", children: [
|
|
45071
|
+
/* @__PURE__ */ jsxs137("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
44745
45072
|
"Invalid Component: ",
|
|
44746
45073
|
componentName
|
|
44747
45074
|
] }),
|
|
44748
|
-
/* @__PURE__ */
|
|
45075
|
+
/* @__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
45076
|
] })
|
|
44750
45077
|
] }),
|
|
44751
|
-
/* @__PURE__ */
|
|
44752
|
-
/* @__PURE__ */
|
|
44753
|
-
/* @__PURE__ */
|
|
45078
|
+
/* @__PURE__ */ jsxs137("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
45079
|
+
/* @__PURE__ */ jsx184("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
45080
|
+
/* @__PURE__ */ jsx184("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
44754
45081
|
] })
|
|
44755
45082
|
]
|
|
44756
45083
|
},
|
|
@@ -44828,12 +45155,12 @@ var PXEngineRenderer = ({
|
|
|
44828
45155
|
const root = schema.root || schema;
|
|
44829
45156
|
const renderRecursive = (component, index) => {
|
|
44830
45157
|
if (Array.isArray(component)) {
|
|
44831
|
-
return /* @__PURE__ */
|
|
45158
|
+
return /* @__PURE__ */ jsx184(React114.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
|
|
44832
45159
|
}
|
|
44833
45160
|
if (typeof component === "string" || typeof component === "number") {
|
|
44834
45161
|
return component;
|
|
44835
45162
|
}
|
|
44836
|
-
if (
|
|
45163
|
+
if (React114.isValidElement(component)) {
|
|
44837
45164
|
return component;
|
|
44838
45165
|
}
|
|
44839
45166
|
if (!component || typeof component !== "object") return null;
|
|
@@ -44912,7 +45239,7 @@ var PXEngineRenderer = ({
|
|
|
44912
45239
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
44913
45240
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
44914
45241
|
if (isAtomWithRenderProp) {
|
|
44915
|
-
return /* @__PURE__ */
|
|
45242
|
+
return /* @__PURE__ */ jsx184(
|
|
44916
45243
|
TargetComponent,
|
|
44917
45244
|
{
|
|
44918
45245
|
...finalProps,
|
|
@@ -44924,7 +45251,7 @@ var PXEngineRenderer = ({
|
|
|
44924
45251
|
uniqueKey
|
|
44925
45252
|
);
|
|
44926
45253
|
} else {
|
|
44927
|
-
return /* @__PURE__ */
|
|
45254
|
+
return /* @__PURE__ */ jsx184(
|
|
44928
45255
|
TargetComponent,
|
|
44929
45256
|
{
|
|
44930
45257
|
...finalProps,
|
|
@@ -44936,7 +45263,7 @@ var PXEngineRenderer = ({
|
|
|
44936
45263
|
);
|
|
44937
45264
|
}
|
|
44938
45265
|
};
|
|
44939
|
-
return /* @__PURE__ */
|
|
45266
|
+
return /* @__PURE__ */ jsx184("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
44940
45267
|
};
|
|
44941
45268
|
export {
|
|
44942
45269
|
Accordion,
|
|
@@ -45162,6 +45489,7 @@ export {
|
|
|
45162
45489
|
PopoverAtom,
|
|
45163
45490
|
PopoverContent,
|
|
45164
45491
|
PopoverTrigger,
|
|
45492
|
+
PresentationJobCard,
|
|
45165
45493
|
PriorityActionsCard,
|
|
45166
45494
|
Progress,
|
|
45167
45495
|
ProgressAtom,
|