pxengine 0.1.19 → 0.1.22
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 +784 -456
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +115 -47
- package/dist/index.d.ts +115 -47
- package/dist/index.mjs +781 -455
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +264 -71
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -73,6 +73,7 @@ __export(index_exports, {
|
|
|
73
73
|
ButtonAtom: () => ButtonAtom,
|
|
74
74
|
Calendar: () => Calendar2,
|
|
75
75
|
CalendarAtom: () => CalendarAtom,
|
|
76
|
+
CampaignConceptCard: () => CampaignConceptCard,
|
|
76
77
|
CampaignSeedCard: () => CampaignSeedCard,
|
|
77
78
|
Card: () => Card,
|
|
78
79
|
CardAtom: () => CardAtom,
|
|
@@ -120,6 +121,7 @@ __export(index_exports, {
|
|
|
120
121
|
CreatorActionHeader: () => CreatorActionHeader,
|
|
121
122
|
CreatorGridCard: () => CreatorGridCard,
|
|
122
123
|
CreatorProfileSummary: () => CreatorProfileSummary,
|
|
124
|
+
CreatorSearch: () => CreatorSearch,
|
|
123
125
|
DataGrid: () => DataGrid,
|
|
124
126
|
Dialog: () => Dialog,
|
|
125
127
|
DialogAtom: () => DialogAtom,
|
|
@@ -292,7 +294,7 @@ __export(index_exports, {
|
|
|
292
294
|
module.exports = __toCommonJS(index_exports);
|
|
293
295
|
|
|
294
296
|
// src/render/PXEngineRenderer.tsx
|
|
295
|
-
var
|
|
297
|
+
var import_react66 = __toESM(require("react"), 1);
|
|
296
298
|
|
|
297
299
|
// src/atoms/index.ts
|
|
298
300
|
var atoms_exports = {};
|
|
@@ -405,7 +407,8 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
405
407
|
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
406
408
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
407
409
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
408
|
-
link: "text-primary underline-offset-4 hover:underline"
|
|
410
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
411
|
+
purple: "bg-purpleLight dark:bg-purple200 hover:bg-purpleText1 dark:hover:bg-purple100 text-purpleText2 dark:text-purpleText border border-purpleText1 dark:border-purpleText shadow-none font-medium"
|
|
409
412
|
},
|
|
410
413
|
size: {
|
|
411
414
|
default: "h-10 px-4 py-2",
|
|
@@ -25549,7 +25552,8 @@ var badgeVariants = (0, import_class_variance_authority3.cva)(
|
|
|
25549
25552
|
default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
|
25550
25553
|
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
25551
25554
|
destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
|
25552
|
-
outline: "text-foreground"
|
|
25555
|
+
outline: "text-foreground",
|
|
25556
|
+
purple: "bg-purpleLight dark:bg-purple200 hover:bg-purpleText1 dark:hover:bg-purple100 text-purpleText2 dark:text-purpleText border border-purpleText1 dark:border-purpleText"
|
|
25553
25557
|
}
|
|
25554
25558
|
},
|
|
25555
25559
|
defaultVariants: {
|
|
@@ -33549,6 +33553,7 @@ __export(molecules_exports, {
|
|
|
33549
33553
|
AudienceDemographicsCard: () => AudienceDemographicsCard,
|
|
33550
33554
|
AudienceMetricCard: () => AudienceMetricCard,
|
|
33551
33555
|
BrandAffinityGroup: () => BrandAffinityGroup,
|
|
33556
|
+
CampaignConceptCard: () => CampaignConceptCard,
|
|
33552
33557
|
CampaignSeedCard: () => CampaignSeedCard,
|
|
33553
33558
|
ContentPreviewGallery: () => ContentPreviewGallery,
|
|
33554
33559
|
CountrySelectDisplay: () => CountrySelectDisplay,
|
|
@@ -33556,6 +33561,7 @@ __export(molecules_exports, {
|
|
|
33556
33561
|
CreatorActionHeader: () => CreatorActionHeader,
|
|
33557
33562
|
CreatorGridCard: () => CreatorGridCard,
|
|
33558
33563
|
CreatorProfileSummary: () => CreatorProfileSummary,
|
|
33564
|
+
CreatorSearch: () => CreatorSearch,
|
|
33559
33565
|
DataGrid: () => DataGrid,
|
|
33560
33566
|
EditableField: () => EditableField,
|
|
33561
33567
|
EmptyState: () => EmptyState,
|
|
@@ -33906,12 +33912,13 @@ var EditableField = import_react54.default.memo(
|
|
|
33906
33912
|
onSave,
|
|
33907
33913
|
onCancel,
|
|
33908
33914
|
isSaving = false,
|
|
33909
|
-
isChanged = false,
|
|
33910
33915
|
config = {},
|
|
33911
33916
|
className,
|
|
33912
33917
|
renderDisplay,
|
|
33913
|
-
renderEdit
|
|
33918
|
+
renderEdit,
|
|
33919
|
+
...rest
|
|
33914
33920
|
}) => {
|
|
33921
|
+
void rest;
|
|
33915
33922
|
const [localValue, setLocalValue] = (0, import_react54.useState)(value);
|
|
33916
33923
|
const inputRef = (0, import_react54.useRef)(null);
|
|
33917
33924
|
(0, import_react54.useEffect)(() => {
|
|
@@ -33948,7 +33955,7 @@ var EditableField = import_react54.default.memo(
|
|
|
33948
33955
|
onKeyDown: handleKeyDown,
|
|
33949
33956
|
placeholder: config.placeholder,
|
|
33950
33957
|
rows: config.rows || 3,
|
|
33951
|
-
className: "min-h-[80px] resize-none"
|
|
33958
|
+
className: "min-h-[80px] resize-none bg-background dark:bg-gray100 border-gray300"
|
|
33952
33959
|
}
|
|
33953
33960
|
);
|
|
33954
33961
|
case "select":
|
|
@@ -33977,9 +33984,12 @@ var EditableField = import_react54.default.memo(
|
|
|
33977
33984
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
33978
33985
|
Slider,
|
|
33979
33986
|
{
|
|
33980
|
-
defaultValue: [
|
|
33981
|
-
|
|
33987
|
+
defaultValue: [
|
|
33988
|
+
localValue?.min || 0,
|
|
33989
|
+
localValue?.max || 100
|
|
33990
|
+
],
|
|
33982
33991
|
min: config.sliderConfig?.min || 0,
|
|
33992
|
+
max: config.sliderConfig?.max || 100,
|
|
33983
33993
|
step: config.sliderConfig?.step || 1,
|
|
33984
33994
|
onValueChange: ([min2, max2]) => setLocalValue({ min: min2, max: max2 })
|
|
33985
33995
|
}
|
|
@@ -33997,7 +34007,8 @@ var EditableField = import_react54.default.memo(
|
|
|
33997
34007
|
onKeyDown: handleKeyDown,
|
|
33998
34008
|
min: config.numberConfig?.min,
|
|
33999
34009
|
max: config.numberConfig?.max,
|
|
34000
|
-
step: config.numberConfig?.step
|
|
34010
|
+
step: config.numberConfig?.step,
|
|
34011
|
+
className: "bg-background dark:bg-gray100 border-gray300"
|
|
34001
34012
|
}
|
|
34002
34013
|
);
|
|
34003
34014
|
default:
|
|
@@ -34009,7 +34020,8 @@ var EditableField = import_react54.default.memo(
|
|
|
34009
34020
|
value: localValue || "",
|
|
34010
34021
|
onChange: (e) => setLocalValue(e.target.value),
|
|
34011
34022
|
onKeyDown: handleKeyDown,
|
|
34012
|
-
placeholder: config.placeholder
|
|
34023
|
+
placeholder: config.placeholder,
|
|
34024
|
+
className: "bg-background dark:bg-gray100 border-gray300"
|
|
34013
34025
|
}
|
|
34014
34026
|
);
|
|
34015
34027
|
}
|
|
@@ -34019,60 +34031,77 @@ var EditableField = import_react54.default.memo(
|
|
|
34019
34031
|
if (type === "slider") {
|
|
34020
34032
|
return config.sliderConfig?.formatValue ? config.sliderConfig.formatValue(value) : `${value?.min} - ${value?.max}`;
|
|
34021
34033
|
}
|
|
34022
|
-
if (!value)
|
|
34034
|
+
if (!value) {
|
|
34035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "opacity-0", children: "-" });
|
|
34036
|
+
}
|
|
34023
34037
|
return value.toString();
|
|
34024
34038
|
};
|
|
34025
|
-
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
34026
|
-
|
|
34027
|
-
|
|
34028
|
-
|
|
34029
|
-
"
|
|
34030
|
-
|
|
34031
|
-
|
|
34032
|
-
|
|
34033
|
-
|
|
34034
|
-
|
|
34035
|
-
|
|
34036
|
-
|
|
34037
|
-
|
|
34038
|
-
|
|
34039
|
-
|
|
34040
|
-
|
|
34041
|
-
|
|
34042
|
-
|
|
34043
|
-
|
|
34044
|
-
|
|
34045
|
-
|
|
34046
|
-
|
|
34047
|
-
|
|
34048
|
-
|
|
34049
|
-
|
|
34050
|
-
|
|
34051
|
-
|
|
34039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
|
|
34040
|
+
"div",
|
|
34041
|
+
{
|
|
34042
|
+
className: cn(
|
|
34043
|
+
"relative z-10 group flex flex-col gap-2 p-3 bg-[#0A0A0A] rounded-md mb-8",
|
|
34044
|
+
className
|
|
34045
|
+
),
|
|
34046
|
+
children: [
|
|
34047
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex justify-between items-start mb-2", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "w-full flex justify-between items-center flex-wrap gap-2", children: [
|
|
34048
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34049
|
+
"h4",
|
|
34050
|
+
{
|
|
34051
|
+
className: "px-2 py-1 tracking-widest bg-purple200/50 dark:bg-purple-500/20 text-purpleText dark:text-purple-400 text-[10px] font-bold rounded uppercase",
|
|
34052
|
+
style: { fontFamily: "Noto Sans, sans-serif" },
|
|
34053
|
+
children: label
|
|
34054
|
+
}
|
|
34055
|
+
),
|
|
34056
|
+
!isEditingProp && /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("span", { className: "inline-flex items-center gap-1 text-[10px] font-medium text-green-600 dark:text-green-500", children: [
|
|
34057
|
+
"Suggested by an Agent",
|
|
34058
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34059
|
+
Pencil,
|
|
34060
|
+
{
|
|
34061
|
+
className: "h-3 w-3 hover:text-green-700 cursor-pointer",
|
|
34062
|
+
onClick: onEdit
|
|
34063
|
+
}
|
|
34064
|
+
)
|
|
34065
|
+
] })
|
|
34066
|
+
] }) }),
|
|
34067
|
+
isEditingProp ? /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
34068
|
+
renderInput(),
|
|
34069
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-end gap-2", children: [
|
|
34070
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34071
|
+
Button,
|
|
34072
|
+
{
|
|
34073
|
+
size: "icon",
|
|
34074
|
+
variant: "outline",
|
|
34075
|
+
className: "h-8 w-8 text-destructive border-destructive/20 hover:bg-destructive/10 rounded-lg",
|
|
34076
|
+
onClick: onCancel,
|
|
34077
|
+
disabled: isSaving,
|
|
34078
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(X, { className: "h-4 w-4" })
|
|
34079
|
+
}
|
|
34080
|
+
),
|
|
34081
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34082
|
+
Button,
|
|
34083
|
+
{
|
|
34084
|
+
size: "icon",
|
|
34085
|
+
className: "h-8 w-8 bg-purpleLight text-purpleText2 hover:bg-purpleText1 rounded-lg border border-purpleText1 shadow-none",
|
|
34086
|
+
onClick: handleSave,
|
|
34087
|
+
disabled: isSaving,
|
|
34088
|
+
children: isSaving ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Check, { className: "h-4 w-4" })
|
|
34089
|
+
}
|
|
34090
|
+
)
|
|
34091
|
+
] })
|
|
34092
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34093
|
+
"div",
|
|
34052
34094
|
{
|
|
34053
|
-
|
|
34054
|
-
|
|
34055
|
-
|
|
34056
|
-
|
|
34057
|
-
children:
|
|
34095
|
+
className: cn(
|
|
34096
|
+
"relative flex items-center justify-between rounded-lg px-3 py-2",
|
|
34097
|
+
"text-[14px] text-foreground font-normal leading-relaxed"
|
|
34098
|
+
),
|
|
34099
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex-1", children: formattedValue() })
|
|
34058
34100
|
}
|
|
34059
34101
|
)
|
|
34060
|
-
]
|
|
34061
|
-
|
|
34062
|
-
|
|
34063
|
-
{
|
|
34064
|
-
className: cn(
|
|
34065
|
-
"relative flex items-center justify-between rounded-xl px-2 py-1.5 transition-all duration-200",
|
|
34066
|
-
"hover:bg-muted cursor-pointer border border-transparent hover:border-border group-hover:shadow-sm"
|
|
34067
|
-
),
|
|
34068
|
-
onClick: onEdit,
|
|
34069
|
-
children: [
|
|
34070
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "text-[14px] text-foreground font-semibold truncate flex-1 leading-relaxed", children: formattedValue() }),
|
|
34071
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Pencil, { className: "h-4 w-4 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity" })
|
|
34072
|
-
]
|
|
34073
|
-
}
|
|
34074
|
-
)
|
|
34075
|
-
] });
|
|
34102
|
+
]
|
|
34103
|
+
}
|
|
34104
|
+
);
|
|
34076
34105
|
}
|
|
34077
34106
|
);
|
|
34078
34107
|
EditableField.displayName = "EditableField";
|
|
@@ -34130,6 +34159,7 @@ var ActionButton = import_react55.default.memo(
|
|
|
34130
34159
|
"relative min-w-[140px] overflow-hidden group transition-all duration-300",
|
|
34131
34160
|
"bg-[var(--primary-color)] hover:opacity-90 text-white font-bold rounded-full px-5 py-2.5 shadow-[0_4px_14px_0_hsl(var(--primary)/30%)] hover:shadow-[0_6px_20px_0_hsl(var(--primary)/40%)]",
|
|
34132
34161
|
variant === "outline" && "bg-transparent border-[var(--primary-color)] text-[var(--primary-color)] hover:bg-[var(--primary-color)]/5",
|
|
34162
|
+
variant === "purple" && "bg-gray100 hover:bg-gray200 text-foreground border border-purple100 shadow-none font-semibold px-8 py-3 h-auto",
|
|
34133
34163
|
isLoading && "opacity-80"
|
|
34134
34164
|
),
|
|
34135
34165
|
children: [
|
|
@@ -34182,94 +34212,103 @@ var FormCard = import_react56.default.memo(
|
|
|
34182
34212
|
onFieldEdit,
|
|
34183
34213
|
onFieldSave,
|
|
34184
34214
|
onFieldCancel,
|
|
34185
|
-
showTimeline =
|
|
34186
|
-
// Default to false to remove "bullets"
|
|
34215
|
+
showTimeline = true,
|
|
34187
34216
|
proceedLabel,
|
|
34188
|
-
countdown,
|
|
34189
|
-
isPaused = false,
|
|
34190
|
-
onPause,
|
|
34191
34217
|
onProceed,
|
|
34218
|
+
isLatestMessage = true,
|
|
34192
34219
|
className,
|
|
34193
34220
|
footer
|
|
34194
34221
|
}) => {
|
|
34222
|
+
const [showCopyButton, setShowCopyButton] = (0, import_react56.useState)(false);
|
|
34195
34223
|
const handleCopyAll = () => {
|
|
34196
|
-
const text = fields.map(
|
|
34197
|
-
|
|
34198
|
-
|
|
34224
|
+
const text = fields.map((field) => {
|
|
34225
|
+
const value = data[field.key];
|
|
34226
|
+
return `${field.label}: ${typeof value === "object" ? JSON.stringify(value) : value}`;
|
|
34227
|
+
}).join("\n");
|
|
34199
34228
|
navigator.clipboard.writeText(text);
|
|
34200
34229
|
};
|
|
34201
34230
|
return /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
34202
|
-
|
|
34231
|
+
"div",
|
|
34203
34232
|
{
|
|
34204
34233
|
className: cn(
|
|
34205
|
-
"w-full rounded-[
|
|
34234
|
+
"relative w-full rounded-[20px] bg-background dark:bg-gray50 border border-gray400 shadow-lg overflow-hidden mb-6",
|
|
34206
34235
|
className
|
|
34207
34236
|
),
|
|
34237
|
+
onMouseEnter: () => setShowCopyButton(true),
|
|
34238
|
+
onMouseLeave: () => setShowCopyButton(false),
|
|
34208
34239
|
children: [
|
|
34209
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.
|
|
34210
|
-
|
|
34240
|
+
showCopyButton && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34241
|
+
"button",
|
|
34242
|
+
{
|
|
34243
|
+
onClick: handleCopyAll,
|
|
34244
|
+
title: "Copy all details",
|
|
34245
|
+
className: "absolute top-4 right-4 p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray200 text-gray-400 hover:text-gray-600 dark:hover:text-gray300 transition-all active:scale-95 z-10",
|
|
34246
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Copy, { className: "h-4 w-4" })
|
|
34247
|
+
}
|
|
34248
|
+
),
|
|
34249
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "p-6 relative", children: [
|
|
34211
34250
|
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34212
|
-
"
|
|
34251
|
+
"h3",
|
|
34213
34252
|
{
|
|
34214
|
-
|
|
34215
|
-
|
|
34216
|
-
|
|
34217
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Copy, { className: "h-4 w-4" })
|
|
34253
|
+
className: "text-gray900 mb-12",
|
|
34254
|
+
style: { fontFamily: "Noto Sans, sans-serif" },
|
|
34255
|
+
children: title
|
|
34218
34256
|
}
|
|
34219
|
-
)
|
|
34220
|
-
|
|
34221
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(CardContent, { className: "px-6 pt-1 pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "relative", children: [
|
|
34222
|
-
showTimeline && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "absolute left-[7px] top-2 bottom-6 w-0.5 border-l-2 border-dotted border-border pointer-events-none" }),
|
|
34223
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "space-y-2.5", children: fields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
34257
|
+
),
|
|
34258
|
+
showTimeline && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34224
34259
|
"div",
|
|
34225
34260
|
{
|
|
34226
|
-
className:
|
|
34227
|
-
|
|
34228
|
-
|
|
34229
|
-
|
|
34230
|
-
|
|
34231
|
-
|
|
34232
|
-
|
|
34233
|
-
|
|
34234
|
-
|
|
34235
|
-
|
|
34236
|
-
|
|
34237
|
-
|
|
34238
|
-
|
|
34239
|
-
|
|
34240
|
-
|
|
34241
|
-
|
|
34242
|
-
|
|
34243
|
-
|
|
34244
|
-
|
|
34245
|
-
|
|
34246
|
-
|
|
34247
|
-
|
|
34248
|
-
|
|
34249
|
-
|
|
34250
|
-
|
|
34251
|
-
|
|
34252
|
-
|
|
34253
|
-
|
|
34254
|
-
)
|
|
34255
|
-
]
|
|
34261
|
+
className: "absolute z-0 left-[60px] top-[100px] bottom-[60px] w-[3px]",
|
|
34262
|
+
style: {
|
|
34263
|
+
background: `
|
|
34264
|
+
radial-gradient(circle closest-side, #3C3D3E 98%, transparent) 50%/2px 5px repeat-y,
|
|
34265
|
+
linear-gradient(#3C3D3E 50%, transparent 0) 50%/2px 10px repeat-y
|
|
34266
|
+
`
|
|
34267
|
+
}
|
|
34268
|
+
}
|
|
34269
|
+
),
|
|
34270
|
+
fields.map((field, index) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34271
|
+
EditableField,
|
|
34272
|
+
{
|
|
34273
|
+
label: field.label,
|
|
34274
|
+
value: data[field.key],
|
|
34275
|
+
type: field.type,
|
|
34276
|
+
config: field,
|
|
34277
|
+
isEditing: editingFields[field.key],
|
|
34278
|
+
isChanged: changedFields[field.key],
|
|
34279
|
+
isSaving: savingFields[field.key],
|
|
34280
|
+
isLatestMessage,
|
|
34281
|
+
onEdit: () => onFieldEdit?.(field.key),
|
|
34282
|
+
onSave: (val) => onFieldSave?.(field.key, val),
|
|
34283
|
+
onCancel: () => onFieldCancel?.(field.key),
|
|
34284
|
+
renderDisplay: field.renderDisplay,
|
|
34285
|
+
renderEdit: field.renderEdit,
|
|
34286
|
+
showIndex: showTimeline,
|
|
34287
|
+
index,
|
|
34288
|
+
totalFields: fields.length
|
|
34256
34289
|
},
|
|
34257
34290
|
field.key
|
|
34258
|
-
))
|
|
34259
|
-
] })
|
|
34260
|
-
|
|
34261
|
-
|
|
34262
|
-
|
|
34263
|
-
{
|
|
34264
|
-
|
|
34265
|
-
|
|
34266
|
-
|
|
34267
|
-
|
|
34268
|
-
|
|
34269
|
-
|
|
34270
|
-
|
|
34271
|
-
|
|
34272
|
-
|
|
34291
|
+
))
|
|
34292
|
+
] }),
|
|
34293
|
+
isLatestMessage && onProceed && proceedLabel ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "my-6 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
|
|
34294
|
+
"button",
|
|
34295
|
+
{
|
|
34296
|
+
onClick: () => {
|
|
34297
|
+
if (isLatestMessage) {
|
|
34298
|
+
onProceed();
|
|
34299
|
+
}
|
|
34300
|
+
},
|
|
34301
|
+
className: cn(
|
|
34302
|
+
"px-6 py-2.5 border rounded-full transition-colors text-sm font-medium flex items-center gap-2",
|
|
34303
|
+
"bg-purpleLight dark:bg-purple200 text-purpleText2 dark:text-purpleText border-purpleText1 dark:border-purple100",
|
|
34304
|
+
"hover:bg-purpleText1 dark:hover:bg-purple100 dark:hover:text-white"
|
|
34305
|
+
),
|
|
34306
|
+
children: [
|
|
34307
|
+
proceedLabel,
|
|
34308
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ChevronRight, { className: "w-4 h-4" })
|
|
34309
|
+
]
|
|
34310
|
+
}
|
|
34311
|
+
) }) : !isLatestMessage && footer ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "flex justify-end items-center pb-4 pr-4 gap-1 text-green-600 text-sm font-medium", children: footer }) : null
|
|
34273
34312
|
]
|
|
34274
34313
|
}
|
|
34275
34314
|
);
|
|
@@ -34791,59 +34830,41 @@ var CampaignSeedCard = import_react59.default.memo(
|
|
|
34791
34830
|
const fields = (0, import_react59.useMemo)(() => {
|
|
34792
34831
|
return providedFields || generateFieldsFromData(data);
|
|
34793
34832
|
}, [providedFields, data]);
|
|
34794
|
-
return /* @__PURE__ */ (0, import_jsx_runtime106.
|
|
34795
|
-
|
|
34796
|
-
|
|
34797
|
-
|
|
34798
|
-
|
|
34799
|
-
|
|
34800
|
-
|
|
34801
|
-
|
|
34802
|
-
|
|
34803
|
-
/* @__PURE__ */ (0, import_jsx_runtime106.
|
|
34804
|
-
|
|
34805
|
-
|
|
34806
|
-
|
|
34807
|
-
|
|
34833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex flex-col gap-2 mb-10", children: [
|
|
34834
|
+
/* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
34835
|
+
FormCard,
|
|
34836
|
+
{
|
|
34837
|
+
...formCardProps,
|
|
34838
|
+
data,
|
|
34839
|
+
title: formCardProps.title || "Campaign Brief",
|
|
34840
|
+
fields,
|
|
34841
|
+
className,
|
|
34842
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-xs font-semibold py-1 mb-6", children: [
|
|
34843
|
+
/* @__PURE__ */ (0, import_jsx_runtime106.jsx)(CircleCheck, { className: "h-4 w-4" }),
|
|
34844
|
+
/* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
34845
|
+
] }) : formCardProps.footer
|
|
34846
|
+
}
|
|
34847
|
+
),
|
|
34848
|
+
!isLatestMessage && selectionStatus && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "flex justify-center mt-4", children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
|
|
34849
|
+
"button",
|
|
34850
|
+
{
|
|
34851
|
+
className: cn(
|
|
34852
|
+
"flex items-center gap-2 px-6 py-2.5 border rounded-full text-sm transition-all active:scale-95",
|
|
34853
|
+
"bg-purpleLight dark:bg-purple200 hover:bg-purpleText1 dark:hover:bg-purple100 text-purpleText2 dark:text-purpleText border-purpleText1 dark:border-purpleText dark:hover:text-white"
|
|
34854
|
+
),
|
|
34855
|
+
children: "Continue"
|
|
34856
|
+
}
|
|
34857
|
+
) })
|
|
34858
|
+
] });
|
|
34808
34859
|
}
|
|
34809
34860
|
);
|
|
34810
34861
|
CampaignSeedCard.displayName = "CampaignSeedCard";
|
|
34811
34862
|
|
|
34812
34863
|
// src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
|
|
34813
|
-
var
|
|
34814
|
-
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
34815
|
-
var SearchSpecCard = import_react60.default.memo(
|
|
34816
|
-
({
|
|
34817
|
-
selectionStatus,
|
|
34818
|
-
isLatestMessage = true,
|
|
34819
|
-
className,
|
|
34820
|
-
fields: providedFields,
|
|
34821
|
-
data,
|
|
34822
|
-
...formCardProps
|
|
34823
|
-
}) => {
|
|
34824
|
-
const fields = (0, import_react60.useMemo)(() => {
|
|
34825
|
-
return providedFields || generateFieldsFromData(data);
|
|
34826
|
-
}, [providedFields, data]);
|
|
34827
|
-
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
34828
|
-
FormCard,
|
|
34829
|
-
{
|
|
34830
|
-
...formCardProps,
|
|
34831
|
-
data,
|
|
34832
|
-
title: formCardProps.title || "Search Specification",
|
|
34833
|
-
fields,
|
|
34834
|
-
className,
|
|
34835
|
-
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-xs font-semibold py-1", children: [
|
|
34836
|
-
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)(CircleCheck, { className: "h-4 w-4" }),
|
|
34837
|
-
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
34838
|
-
] }) : formCardProps.footer
|
|
34839
|
-
}
|
|
34840
|
-
);
|
|
34841
|
-
}
|
|
34842
|
-
);
|
|
34843
|
-
SearchSpecCard.displayName = "SearchSpecCard";
|
|
34864
|
+
var import_react61 = __toESM(require("react"), 1);
|
|
34844
34865
|
|
|
34845
34866
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
34846
|
-
var
|
|
34867
|
+
var import_react60 = require("react");
|
|
34847
34868
|
|
|
34848
34869
|
// src/lib/countries.ts
|
|
34849
34870
|
var countries = [
|
|
@@ -35050,15 +35071,15 @@ var countriesWithFlags = Object.fromEntries(
|
|
|
35050
35071
|
);
|
|
35051
35072
|
|
|
35052
35073
|
// src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
|
|
35053
|
-
var
|
|
35074
|
+
var import_jsx_runtime107 = require("react/jsx-runtime");
|
|
35054
35075
|
var CountrySelectEdit = ({
|
|
35055
35076
|
value,
|
|
35056
35077
|
onChange
|
|
35057
35078
|
}) => {
|
|
35058
|
-
const [isDropdownOpen, setIsDropdownOpen] = (0,
|
|
35059
|
-
const [searchTerm, setSearchTerm] = (0,
|
|
35060
|
-
const dropdownRef = (0,
|
|
35061
|
-
(0,
|
|
35079
|
+
const [isDropdownOpen, setIsDropdownOpen] = (0, import_react60.useState)(false);
|
|
35080
|
+
const [searchTerm, setSearchTerm] = (0, import_react60.useState)("");
|
|
35081
|
+
const dropdownRef = (0, import_react60.useRef)(null);
|
|
35082
|
+
(0, import_react60.useEffect)(() => {
|
|
35062
35083
|
const handleClickOutside = (event) => {
|
|
35063
35084
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
35064
35085
|
setIsDropdownOpen(false);
|
|
@@ -35068,16 +35089,16 @@ var CountrySelectEdit = ({
|
|
|
35068
35089
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
35069
35090
|
}, []);
|
|
35070
35091
|
const inputValue = Array.isArray(value) ? value : [];
|
|
35071
|
-
return /* @__PURE__ */ (0,
|
|
35072
|
-
/* @__PURE__ */ (0,
|
|
35073
|
-
/* @__PURE__ */ (0,
|
|
35092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "space-y-3", children: [
|
|
35093
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "relative", ref: dropdownRef, children: [
|
|
35094
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
|
|
35074
35095
|
"div",
|
|
35075
35096
|
{
|
|
35076
35097
|
className: "flex-1 bg-white border border-gray200 rounded-md px-3 py-2 text-sm cursor-pointer flex items-center justify-between font-medium hover:border-purple500 transition-colors",
|
|
35077
35098
|
onClick: () => setIsDropdownOpen(!isDropdownOpen),
|
|
35078
35099
|
children: [
|
|
35079
|
-
/* @__PURE__ */ (0,
|
|
35080
|
-
/* @__PURE__ */ (0,
|
|
35100
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "text-gray-700", children: inputValue.length > 0 ? `${inputValue.length} ${inputValue.length === 1 ? "country" : "countries"} selected` : "Select countries..." }),
|
|
35101
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35081
35102
|
ChevronDown,
|
|
35082
35103
|
{
|
|
35083
35104
|
className: cn(
|
|
@@ -35089,8 +35110,8 @@ var CountrySelectEdit = ({
|
|
|
35089
35110
|
]
|
|
35090
35111
|
}
|
|
35091
35112
|
),
|
|
35092
|
-
isDropdownOpen && /* @__PURE__ */ (0,
|
|
35093
|
-
/* @__PURE__ */ (0,
|
|
35113
|
+
isDropdownOpen && /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "absolute top-full left-0 right-0 mt-1 bg-white border border-gray200 rounded-lg shadow-xl z-50 max-h-60 overflow-hidden animate-in fade-in slide-in-from-top-1", children: [
|
|
35114
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "p-2 border-b border-gray-100", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35094
35115
|
"input",
|
|
35095
35116
|
{
|
|
35096
35117
|
type: "text",
|
|
@@ -35101,9 +35122,9 @@ var CountrySelectEdit = ({
|
|
|
35101
35122
|
onClick: (e) => e.stopPropagation()
|
|
35102
35123
|
}
|
|
35103
35124
|
) }),
|
|
35104
|
-
/* @__PURE__ */ (0,
|
|
35125
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "max-h-40 overflow-y-auto p-1", children: countries.filter(
|
|
35105
35126
|
(country) => country.name.toLowerCase().includes(searchTerm.toLowerCase()) || country.code.toLowerCase().includes(searchTerm.toLowerCase())
|
|
35106
|
-
).map((country) => /* @__PURE__ */ (0,
|
|
35127
|
+
).map((country) => /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
|
|
35107
35128
|
"div",
|
|
35108
35129
|
{
|
|
35109
35130
|
className: cn(
|
|
@@ -35124,31 +35145,31 @@ var CountrySelectEdit = ({
|
|
|
35124
35145
|
}
|
|
35125
35146
|
},
|
|
35126
35147
|
children: [
|
|
35127
|
-
/* @__PURE__ */ (0,
|
|
35128
|
-
/* @__PURE__ */ (0,
|
|
35129
|
-
/* @__PURE__ */ (0,
|
|
35148
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
35149
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "text-sm text-gray-700", children: country.name }),
|
|
35150
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "text-xs text-gray-400 font-mono", children: country.code })
|
|
35130
35151
|
] }),
|
|
35131
|
-
inputValue.includes(country.code) && /* @__PURE__ */ (0,
|
|
35152
|
+
inputValue.includes(country.code) && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(Check, { className: "h-4 w-4 text-purple500" })
|
|
35132
35153
|
]
|
|
35133
35154
|
},
|
|
35134
35155
|
country.code
|
|
35135
35156
|
)) })
|
|
35136
35157
|
] })
|
|
35137
35158
|
] }),
|
|
35138
|
-
inputValue.length > 0 && /* @__PURE__ */ (0,
|
|
35159
|
+
inputValue.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex flex-wrap gap-1.5", children: inputValue.map((countryCode) => /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
|
|
35139
35160
|
Badge2,
|
|
35140
35161
|
{
|
|
35141
35162
|
variant: "secondary",
|
|
35142
35163
|
className: "bg-purple50 text-purple700 border-purple100 hover:bg-purple100 cursor-default flex items-center gap-1 pr-1",
|
|
35143
35164
|
children: [
|
|
35144
35165
|
countryCode,
|
|
35145
|
-
/* @__PURE__ */ (0,
|
|
35166
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
|
|
35146
35167
|
"button",
|
|
35147
35168
|
{
|
|
35148
35169
|
onClick: () => onChange(inputValue.filter((c) => c !== countryCode)),
|
|
35149
35170
|
className: "hover:bg-purple200 rounded-full p-0.5 transition-colors",
|
|
35150
35171
|
children: [
|
|
35151
|
-
/* @__PURE__ */ (0,
|
|
35172
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)(ChevronDown, { className: "h-3 w-3 rotate-45" }),
|
|
35152
35173
|
" "
|
|
35153
35174
|
]
|
|
35154
35175
|
}
|
|
@@ -35161,9 +35182,9 @@ var CountrySelectEdit = ({
|
|
|
35161
35182
|
};
|
|
35162
35183
|
var CountrySelectDisplay = ({ value }) => {
|
|
35163
35184
|
if (!value || !Array.isArray(value) || value.length === 0) {
|
|
35164
|
-
return /* @__PURE__ */ (0,
|
|
35185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "text-muted-foreground italic", children: "Not specified" });
|
|
35165
35186
|
}
|
|
35166
|
-
return /* @__PURE__ */ (0,
|
|
35187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex flex-wrap gap-1.5", children: value.map((countryCode) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35167
35188
|
Badge2,
|
|
35168
35189
|
{
|
|
35169
35190
|
variant: "outline",
|
|
@@ -35185,22 +35206,22 @@ var KeywordBundlesEdit = ({
|
|
|
35185
35206
|
groups[p].push({ bundle: b, index: idx });
|
|
35186
35207
|
});
|
|
35187
35208
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
35188
|
-
return /* @__PURE__ */ (0,
|
|
35189
|
-
/* @__PURE__ */ (0,
|
|
35190
|
-
/* @__PURE__ */ (0,
|
|
35209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "space-y-6 pt-2", children: sortedPriorities.map((priority) => /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "space-y-3", children: [
|
|
35210
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
35211
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(Badge2, { className: "bg-purple500 hover:bg-purple500", children: [
|
|
35191
35212
|
"Priority ",
|
|
35192
35213
|
priority
|
|
35193
35214
|
] }),
|
|
35194
|
-
/* @__PURE__ */ (0,
|
|
35215
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "h-px flex-1 bg-gray-100" })
|
|
35195
35216
|
] }),
|
|
35196
|
-
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */ (0,
|
|
35217
|
+
groups[priority].map(({ bundle, index: bundleIndex }) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35197
35218
|
"div",
|
|
35198
35219
|
{
|
|
35199
35220
|
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",
|
|
35200
|
-
children: /* @__PURE__ */ (0,
|
|
35201
|
-
/* @__PURE__ */ (0,
|
|
35202
|
-
/* @__PURE__ */ (0,
|
|
35203
|
-
/* @__PURE__ */ (0,
|
|
35221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex flex-col gap-3", children: [
|
|
35222
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Keywords" }),
|
|
35223
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "space-y-3", children: [
|
|
35224
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex flex-wrap gap-1.5", children: Array.isArray(bundle.keywords) && bundle.keywords.map((keyword, kIndex) => /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
|
|
35204
35225
|
Badge2,
|
|
35205
35226
|
{
|
|
35206
35227
|
className: "bg-white border-gray-200 text-gray-700 hover:bg-red-50 hover:text-red-600 hover:border-red-100 transition-all cursor-pointer group",
|
|
@@ -35216,12 +35237,12 @@ var KeywordBundlesEdit = ({
|
|
|
35216
35237
|
},
|
|
35217
35238
|
children: [
|
|
35218
35239
|
keyword,
|
|
35219
|
-
/* @__PURE__ */ (0,
|
|
35240
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "ml-1 opacity-0 group-hover:opacity-100 transition-opacity", children: "\xD7" })
|
|
35220
35241
|
]
|
|
35221
35242
|
},
|
|
35222
35243
|
kIndex
|
|
35223
35244
|
)) }),
|
|
35224
|
-
/* @__PURE__ */ (0,
|
|
35245
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35225
35246
|
"input",
|
|
35226
35247
|
{
|
|
35227
35248
|
type: "text",
|
|
@@ -35245,9 +35266,9 @@ var KeywordBundlesEdit = ({
|
|
|
35245
35266
|
}
|
|
35246
35267
|
) })
|
|
35247
35268
|
] }),
|
|
35248
|
-
/* @__PURE__ */ (0,
|
|
35249
|
-
/* @__PURE__ */ (0,
|
|
35250
|
-
/* @__PURE__ */ (0,
|
|
35269
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex flex-col gap-1.5 mt-1", children: [
|
|
35270
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("label", { className: "text-[10px] font-bold text-gray-400 uppercase tracking-widest pl-1", children: "Priority Level (1-5)" }),
|
|
35271
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35251
35272
|
"input",
|
|
35252
35273
|
{
|
|
35253
35274
|
type: "number",
|
|
@@ -35275,7 +35296,7 @@ var KeywordBundlesEdit = ({
|
|
|
35275
35296
|
var KeywordBundlesDisplay = ({ value }) => {
|
|
35276
35297
|
const bundles = Array.isArray(value) ? value : [];
|
|
35277
35298
|
if (bundles.length === 0)
|
|
35278
|
-
return /* @__PURE__ */ (0,
|
|
35299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: "text-gray-500 italic text-sm", children: "Not specified" });
|
|
35279
35300
|
const groups = {};
|
|
35280
35301
|
bundles.forEach((b) => {
|
|
35281
35302
|
const p = Number(b?.priority) || 1;
|
|
@@ -35284,28 +35305,20 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
35284
35305
|
groups[p].push(...keywords);
|
|
35285
35306
|
});
|
|
35286
35307
|
const sortedPriorities = Object.keys(groups).map((n) => parseInt(n)).sort((a, b) => a - b);
|
|
35287
|
-
return /* @__PURE__ */ (0,
|
|
35308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "space-y-4 pt-2", children: sortedPriorities.map((priority) => {
|
|
35288
35309
|
const deduped = Array.from(new Set(groups[priority]));
|
|
35289
|
-
return /* @__PURE__ */ (0,
|
|
35290
|
-
/* @__PURE__ */ (0,
|
|
35291
|
-
/* @__PURE__ */ (0,
|
|
35292
|
-
|
|
35293
|
-
|
|
35294
|
-
|
|
35295
|
-
|
|
35296
|
-
children: [
|
|
35297
|
-
"Priority ",
|
|
35298
|
-
priority
|
|
35299
|
-
]
|
|
35300
|
-
}
|
|
35301
|
-
),
|
|
35302
|
-
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "h-px flex-1 bg-gray-100/50" })
|
|
35310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "space-y-2", children: [
|
|
35311
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
35312
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("span", { className: "text-[10px] uppercase tracking-widest text-purple-400 font-bold", children: [
|
|
35313
|
+
"Priority ",
|
|
35314
|
+
priority
|
|
35315
|
+
] }),
|
|
35316
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "h-[1px] flex-1 bg-white/10" })
|
|
35303
35317
|
] }),
|
|
35304
|
-
/* @__PURE__ */ (0,
|
|
35305
|
-
|
|
35318
|
+
/* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "flex flex-wrap gap-2", children: deduped.map((keyword) => /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
|
|
35319
|
+
"div",
|
|
35306
35320
|
{
|
|
35307
|
-
|
|
35308
|
-
className: "bg-white border-gray-200 text-gray-700 font-medium",
|
|
35321
|
+
className: "px-2 py-1 rounded bg-[#1A1A1A] border border-white/10 text-gray-300 text-xs font-medium",
|
|
35309
35322
|
children: keyword
|
|
35310
35323
|
},
|
|
35311
35324
|
keyword
|
|
@@ -35314,6 +35327,98 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
35314
35327
|
}) });
|
|
35315
35328
|
};
|
|
35316
35329
|
|
|
35330
|
+
// src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
|
|
35331
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
35332
|
+
var ObjectDisplay = ({ value }) => {
|
|
35333
|
+
if (!value || typeof value !== "object") return null;
|
|
35334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "space-y-1 pt-1", children: Object.entries(value).map(([k, v]) => /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "flex gap-2 text-sm", children: [
|
|
35335
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("span", { className: "text-muted-foreground capitalize min-w-[120px]", children: [
|
|
35336
|
+
k.replace(/_/g, " "),
|
|
35337
|
+
":"
|
|
35338
|
+
] }),
|
|
35339
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-foreground font-medium", children: Array.isArray(v) ? v.join(", ") : String(v) })
|
|
35340
|
+
] }, k)) });
|
|
35341
|
+
};
|
|
35342
|
+
var StringArrayDisplay = ({ value }) => {
|
|
35343
|
+
if (!Array.isArray(value) || value.length === 0)
|
|
35344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-muted-foreground italic text-sm", children: "Not specified" });
|
|
35345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "flex flex-wrap gap-1.5 pt-1", children: value.map((item) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Badge2, { variant: "outline", className: "text-xs", children: item }, item)) });
|
|
35346
|
+
};
|
|
35347
|
+
function buildSearchSpecFields(data) {
|
|
35348
|
+
if (!data || typeof data !== "object") return [];
|
|
35349
|
+
return Object.keys(data).map((key) => {
|
|
35350
|
+
const value = data[key];
|
|
35351
|
+
if (key === "keyword_bundles") {
|
|
35352
|
+
return {
|
|
35353
|
+
key,
|
|
35354
|
+
label: "Keyword Bundles",
|
|
35355
|
+
type: "custom",
|
|
35356
|
+
renderDisplay: (v) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(KeywordBundlesDisplay, { value: v }),
|
|
35357
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(KeywordBundlesEdit, { value: v, onChange })
|
|
35358
|
+
};
|
|
35359
|
+
}
|
|
35360
|
+
if (key === "geography") {
|
|
35361
|
+
return {
|
|
35362
|
+
key,
|
|
35363
|
+
label: "Geography",
|
|
35364
|
+
type: "custom",
|
|
35365
|
+
renderDisplay: (v) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(CountrySelectDisplay, { value: v }),
|
|
35366
|
+
renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(CountrySelectEdit, { value: v, onChange })
|
|
35367
|
+
};
|
|
35368
|
+
}
|
|
35369
|
+
if (key === "platforms" && Array.isArray(value)) {
|
|
35370
|
+
return {
|
|
35371
|
+
key,
|
|
35372
|
+
label: "Platforms",
|
|
35373
|
+
type: "custom",
|
|
35374
|
+
renderDisplay: (v) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(StringArrayDisplay, { value: v })
|
|
35375
|
+
};
|
|
35376
|
+
}
|
|
35377
|
+
if (typeof value === "object" && value !== null && !Array.isArray(value) && !("min" in value && "max" in value)) {
|
|
35378
|
+
const label = key.split("_").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
35379
|
+
return {
|
|
35380
|
+
key,
|
|
35381
|
+
label,
|
|
35382
|
+
type: "custom",
|
|
35383
|
+
renderDisplay: (v) => /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(ObjectDisplay, { value: v })
|
|
35384
|
+
};
|
|
35385
|
+
}
|
|
35386
|
+
const [generated] = generateFieldsFromData({ [key]: value });
|
|
35387
|
+
return generated;
|
|
35388
|
+
});
|
|
35389
|
+
}
|
|
35390
|
+
var SearchSpecCard = import_react61.default.memo(
|
|
35391
|
+
({
|
|
35392
|
+
selectionStatus,
|
|
35393
|
+
isLatestMessage = true,
|
|
35394
|
+
className,
|
|
35395
|
+
fields: providedFields,
|
|
35396
|
+
data,
|
|
35397
|
+
specData,
|
|
35398
|
+
...formCardProps
|
|
35399
|
+
}) => {
|
|
35400
|
+
const resolvedData = data || specData;
|
|
35401
|
+
const fields = (0, import_react61.useMemo)(() => {
|
|
35402
|
+
return providedFields || buildSearchSpecFields(resolvedData ?? {});
|
|
35403
|
+
}, [providedFields, resolvedData]);
|
|
35404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
|
|
35405
|
+
FormCard,
|
|
35406
|
+
{
|
|
35407
|
+
...formCardProps,
|
|
35408
|
+
data: resolvedData ?? {},
|
|
35409
|
+
title: formCardProps.title || "Search Specification",
|
|
35410
|
+
fields,
|
|
35411
|
+
className,
|
|
35412
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-xs font-semibold py-1", children: [
|
|
35413
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)(CircleCheck, { className: "h-4 w-4" }),
|
|
35414
|
+
/* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
35415
|
+
] }) : formCardProps.footer
|
|
35416
|
+
}
|
|
35417
|
+
);
|
|
35418
|
+
}
|
|
35419
|
+
);
|
|
35420
|
+
SearchSpecCard.displayName = "SearchSpecCard";
|
|
35421
|
+
|
|
35317
35422
|
// src/molecules/creator-discovery/MCQCard/MCQCard.tsx
|
|
35318
35423
|
var import_react62 = __toESM(require("react"), 1);
|
|
35319
35424
|
var import_jsx_runtime109 = require("react/jsx-runtime");
|
|
@@ -35322,116 +35427,123 @@ var MCQCard = import_react62.default.memo(
|
|
|
35322
35427
|
question,
|
|
35323
35428
|
options,
|
|
35324
35429
|
recommended,
|
|
35325
|
-
selectedOption,
|
|
35430
|
+
selectedOption: propsSelectedOption,
|
|
35326
35431
|
onSelect,
|
|
35327
|
-
|
|
35432
|
+
onProceed,
|
|
35328
35433
|
isLatestMessage = true,
|
|
35329
|
-
countdown,
|
|
35330
|
-
isPaused = false,
|
|
35331
|
-
onPause,
|
|
35332
35434
|
isLoading = false,
|
|
35333
35435
|
className,
|
|
35334
|
-
selectionStatus
|
|
35436
|
+
selectionStatus,
|
|
35437
|
+
onAction,
|
|
35438
|
+
disabled = false
|
|
35335
35439
|
}) => {
|
|
35336
|
-
const [
|
|
35337
|
-
const
|
|
35338
|
-
|
|
35339
|
-
if (
|
|
35340
|
-
|
|
35440
|
+
const [selectedOption, setSelectedOption] = import_react62.default.useState(propsSelectedOption);
|
|
35441
|
+
const [isProceeded, setIsProceeded] = import_react62.default.useState(false);
|
|
35442
|
+
import_react62.default.useEffect(() => {
|
|
35443
|
+
if (propsSelectedOption) {
|
|
35444
|
+
setSelectedOption(propsSelectedOption);
|
|
35445
|
+
setIsProceeded(true);
|
|
35446
|
+
}
|
|
35447
|
+
}, [propsSelectedOption]);
|
|
35448
|
+
const handleOptionClick = (key, e) => {
|
|
35449
|
+
e.preventDefault();
|
|
35450
|
+
e.stopPropagation();
|
|
35451
|
+
if (isLatestMessage && !isLoading && !disabled && !isProceeded) {
|
|
35452
|
+
setSelectedOption(key);
|
|
35341
35453
|
onSelect?.(key);
|
|
35342
35454
|
}
|
|
35343
35455
|
};
|
|
35344
|
-
const handleProceed = () => {
|
|
35345
|
-
|
|
35346
|
-
|
|
35347
|
-
|
|
35348
|
-
|
|
35349
|
-
|
|
35456
|
+
const handleProceed = (e) => {
|
|
35457
|
+
e.preventDefault();
|
|
35458
|
+
e.stopPropagation();
|
|
35459
|
+
if ((selectedOption || recommended) && !disabled && !isProceeded) {
|
|
35460
|
+
const result = selectedOption || recommended || "";
|
|
35461
|
+
setIsProceeded(true);
|
|
35462
|
+
onProceed?.(result);
|
|
35463
|
+
onAction?.({
|
|
35464
|
+
type: "mcq_selection",
|
|
35465
|
+
value: result,
|
|
35466
|
+
label: options[result] || result
|
|
35467
|
+
});
|
|
35350
35468
|
}
|
|
35351
35469
|
};
|
|
35470
|
+
const isInteractionDisabled = disabled || !isLatestMessage || isProceeded;
|
|
35352
35471
|
return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
|
|
35353
|
-
|
|
35472
|
+
"div",
|
|
35354
35473
|
{
|
|
35355
35474
|
className: cn(
|
|
35356
|
-
"
|
|
35475
|
+
"p-6 rounded-[20px] border border-gray400 bg-background dark:bg-gray200 font-noto w-full",
|
|
35357
35476
|
className
|
|
35358
35477
|
),
|
|
35359
35478
|
children: [
|
|
35360
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35361
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35362
|
-
const isSelected =
|
|
35479
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("h4", { className: "font-medium text-foreground px-3 py-1 rounded-md inline-block mb-2", children: question }) }),
|
|
35480
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "mb-6", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "space-y-4", children: Object.entries(options).map(([key, label]) => {
|
|
35481
|
+
const isSelected = selectedOption === key;
|
|
35363
35482
|
const isRecommended = key === recommended;
|
|
35364
35483
|
return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
|
|
35365
35484
|
"div",
|
|
35366
35485
|
{
|
|
35367
|
-
onClick: () => handleOptionClick(key),
|
|
35486
|
+
onClick: (e) => handleOptionClick(key, e),
|
|
35368
35487
|
className: cn(
|
|
35369
|
-
"
|
|
35370
|
-
|
|
35371
|
-
|
|
35488
|
+
"cursor-pointer rounded-xl p-3 transition-colors relative",
|
|
35489
|
+
"border border-transparent bg-paperBackground",
|
|
35490
|
+
!selectedOption && !isInteractionDisabled && "hover:border-gray500",
|
|
35491
|
+
(isLoading || isInteractionDisabled) && "opacity-50 cursor-not-allowed"
|
|
35372
35492
|
),
|
|
35373
35493
|
children: [
|
|
35374
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35494
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "absolute top-1/2 left-4 transform -translate-y-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35375
35495
|
"div",
|
|
35376
35496
|
{
|
|
35377
35497
|
className: cn(
|
|
35378
|
-
"
|
|
35379
|
-
isSelected ? "border-
|
|
35498
|
+
"w-5 h-5 rounded-full border flex items-center justify-center transition-colors",
|
|
35499
|
+
isSelected ? "border-purple100 bg-gray300" : cn(
|
|
35500
|
+
"border-gray300 bg-background",
|
|
35501
|
+
!selectedOption && !isInteractionDisabled && "hover:border-purple100"
|
|
35502
|
+
)
|
|
35380
35503
|
),
|
|
35381
|
-
children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "w-
|
|
35504
|
+
children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "w-2.5 h-2.5 rounded-full bg-purple100" })
|
|
35382
35505
|
}
|
|
35383
|
-
),
|
|
35384
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.
|
|
35385
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.
|
|
35386
|
-
"
|
|
35387
|
-
{
|
|
35388
|
-
|
|
35389
|
-
|
|
35390
|
-
|
|
35391
|
-
|
|
35392
|
-
|
|
35393
|
-
|
|
35394
|
-
|
|
35395
|
-
|
|
35396
|
-
|
|
35397
|
-
|
|
35398
|
-
|
|
35399
|
-
|
|
35400
|
-
children: [
|
|
35401
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(Sparkles, { className: "h-3 w-3" }),
|
|
35402
|
-
"Recommended"
|
|
35403
|
-
]
|
|
35404
|
-
}
|
|
35405
|
-
),
|
|
35406
|
-
isSelected && /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35407
|
-
Badge2,
|
|
35408
|
-
{
|
|
35409
|
-
variant: "outline",
|
|
35410
|
-
className: "bg-[var(--primary-color)]/10 text-[var(--primary-color)] border-[var(--primary-color)]/20 text-[10px] py-0 h-5",
|
|
35411
|
-
children: "Selected"
|
|
35412
|
-
}
|
|
35413
|
-
)
|
|
35414
|
-
] }) })
|
|
35506
|
+
) }),
|
|
35507
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "pl-12", children: [
|
|
35508
|
+
(isRecommended || isSelected) && /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "flex gap-2 mb-2 flex-wrap", children: [
|
|
35509
|
+
isRecommended && /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "flex text-xs font-semibold", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("p", { className: "bg-greenBackground text-greenText px-2 py-1 rounded-[20px]", children: "Recommended" }) }),
|
|
35510
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "flex text-xs font-semibold", children: /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35511
|
+
"p",
|
|
35512
|
+
{
|
|
35513
|
+
className: cn(
|
|
35514
|
+
"px-2 py-1 rounded-[20px]",
|
|
35515
|
+
selectedOption === recommended ? "bg-purpleLight text-purpleText2 dark:bg-primary/20 dark:text-primary" : "bg-paperBackground text-primaryDark2 dark:bg-primary/20 dark:text-primary"
|
|
35516
|
+
),
|
|
35517
|
+
children: "Selected by you"
|
|
35518
|
+
}
|
|
35519
|
+
) })
|
|
35520
|
+
] }),
|
|
35521
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "text-base font-medium text-txtColor", children: label })
|
|
35522
|
+
] })
|
|
35415
35523
|
]
|
|
35416
35524
|
},
|
|
35417
35525
|
key
|
|
35418
35526
|
);
|
|
35419
|
-
}) }),
|
|
35420
|
-
/* @__PURE__ */ (0, import_jsx_runtime109.
|
|
35421
|
-
|
|
35422
|
-
|
|
35423
|
-
|
|
35424
|
-
|
|
35425
|
-
|
|
35426
|
-
|
|
35427
|
-
|
|
35428
|
-
|
|
35429
|
-
|
|
35430
|
-
|
|
35431
|
-
|
|
35432
|
-
|
|
35433
|
-
|
|
35434
|
-
|
|
35527
|
+
}) }) }),
|
|
35528
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "flex justify-between items-center", children: [
|
|
35529
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "flex-1" }),
|
|
35530
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
|
|
35531
|
+
"button",
|
|
35532
|
+
{
|
|
35533
|
+
onClick: (e) => handleProceed(e),
|
|
35534
|
+
disabled: isInteractionDisabled || isLoading || !selectedOption && !recommended,
|
|
35535
|
+
className: cn(
|
|
35536
|
+
"flex-3 px-4 py-2 border rounded-full text-sm disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
|
|
35537
|
+
"bg-purpleLight dark:bg-purple200 hover:bg-purpleText1 dark:hover:bg-purple100 text-purpleText2 dark:text-purpleText border-purpleText1 dark:border-purple-border dark:hover:text-white"
|
|
35538
|
+
),
|
|
35539
|
+
children: isLoading ? "Sending..." : "Continue"
|
|
35540
|
+
}
|
|
35541
|
+
),
|
|
35542
|
+
isLatestMessage ? /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "flex-1" }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("div", { className: "flex-1 text-right text-xs bg-green100 text-green-600 dark:text-green500", children: selectionStatus === "agent" ? /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "flex flex-col gap-1 sm:flex-row sm:justify-end", children: [
|
|
35543
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { className: "whitespace-nowrap", children: "Suggested by an Agent," }),
|
|
35544
|
+
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { className: "whitespace-nowrap", children: "Approved by You" })
|
|
35545
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { children: "Selected by you" }) })
|
|
35546
|
+
] })
|
|
35435
35547
|
]
|
|
35436
35548
|
}
|
|
35437
35549
|
);
|
|
@@ -35911,6 +36023,216 @@ var CreatorActionHeader = ({
|
|
|
35911
36023
|
);
|
|
35912
36024
|
};
|
|
35913
36025
|
|
|
36026
|
+
// src/molecules/creator-discovery/CreatorSearchBox/CreatorSearch.tsx
|
|
36027
|
+
var import_react63 = __toESM(require("react"), 1);
|
|
36028
|
+
var import_jsx_runtime120 = require("react/jsx-runtime");
|
|
36029
|
+
var CreatorSearch = import_react63.default.memo(
|
|
36030
|
+
({
|
|
36031
|
+
selectionStatus,
|
|
36032
|
+
isLatestMessage = true,
|
|
36033
|
+
className,
|
|
36034
|
+
fields: providedFields,
|
|
36035
|
+
data,
|
|
36036
|
+
...formCardProps
|
|
36037
|
+
}) => {
|
|
36038
|
+
const fields = (0, import_react63.useMemo)(() => {
|
|
36039
|
+
const baseFields = providedFields || generateFieldsFromData(data);
|
|
36040
|
+
return baseFields.map((field) => {
|
|
36041
|
+
if (field.key === "platforms") {
|
|
36042
|
+
return {
|
|
36043
|
+
...field,
|
|
36044
|
+
renderDisplay: (val) => {
|
|
36045
|
+
const platforms = Array.isArray(val) ? val : [val];
|
|
36046
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex flex-wrap gap-2", children: platforms.map((p) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
36047
|
+
BadgeAtom,
|
|
36048
|
+
{
|
|
36049
|
+
id: `platform-${p}`,
|
|
36050
|
+
type: "badge",
|
|
36051
|
+
label: p,
|
|
36052
|
+
variant: "outline",
|
|
36053
|
+
className: "bg-[#1A1A1A] border-gray400 text-white font-medium"
|
|
36054
|
+
},
|
|
36055
|
+
p
|
|
36056
|
+
)) });
|
|
36057
|
+
}
|
|
36058
|
+
};
|
|
36059
|
+
}
|
|
36060
|
+
if (field.key === "geography") {
|
|
36061
|
+
return {
|
|
36062
|
+
...field,
|
|
36063
|
+
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(CountrySelectDisplay, { value: val })
|
|
36064
|
+
};
|
|
36065
|
+
}
|
|
36066
|
+
if (field.key === "keywordBundles") {
|
|
36067
|
+
return {
|
|
36068
|
+
...field,
|
|
36069
|
+
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(KeywordBundlesDisplay, { value: val })
|
|
36070
|
+
};
|
|
36071
|
+
}
|
|
36072
|
+
if (field.key === "followerRange") {
|
|
36073
|
+
return {
|
|
36074
|
+
...field,
|
|
36075
|
+
renderDisplay: (val) => {
|
|
36076
|
+
if (typeof val === "object" && val !== null) {
|
|
36077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "text-white font-medium", children: `${val.min?.toLocaleString()} - ${val.max?.toLocaleString()} followers` });
|
|
36078
|
+
}
|
|
36079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("span", { className: "text-white font-medium", children: [
|
|
36080
|
+
val,
|
|
36081
|
+
" followers"
|
|
36082
|
+
] });
|
|
36083
|
+
}
|
|
36084
|
+
};
|
|
36085
|
+
}
|
|
36086
|
+
if (field.key === "initialCreators") {
|
|
36087
|
+
return {
|
|
36088
|
+
...field,
|
|
36089
|
+
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("span", { className: "text-white font-medium", children: [
|
|
36090
|
+
val,
|
|
36091
|
+
" creators"
|
|
36092
|
+
] })
|
|
36093
|
+
};
|
|
36094
|
+
}
|
|
36095
|
+
return field;
|
|
36096
|
+
});
|
|
36097
|
+
}, [providedFields, data]);
|
|
36098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
36099
|
+
FormCard,
|
|
36100
|
+
{
|
|
36101
|
+
...formCardProps,
|
|
36102
|
+
data,
|
|
36103
|
+
title: formCardProps.title || "Creator Search Settings",
|
|
36104
|
+
fields,
|
|
36105
|
+
showTimeline: true,
|
|
36106
|
+
className: cn("font-noto", className),
|
|
36107
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-[10px] font-semibold py-4 pr-6", children: [
|
|
36108
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
36109
|
+
/* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
36110
|
+
] }) : formCardProps.footer
|
|
36111
|
+
}
|
|
36112
|
+
) });
|
|
36113
|
+
}
|
|
36114
|
+
);
|
|
36115
|
+
CreatorSearch.displayName = "CreatorSearch";
|
|
36116
|
+
|
|
36117
|
+
// src/molecules/creator-discovery/CampaignConceptCard/CampaignConceptCard.tsx
|
|
36118
|
+
var import_react64 = __toESM(require("react"), 1);
|
|
36119
|
+
var import_framer_motion = require("framer-motion");
|
|
36120
|
+
var import_jsx_runtime121 = require("react/jsx-runtime");
|
|
36121
|
+
var CampaignConceptCard = import_react64.default.memo(
|
|
36122
|
+
({
|
|
36123
|
+
isRecommended,
|
|
36124
|
+
isOpen: controlledIsOpen,
|
|
36125
|
+
onToggle,
|
|
36126
|
+
data,
|
|
36127
|
+
fields: providedFields,
|
|
36128
|
+
title,
|
|
36129
|
+
selectionStatus,
|
|
36130
|
+
isLatestMessage = true,
|
|
36131
|
+
className,
|
|
36132
|
+
...formCardProps
|
|
36133
|
+
}) => {
|
|
36134
|
+
const [internalIsOpen, setInternalIsOpen] = (0, import_react64.useState)(false);
|
|
36135
|
+
const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
|
|
36136
|
+
const handleToggle = () => {
|
|
36137
|
+
if (onToggle) {
|
|
36138
|
+
onToggle();
|
|
36139
|
+
} else {
|
|
36140
|
+
setInternalIsOpen(!internalIsOpen);
|
|
36141
|
+
}
|
|
36142
|
+
};
|
|
36143
|
+
const fields = (0, import_react64.useMemo)(() => {
|
|
36144
|
+
const baseFields = providedFields || generateFieldsFromData(data);
|
|
36145
|
+
return baseFields.map((field) => {
|
|
36146
|
+
if (field.key === "budgetAllocation") {
|
|
36147
|
+
return {
|
|
36148
|
+
...field,
|
|
36149
|
+
renderDisplay: (val) => {
|
|
36150
|
+
if (!Array.isArray(val)) return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { children: val });
|
|
36151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "space-y-2", children: val.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex items-center gap-2 text-xs font-medium", children: [
|
|
36152
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("span", { children: [
|
|
36153
|
+
idx + 1,
|
|
36154
|
+
"."
|
|
36155
|
+
] }),
|
|
36156
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "bg-[#1A1A1A] border border-white/10 px-2 py-0.5 rounded text-gray-300", children: item.label }),
|
|
36157
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-gray-400", children: "=" }),
|
|
36158
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "bg-[#1A1A1A] border border-white/10 px-2 py-0.5 rounded text-gray-300", children: item.value })
|
|
36159
|
+
] }, idx)) });
|
|
36160
|
+
}
|
|
36161
|
+
};
|
|
36162
|
+
}
|
|
36163
|
+
if (field.key === "estimatedCreators") {
|
|
36164
|
+
return {
|
|
36165
|
+
...field,
|
|
36166
|
+
renderDisplay: (val) => {
|
|
36167
|
+
if (!Array.isArray(val)) return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-white font-medium", children: val });
|
|
36168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "flex gap-2", children: val.map((v, idx) => /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "bg-[#1A1A1A] border border-white/10 px-2 py-0.5 rounded text-white text-xs font-medium", children: v }, idx)) });
|
|
36169
|
+
}
|
|
36170
|
+
};
|
|
36171
|
+
}
|
|
36172
|
+
return {
|
|
36173
|
+
...field,
|
|
36174
|
+
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "text-gray-300 text-sm", children: val })
|
|
36175
|
+
};
|
|
36176
|
+
});
|
|
36177
|
+
}, [providedFields, data]);
|
|
36178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
36179
|
+
"div",
|
|
36180
|
+
{
|
|
36181
|
+
className: cn(
|
|
36182
|
+
"w-full rounded-[20px] transition-all duration-300 bg-background dark:bg-gray50",
|
|
36183
|
+
isOpen ? "border border-green-500/50 shadow-[0_0_15px_rgba(34,197,94,0.1)]" : "border border-gray400",
|
|
36184
|
+
className
|
|
36185
|
+
),
|
|
36186
|
+
children: [
|
|
36187
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
|
|
36188
|
+
"div",
|
|
36189
|
+
{
|
|
36190
|
+
className: "flex items-center justify-between p-6 cursor-pointer select-none",
|
|
36191
|
+
onClick: handleToggle,
|
|
36192
|
+
children: [
|
|
36193
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex flex-col gap-2", children: [
|
|
36194
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("h3", { className: "text-lg font-semibold text-white tracking-wide", children: title || data.title }),
|
|
36195
|
+
isRecommended && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "inline-flex text-[10px] font-bold uppercase tracking-widest text-[#22C55E]", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { className: "bg-[#22C55E]/10 px-2 py-0.5 rounded border border-[#22C55E]/20", children: "Recommended" }) })
|
|
36196
|
+
] }),
|
|
36197
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: cn(
|
|
36198
|
+
"p-2 rounded-lg bg-white/5 border border-white/10 text-gray-400 transition-transform duration-300",
|
|
36199
|
+
isOpen && "rotate-180"
|
|
36200
|
+
), children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(ChevronDown, { className: "h-4 w-4" }) })
|
|
36201
|
+
]
|
|
36202
|
+
}
|
|
36203
|
+
),
|
|
36204
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_framer_motion.AnimatePresence, { initial: false, children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
36205
|
+
import_framer_motion.motion.div,
|
|
36206
|
+
{
|
|
36207
|
+
initial: { height: 0, opacity: 0 },
|
|
36208
|
+
animate: { height: "auto", opacity: 1 },
|
|
36209
|
+
exit: { height: 0, opacity: 0 },
|
|
36210
|
+
transition: { duration: 0.3, ease: "easeInOut" },
|
|
36211
|
+
className: "overflow-hidden",
|
|
36212
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("div", { className: "px-6 pb-6 pt-0 border-t border-white/5", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
36213
|
+
FormCard,
|
|
36214
|
+
{
|
|
36215
|
+
...formCardProps,
|
|
36216
|
+
title: title || data.title || "Campaign Concept",
|
|
36217
|
+
data,
|
|
36218
|
+
fields,
|
|
36219
|
+
showTimeline: true,
|
|
36220
|
+
className: "bg-transparent border-none shadow-none mb-0 p-0",
|
|
36221
|
+
footer: !isLatestMessage && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("div", { className: "flex justify-end items-center gap-1.5 text-green-600 text-[10px] font-semibold py-4 pr-6", children: [
|
|
36222
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
36223
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
36224
|
+
] }) : formCardProps.footer
|
|
36225
|
+
}
|
|
36226
|
+
) })
|
|
36227
|
+
}
|
|
36228
|
+
) })
|
|
36229
|
+
]
|
|
36230
|
+
}
|
|
36231
|
+
);
|
|
36232
|
+
}
|
|
36233
|
+
);
|
|
36234
|
+
CampaignConceptCard.displayName = "CampaignConceptCard";
|
|
36235
|
+
|
|
35914
36236
|
// src/components/ui/index.ts
|
|
35915
36237
|
var ui_exports = {};
|
|
35916
36238
|
__export(ui_exports, {
|
|
@@ -36203,7 +36525,7 @@ __export(ui_exports, {
|
|
|
36203
36525
|
// src/components/ui/button-group.tsx
|
|
36204
36526
|
var import_react_slot4 = require("@radix-ui/react-slot");
|
|
36205
36527
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
36206
|
-
var
|
|
36528
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
36207
36529
|
var buttonGroupVariants = (0, import_class_variance_authority8.cva)(
|
|
36208
36530
|
"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",
|
|
36209
36531
|
{
|
|
@@ -36223,7 +36545,7 @@ function ButtonGroup({
|
|
|
36223
36545
|
orientation,
|
|
36224
36546
|
...props
|
|
36225
36547
|
}) {
|
|
36226
|
-
return /* @__PURE__ */ (0,
|
|
36548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
36227
36549
|
"div",
|
|
36228
36550
|
{
|
|
36229
36551
|
role: "group",
|
|
@@ -36240,7 +36562,7 @@ function ButtonGroupText({
|
|
|
36240
36562
|
...props
|
|
36241
36563
|
}) {
|
|
36242
36564
|
const Comp = asChild ? import_react_slot4.Slot : "div";
|
|
36243
|
-
return /* @__PURE__ */ (0,
|
|
36565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
36244
36566
|
Comp,
|
|
36245
36567
|
{
|
|
36246
36568
|
className: cn(
|
|
@@ -36256,7 +36578,7 @@ function ButtonGroupSeparator({
|
|
|
36256
36578
|
orientation = "vertical",
|
|
36257
36579
|
...props
|
|
36258
36580
|
}) {
|
|
36259
|
-
return /* @__PURE__ */ (0,
|
|
36581
|
+
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
36260
36582
|
Separator2,
|
|
36261
36583
|
{
|
|
36262
36584
|
"data-slot": "button-group-separator",
|
|
@@ -36272,9 +36594,9 @@ function ButtonGroupSeparator({
|
|
|
36272
36594
|
|
|
36273
36595
|
// src/components/ui/empty.tsx
|
|
36274
36596
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
36275
|
-
var
|
|
36597
|
+
var import_jsx_runtime123 = require("react/jsx-runtime");
|
|
36276
36598
|
function Empty({ className, ...props }) {
|
|
36277
|
-
return /* @__PURE__ */ (0,
|
|
36599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
36278
36600
|
"div",
|
|
36279
36601
|
{
|
|
36280
36602
|
"data-slot": "empty",
|
|
@@ -36287,7 +36609,7 @@ function Empty({ className, ...props }) {
|
|
|
36287
36609
|
);
|
|
36288
36610
|
}
|
|
36289
36611
|
function EmptyHeader({ className, ...props }) {
|
|
36290
|
-
return /* @__PURE__ */ (0,
|
|
36612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
36291
36613
|
"div",
|
|
36292
36614
|
{
|
|
36293
36615
|
"data-slot": "empty-header",
|
|
@@ -36318,7 +36640,7 @@ function EmptyMedia({
|
|
|
36318
36640
|
variant = "default",
|
|
36319
36641
|
...props
|
|
36320
36642
|
}) {
|
|
36321
|
-
return /* @__PURE__ */ (0,
|
|
36643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
36322
36644
|
"div",
|
|
36323
36645
|
{
|
|
36324
36646
|
"data-slot": "empty-icon",
|
|
@@ -36329,7 +36651,7 @@ function EmptyMedia({
|
|
|
36329
36651
|
);
|
|
36330
36652
|
}
|
|
36331
36653
|
function EmptyTitle({ className, ...props }) {
|
|
36332
|
-
return /* @__PURE__ */ (0,
|
|
36654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
36333
36655
|
"div",
|
|
36334
36656
|
{
|
|
36335
36657
|
"data-slot": "empty-title",
|
|
@@ -36339,7 +36661,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
36339
36661
|
);
|
|
36340
36662
|
}
|
|
36341
36663
|
function EmptyDescription({ className, ...props }) {
|
|
36342
|
-
return /* @__PURE__ */ (0,
|
|
36664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
36343
36665
|
"div",
|
|
36344
36666
|
{
|
|
36345
36667
|
"data-slot": "empty-description",
|
|
@@ -36352,7 +36674,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
36352
36674
|
);
|
|
36353
36675
|
}
|
|
36354
36676
|
function EmptyContent({ className, ...props }) {
|
|
36355
|
-
return /* @__PURE__ */ (0,
|
|
36677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
36356
36678
|
"div",
|
|
36357
36679
|
{
|
|
36358
36680
|
"data-slot": "empty-content",
|
|
@@ -36366,11 +36688,11 @@ function EmptyContent({ className, ...props }) {
|
|
|
36366
36688
|
}
|
|
36367
36689
|
|
|
36368
36690
|
// src/components/ui/field.tsx
|
|
36369
|
-
var
|
|
36691
|
+
var import_react65 = require("react");
|
|
36370
36692
|
var import_class_variance_authority10 = require("class-variance-authority");
|
|
36371
|
-
var
|
|
36693
|
+
var import_jsx_runtime124 = require("react/jsx-runtime");
|
|
36372
36694
|
function FieldSet({ className, ...props }) {
|
|
36373
|
-
return /* @__PURE__ */ (0,
|
|
36695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36374
36696
|
"fieldset",
|
|
36375
36697
|
{
|
|
36376
36698
|
"data-slot": "field-set",
|
|
@@ -36388,7 +36710,7 @@ function FieldLegend({
|
|
|
36388
36710
|
variant = "legend",
|
|
36389
36711
|
...props
|
|
36390
36712
|
}) {
|
|
36391
|
-
return /* @__PURE__ */ (0,
|
|
36713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36392
36714
|
"legend",
|
|
36393
36715
|
{
|
|
36394
36716
|
"data-slot": "field-legend",
|
|
@@ -36404,7 +36726,7 @@ function FieldLegend({
|
|
|
36404
36726
|
);
|
|
36405
36727
|
}
|
|
36406
36728
|
function FieldGroup({ className, ...props }) {
|
|
36407
|
-
return /* @__PURE__ */ (0,
|
|
36729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36408
36730
|
"div",
|
|
36409
36731
|
{
|
|
36410
36732
|
"data-slot": "field-group",
|
|
@@ -36444,7 +36766,7 @@ function Field({
|
|
|
36444
36766
|
orientation = "vertical",
|
|
36445
36767
|
...props
|
|
36446
36768
|
}) {
|
|
36447
|
-
return /* @__PURE__ */ (0,
|
|
36769
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36448
36770
|
"div",
|
|
36449
36771
|
{
|
|
36450
36772
|
role: "group",
|
|
@@ -36456,7 +36778,7 @@ function Field({
|
|
|
36456
36778
|
);
|
|
36457
36779
|
}
|
|
36458
36780
|
function FieldContent({ className, ...props }) {
|
|
36459
|
-
return /* @__PURE__ */ (0,
|
|
36781
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36460
36782
|
"div",
|
|
36461
36783
|
{
|
|
36462
36784
|
"data-slot": "field-content",
|
|
@@ -36472,7 +36794,7 @@ function FieldLabel({
|
|
|
36472
36794
|
className,
|
|
36473
36795
|
...props
|
|
36474
36796
|
}) {
|
|
36475
|
-
return /* @__PURE__ */ (0,
|
|
36797
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36476
36798
|
Label,
|
|
36477
36799
|
{
|
|
36478
36800
|
"data-slot": "field-label",
|
|
@@ -36487,7 +36809,7 @@ function FieldLabel({
|
|
|
36487
36809
|
);
|
|
36488
36810
|
}
|
|
36489
36811
|
function FieldTitle({ className, ...props }) {
|
|
36490
|
-
return /* @__PURE__ */ (0,
|
|
36812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36491
36813
|
"div",
|
|
36492
36814
|
{
|
|
36493
36815
|
"data-slot": "field-label",
|
|
@@ -36500,7 +36822,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
36500
36822
|
);
|
|
36501
36823
|
}
|
|
36502
36824
|
function FieldDescription({ className, ...props }) {
|
|
36503
|
-
return /* @__PURE__ */ (0,
|
|
36825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36504
36826
|
"p",
|
|
36505
36827
|
{
|
|
36506
36828
|
"data-slot": "field-description",
|
|
@@ -36519,7 +36841,7 @@ function FieldSeparator({
|
|
|
36519
36841
|
className,
|
|
36520
36842
|
...props
|
|
36521
36843
|
}) {
|
|
36522
|
-
return /* @__PURE__ */ (0,
|
|
36844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
|
|
36523
36845
|
"div",
|
|
36524
36846
|
{
|
|
36525
36847
|
"data-slot": "field-separator",
|
|
@@ -36530,8 +36852,8 @@ function FieldSeparator({
|
|
|
36530
36852
|
),
|
|
36531
36853
|
...props,
|
|
36532
36854
|
children: [
|
|
36533
|
-
/* @__PURE__ */ (0,
|
|
36534
|
-
children && /* @__PURE__ */ (0,
|
|
36855
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
36856
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36535
36857
|
"span",
|
|
36536
36858
|
{
|
|
36537
36859
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -36549,7 +36871,7 @@ function FieldError({
|
|
|
36549
36871
|
errors,
|
|
36550
36872
|
...props
|
|
36551
36873
|
}) {
|
|
36552
|
-
const content = (0,
|
|
36874
|
+
const content = (0, import_react65.useMemo)(() => {
|
|
36553
36875
|
if (children) {
|
|
36554
36876
|
return children;
|
|
36555
36877
|
}
|
|
@@ -36559,14 +36881,14 @@ function FieldError({
|
|
|
36559
36881
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
36560
36882
|
return errors[0].message;
|
|
36561
36883
|
}
|
|
36562
|
-
return /* @__PURE__ */ (0,
|
|
36563
|
-
(error, index) => error?.message && /* @__PURE__ */ (0,
|
|
36884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
36885
|
+
(error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("li", { children: error.message }, index)
|
|
36564
36886
|
) });
|
|
36565
36887
|
}, [children, errors]);
|
|
36566
36888
|
if (!content) {
|
|
36567
36889
|
return null;
|
|
36568
36890
|
}
|
|
36569
|
-
return /* @__PURE__ */ (0,
|
|
36891
|
+
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
|
|
36570
36892
|
"div",
|
|
36571
36893
|
{
|
|
36572
36894
|
role: "alert",
|
|
@@ -36580,9 +36902,9 @@ function FieldError({
|
|
|
36580
36902
|
|
|
36581
36903
|
// src/components/ui/input-group.tsx
|
|
36582
36904
|
var import_class_variance_authority11 = require("class-variance-authority");
|
|
36583
|
-
var
|
|
36905
|
+
var import_jsx_runtime125 = require("react/jsx-runtime");
|
|
36584
36906
|
function InputGroup({ className, ...props }) {
|
|
36585
|
-
return /* @__PURE__ */ (0,
|
|
36907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
36586
36908
|
"div",
|
|
36587
36909
|
{
|
|
36588
36910
|
"data-slot": "input-group",
|
|
@@ -36626,7 +36948,7 @@ function InputGroupAddon({
|
|
|
36626
36948
|
align = "inline-start",
|
|
36627
36949
|
...props
|
|
36628
36950
|
}) {
|
|
36629
|
-
return /* @__PURE__ */ (0,
|
|
36951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
36630
36952
|
"div",
|
|
36631
36953
|
{
|
|
36632
36954
|
role: "group",
|
|
@@ -36666,7 +36988,7 @@ function InputGroupButton({
|
|
|
36666
36988
|
size = "xs",
|
|
36667
36989
|
...props
|
|
36668
36990
|
}) {
|
|
36669
|
-
return /* @__PURE__ */ (0,
|
|
36991
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
36670
36992
|
Button,
|
|
36671
36993
|
{
|
|
36672
36994
|
type,
|
|
@@ -36678,7 +37000,7 @@ function InputGroupButton({
|
|
|
36678
37000
|
);
|
|
36679
37001
|
}
|
|
36680
37002
|
function InputGroupText({ className, ...props }) {
|
|
36681
|
-
return /* @__PURE__ */ (0,
|
|
37003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
36682
37004
|
"span",
|
|
36683
37005
|
{
|
|
36684
37006
|
className: cn(
|
|
@@ -36693,7 +37015,7 @@ function InputGroupInput({
|
|
|
36693
37015
|
className,
|
|
36694
37016
|
...props
|
|
36695
37017
|
}) {
|
|
36696
|
-
return /* @__PURE__ */ (0,
|
|
37018
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
36697
37019
|
Input,
|
|
36698
37020
|
{
|
|
36699
37021
|
"data-slot": "input-group-control",
|
|
@@ -36709,7 +37031,7 @@ function InputGroupTextarea({
|
|
|
36709
37031
|
className,
|
|
36710
37032
|
...props
|
|
36711
37033
|
}) {
|
|
36712
|
-
return /* @__PURE__ */ (0,
|
|
37034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
36713
37035
|
Textarea,
|
|
36714
37036
|
{
|
|
36715
37037
|
"data-slot": "input-group-control",
|
|
@@ -36725,9 +37047,9 @@ function InputGroupTextarea({
|
|
|
36725
37047
|
// src/components/ui/item.tsx
|
|
36726
37048
|
var import_react_slot5 = require("@radix-ui/react-slot");
|
|
36727
37049
|
var import_class_variance_authority12 = require("class-variance-authority");
|
|
36728
|
-
var
|
|
37050
|
+
var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
36729
37051
|
function ItemGroup({ className, ...props }) {
|
|
36730
|
-
return /* @__PURE__ */ (0,
|
|
37052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36731
37053
|
"div",
|
|
36732
37054
|
{
|
|
36733
37055
|
role: "list",
|
|
@@ -36741,7 +37063,7 @@ function ItemSeparator({
|
|
|
36741
37063
|
className,
|
|
36742
37064
|
...props
|
|
36743
37065
|
}) {
|
|
36744
|
-
return /* @__PURE__ */ (0,
|
|
37066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36745
37067
|
Separator2,
|
|
36746
37068
|
{
|
|
36747
37069
|
"data-slot": "item-separator",
|
|
@@ -36779,7 +37101,7 @@ function Item8({
|
|
|
36779
37101
|
...props
|
|
36780
37102
|
}) {
|
|
36781
37103
|
const Comp = asChild ? import_react_slot5.Slot : "div";
|
|
36782
|
-
return /* @__PURE__ */ (0,
|
|
37104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36783
37105
|
Comp,
|
|
36784
37106
|
{
|
|
36785
37107
|
"data-slot": "item",
|
|
@@ -36810,7 +37132,7 @@ function ItemMedia({
|
|
|
36810
37132
|
variant = "default",
|
|
36811
37133
|
...props
|
|
36812
37134
|
}) {
|
|
36813
|
-
return /* @__PURE__ */ (0,
|
|
37135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36814
37136
|
"div",
|
|
36815
37137
|
{
|
|
36816
37138
|
"data-slot": "item-media",
|
|
@@ -36821,7 +37143,7 @@ function ItemMedia({
|
|
|
36821
37143
|
);
|
|
36822
37144
|
}
|
|
36823
37145
|
function ItemContent({ className, ...props }) {
|
|
36824
|
-
return /* @__PURE__ */ (0,
|
|
37146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36825
37147
|
"div",
|
|
36826
37148
|
{
|
|
36827
37149
|
"data-slot": "item-content",
|
|
@@ -36834,7 +37156,7 @@ function ItemContent({ className, ...props }) {
|
|
|
36834
37156
|
);
|
|
36835
37157
|
}
|
|
36836
37158
|
function ItemTitle({ className, ...props }) {
|
|
36837
|
-
return /* @__PURE__ */ (0,
|
|
37159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36838
37160
|
"div",
|
|
36839
37161
|
{
|
|
36840
37162
|
"data-slot": "item-title",
|
|
@@ -36847,7 +37169,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
36847
37169
|
);
|
|
36848
37170
|
}
|
|
36849
37171
|
function ItemDescription({ className, ...props }) {
|
|
36850
|
-
return /* @__PURE__ */ (0,
|
|
37172
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36851
37173
|
"p",
|
|
36852
37174
|
{
|
|
36853
37175
|
"data-slot": "item-description",
|
|
@@ -36861,7 +37183,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
36861
37183
|
);
|
|
36862
37184
|
}
|
|
36863
37185
|
function ItemActions({ className, ...props }) {
|
|
36864
|
-
return /* @__PURE__ */ (0,
|
|
37186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36865
37187
|
"div",
|
|
36866
37188
|
{
|
|
36867
37189
|
"data-slot": "item-actions",
|
|
@@ -36871,7 +37193,7 @@ function ItemActions({ className, ...props }) {
|
|
|
36871
37193
|
);
|
|
36872
37194
|
}
|
|
36873
37195
|
function ItemHeader({ className, ...props }) {
|
|
36874
|
-
return /* @__PURE__ */ (0,
|
|
37196
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36875
37197
|
"div",
|
|
36876
37198
|
{
|
|
36877
37199
|
"data-slot": "item-header",
|
|
@@ -36884,7 +37206,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
36884
37206
|
);
|
|
36885
37207
|
}
|
|
36886
37208
|
function ItemFooter({ className, ...props }) {
|
|
36887
|
-
return /* @__PURE__ */ (0,
|
|
37209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
|
|
36888
37210
|
"div",
|
|
36889
37211
|
{
|
|
36890
37212
|
"data-slot": "item-footer",
|
|
@@ -36898,9 +37220,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
36898
37220
|
}
|
|
36899
37221
|
|
|
36900
37222
|
// src/components/ui/kbd.tsx
|
|
36901
|
-
var
|
|
37223
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
36902
37224
|
function Kbd({ className, ...props }) {
|
|
36903
|
-
return /* @__PURE__ */ (0,
|
|
37225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
36904
37226
|
"kbd",
|
|
36905
37227
|
{
|
|
36906
37228
|
"data-slot": "kbd",
|
|
@@ -36915,7 +37237,7 @@ function Kbd({ className, ...props }) {
|
|
|
36915
37237
|
);
|
|
36916
37238
|
}
|
|
36917
37239
|
function KbdGroup({ className, ...props }) {
|
|
36918
|
-
return /* @__PURE__ */ (0,
|
|
37240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
36919
37241
|
"kbd",
|
|
36920
37242
|
{
|
|
36921
37243
|
"data-slot": "kbd-group",
|
|
@@ -36926,16 +37248,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
36926
37248
|
}
|
|
36927
37249
|
|
|
36928
37250
|
// src/components/ui/sidebar.tsx
|
|
36929
|
-
var
|
|
37251
|
+
var React96 = __toESM(require("react"), 1);
|
|
36930
37252
|
var import_react_slot6 = require("@radix-ui/react-slot");
|
|
36931
37253
|
var import_class_variance_authority13 = require("class-variance-authority");
|
|
36932
37254
|
|
|
36933
37255
|
// src/hooks/use-mobile.tsx
|
|
36934
|
-
var
|
|
37256
|
+
var React95 = __toESM(require("react"), 1);
|
|
36935
37257
|
var MOBILE_BREAKPOINT = 768;
|
|
36936
37258
|
function useIsMobile() {
|
|
36937
|
-
const [isMobile, setIsMobile] =
|
|
36938
|
-
|
|
37259
|
+
const [isMobile, setIsMobile] = React95.useState(void 0);
|
|
37260
|
+
React95.useEffect(() => {
|
|
36939
37261
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
36940
37262
|
const onChange = () => {
|
|
36941
37263
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -36948,22 +37270,22 @@ function useIsMobile() {
|
|
|
36948
37270
|
}
|
|
36949
37271
|
|
|
36950
37272
|
// src/components/ui/sidebar.tsx
|
|
36951
|
-
var
|
|
37273
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
36952
37274
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
36953
37275
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
36954
37276
|
var SIDEBAR_WIDTH = "16rem";
|
|
36955
37277
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
36956
37278
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
36957
37279
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
36958
|
-
var SidebarContext =
|
|
37280
|
+
var SidebarContext = React96.createContext(null);
|
|
36959
37281
|
function useSidebar() {
|
|
36960
|
-
const context =
|
|
37282
|
+
const context = React96.useContext(SidebarContext);
|
|
36961
37283
|
if (!context) {
|
|
36962
37284
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
36963
37285
|
}
|
|
36964
37286
|
return context;
|
|
36965
37287
|
}
|
|
36966
|
-
var SidebarProvider =
|
|
37288
|
+
var SidebarProvider = React96.forwardRef(
|
|
36967
37289
|
({
|
|
36968
37290
|
defaultOpen = true,
|
|
36969
37291
|
open: openProp,
|
|
@@ -36974,10 +37296,10 @@ var SidebarProvider = React94.forwardRef(
|
|
|
36974
37296
|
...props
|
|
36975
37297
|
}, ref) => {
|
|
36976
37298
|
const isMobile = useIsMobile();
|
|
36977
|
-
const [openMobile, setOpenMobile] =
|
|
36978
|
-
const [_open, _setOpen] =
|
|
37299
|
+
const [openMobile, setOpenMobile] = React96.useState(false);
|
|
37300
|
+
const [_open, _setOpen] = React96.useState(defaultOpen);
|
|
36979
37301
|
const open = openProp ?? _open;
|
|
36980
|
-
const setOpen =
|
|
37302
|
+
const setOpen = React96.useCallback(
|
|
36981
37303
|
(value) => {
|
|
36982
37304
|
const openState = typeof value === "function" ? value(open) : value;
|
|
36983
37305
|
if (setOpenProp) {
|
|
@@ -36989,10 +37311,10 @@ var SidebarProvider = React94.forwardRef(
|
|
|
36989
37311
|
},
|
|
36990
37312
|
[setOpenProp, open]
|
|
36991
37313
|
);
|
|
36992
|
-
const toggleSidebar =
|
|
37314
|
+
const toggleSidebar = React96.useCallback(() => {
|
|
36993
37315
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
36994
37316
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
36995
|
-
|
|
37317
|
+
React96.useEffect(() => {
|
|
36996
37318
|
const handleKeyDown = (event) => {
|
|
36997
37319
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
36998
37320
|
event.preventDefault();
|
|
@@ -37003,7 +37325,7 @@ var SidebarProvider = React94.forwardRef(
|
|
|
37003
37325
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
37004
37326
|
}, [toggleSidebar]);
|
|
37005
37327
|
const state = open ? "expanded" : "collapsed";
|
|
37006
|
-
const contextValue =
|
|
37328
|
+
const contextValue = React96.useMemo(
|
|
37007
37329
|
() => ({
|
|
37008
37330
|
state,
|
|
37009
37331
|
open,
|
|
@@ -37015,7 +37337,7 @@ var SidebarProvider = React94.forwardRef(
|
|
|
37015
37337
|
}),
|
|
37016
37338
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
37017
37339
|
);
|
|
37018
|
-
return /* @__PURE__ */ (0,
|
|
37340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37019
37341
|
"div",
|
|
37020
37342
|
{
|
|
37021
37343
|
style: {
|
|
@@ -37035,7 +37357,7 @@ var SidebarProvider = React94.forwardRef(
|
|
|
37035
37357
|
}
|
|
37036
37358
|
);
|
|
37037
37359
|
SidebarProvider.displayName = "SidebarProvider";
|
|
37038
|
-
var Sidebar =
|
|
37360
|
+
var Sidebar = React96.forwardRef(
|
|
37039
37361
|
({
|
|
37040
37362
|
side = "left",
|
|
37041
37363
|
variant = "sidebar",
|
|
@@ -37046,7 +37368,7 @@ var Sidebar = React94.forwardRef(
|
|
|
37046
37368
|
}, ref) => {
|
|
37047
37369
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
37048
37370
|
if (collapsible === "none") {
|
|
37049
|
-
return /* @__PURE__ */ (0,
|
|
37371
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37050
37372
|
"div",
|
|
37051
37373
|
{
|
|
37052
37374
|
className: cn(
|
|
@@ -37060,7 +37382,7 @@ var Sidebar = React94.forwardRef(
|
|
|
37060
37382
|
);
|
|
37061
37383
|
}
|
|
37062
37384
|
if (isMobile) {
|
|
37063
|
-
return /* @__PURE__ */ (0,
|
|
37385
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37064
37386
|
SheetContent,
|
|
37065
37387
|
{
|
|
37066
37388
|
"data-sidebar": "sidebar",
|
|
@@ -37071,16 +37393,16 @@ var Sidebar = React94.forwardRef(
|
|
|
37071
37393
|
},
|
|
37072
37394
|
side,
|
|
37073
37395
|
children: [
|
|
37074
|
-
/* @__PURE__ */ (0,
|
|
37075
|
-
/* @__PURE__ */ (0,
|
|
37076
|
-
/* @__PURE__ */ (0,
|
|
37396
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
37397
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
37398
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
37077
37399
|
] }),
|
|
37078
|
-
/* @__PURE__ */ (0,
|
|
37400
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
37079
37401
|
]
|
|
37080
37402
|
}
|
|
37081
37403
|
) });
|
|
37082
37404
|
}
|
|
37083
|
-
return /* @__PURE__ */ (0,
|
|
37405
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37084
37406
|
"div",
|
|
37085
37407
|
{
|
|
37086
37408
|
ref,
|
|
@@ -37090,7 +37412,7 @@ var Sidebar = React94.forwardRef(
|
|
|
37090
37412
|
"data-variant": variant,
|
|
37091
37413
|
"data-side": side,
|
|
37092
37414
|
children: [
|
|
37093
|
-
/* @__PURE__ */ (0,
|
|
37415
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37094
37416
|
"div",
|
|
37095
37417
|
{
|
|
37096
37418
|
className: cn(
|
|
@@ -37101,7 +37423,7 @@ var Sidebar = React94.forwardRef(
|
|
|
37101
37423
|
)
|
|
37102
37424
|
}
|
|
37103
37425
|
),
|
|
37104
|
-
/* @__PURE__ */ (0,
|
|
37426
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37105
37427
|
"div",
|
|
37106
37428
|
{
|
|
37107
37429
|
className: cn(
|
|
@@ -37112,7 +37434,7 @@ var Sidebar = React94.forwardRef(
|
|
|
37112
37434
|
className
|
|
37113
37435
|
),
|
|
37114
37436
|
...props,
|
|
37115
|
-
children: /* @__PURE__ */ (0,
|
|
37437
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37116
37438
|
"div",
|
|
37117
37439
|
{
|
|
37118
37440
|
"data-sidebar": "sidebar",
|
|
@@ -37128,9 +37450,9 @@ var Sidebar = React94.forwardRef(
|
|
|
37128
37450
|
}
|
|
37129
37451
|
);
|
|
37130
37452
|
Sidebar.displayName = "Sidebar";
|
|
37131
|
-
var SidebarTrigger =
|
|
37453
|
+
var SidebarTrigger = React96.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
37132
37454
|
const { toggleSidebar } = useSidebar();
|
|
37133
|
-
return /* @__PURE__ */ (0,
|
|
37455
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37134
37456
|
Button,
|
|
37135
37457
|
{
|
|
37136
37458
|
ref,
|
|
@@ -37144,16 +37466,16 @@ var SidebarTrigger = React94.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
37144
37466
|
},
|
|
37145
37467
|
...props,
|
|
37146
37468
|
children: [
|
|
37147
|
-
/* @__PURE__ */ (0,
|
|
37148
|
-
/* @__PURE__ */ (0,
|
|
37469
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(PanelLeft, {}),
|
|
37470
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
37149
37471
|
]
|
|
37150
37472
|
}
|
|
37151
37473
|
);
|
|
37152
37474
|
});
|
|
37153
37475
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
37154
|
-
var SidebarRail =
|
|
37476
|
+
var SidebarRail = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37155
37477
|
const { toggleSidebar } = useSidebar();
|
|
37156
|
-
return /* @__PURE__ */ (0,
|
|
37478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37157
37479
|
"button",
|
|
37158
37480
|
{
|
|
37159
37481
|
ref,
|
|
@@ -37176,8 +37498,8 @@ var SidebarRail = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37176
37498
|
);
|
|
37177
37499
|
});
|
|
37178
37500
|
SidebarRail.displayName = "SidebarRail";
|
|
37179
|
-
var SidebarInset =
|
|
37180
|
-
return /* @__PURE__ */ (0,
|
|
37501
|
+
var SidebarInset = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37181
37503
|
"main",
|
|
37182
37504
|
{
|
|
37183
37505
|
ref,
|
|
@@ -37191,8 +37513,8 @@ var SidebarInset = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37191
37513
|
);
|
|
37192
37514
|
});
|
|
37193
37515
|
SidebarInset.displayName = "SidebarInset";
|
|
37194
|
-
var SidebarInput =
|
|
37195
|
-
return /* @__PURE__ */ (0,
|
|
37516
|
+
var SidebarInput = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37196
37518
|
Input,
|
|
37197
37519
|
{
|
|
37198
37520
|
ref,
|
|
@@ -37206,8 +37528,8 @@ var SidebarInput = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37206
37528
|
);
|
|
37207
37529
|
});
|
|
37208
37530
|
SidebarInput.displayName = "SidebarInput";
|
|
37209
|
-
var SidebarHeader =
|
|
37210
|
-
return /* @__PURE__ */ (0,
|
|
37531
|
+
var SidebarHeader = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37211
37533
|
"div",
|
|
37212
37534
|
{
|
|
37213
37535
|
ref,
|
|
@@ -37218,8 +37540,8 @@ var SidebarHeader = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37218
37540
|
);
|
|
37219
37541
|
});
|
|
37220
37542
|
SidebarHeader.displayName = "SidebarHeader";
|
|
37221
|
-
var SidebarFooter =
|
|
37222
|
-
return /* @__PURE__ */ (0,
|
|
37543
|
+
var SidebarFooter = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37223
37545
|
"div",
|
|
37224
37546
|
{
|
|
37225
37547
|
ref,
|
|
@@ -37230,8 +37552,8 @@ var SidebarFooter = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37230
37552
|
);
|
|
37231
37553
|
});
|
|
37232
37554
|
SidebarFooter.displayName = "SidebarFooter";
|
|
37233
|
-
var SidebarSeparator =
|
|
37234
|
-
return /* @__PURE__ */ (0,
|
|
37555
|
+
var SidebarSeparator = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37235
37557
|
Separator2,
|
|
37236
37558
|
{
|
|
37237
37559
|
ref,
|
|
@@ -37242,8 +37564,8 @@ var SidebarSeparator = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37242
37564
|
);
|
|
37243
37565
|
});
|
|
37244
37566
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
37245
|
-
var SidebarContent =
|
|
37246
|
-
return /* @__PURE__ */ (0,
|
|
37567
|
+
var SidebarContent = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37568
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37247
37569
|
"div",
|
|
37248
37570
|
{
|
|
37249
37571
|
ref,
|
|
@@ -37257,8 +37579,8 @@ var SidebarContent = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37257
37579
|
);
|
|
37258
37580
|
});
|
|
37259
37581
|
SidebarContent.displayName = "SidebarContent";
|
|
37260
|
-
var SidebarGroup =
|
|
37261
|
-
return /* @__PURE__ */ (0,
|
|
37582
|
+
var SidebarGroup = React96.forwardRef(({ className, ...props }, ref) => {
|
|
37583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37262
37584
|
"div",
|
|
37263
37585
|
{
|
|
37264
37586
|
ref,
|
|
@@ -37269,9 +37591,9 @@ var SidebarGroup = React94.forwardRef(({ className, ...props }, ref) => {
|
|
|
37269
37591
|
);
|
|
37270
37592
|
});
|
|
37271
37593
|
SidebarGroup.displayName = "SidebarGroup";
|
|
37272
|
-
var SidebarGroupLabel =
|
|
37594
|
+
var SidebarGroupLabel = React96.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
37273
37595
|
const Comp = asChild ? import_react_slot6.Slot : "div";
|
|
37274
|
-
return /* @__PURE__ */ (0,
|
|
37596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37275
37597
|
Comp,
|
|
37276
37598
|
{
|
|
37277
37599
|
ref,
|
|
@@ -37286,9 +37608,9 @@ var SidebarGroupLabel = React94.forwardRef(({ className, asChild = false, ...pro
|
|
|
37286
37608
|
);
|
|
37287
37609
|
});
|
|
37288
37610
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
37289
|
-
var SidebarGroupAction =
|
|
37611
|
+
var SidebarGroupAction = React96.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
37290
37612
|
const Comp = asChild ? import_react_slot6.Slot : "button";
|
|
37291
|
-
return /* @__PURE__ */ (0,
|
|
37613
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37292
37614
|
Comp,
|
|
37293
37615
|
{
|
|
37294
37616
|
ref,
|
|
@@ -37305,7 +37627,7 @@ var SidebarGroupAction = React94.forwardRef(({ className, asChild = false, ...pr
|
|
|
37305
37627
|
);
|
|
37306
37628
|
});
|
|
37307
37629
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
37308
|
-
var SidebarGroupContent =
|
|
37630
|
+
var SidebarGroupContent = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37309
37631
|
"div",
|
|
37310
37632
|
{
|
|
37311
37633
|
ref,
|
|
@@ -37315,7 +37637,7 @@ var SidebarGroupContent = React94.forwardRef(({ className, ...props }, ref) => /
|
|
|
37315
37637
|
}
|
|
37316
37638
|
));
|
|
37317
37639
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
37318
|
-
var SidebarMenu =
|
|
37640
|
+
var SidebarMenu = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37319
37641
|
"ul",
|
|
37320
37642
|
{
|
|
37321
37643
|
ref,
|
|
@@ -37325,7 +37647,7 @@ var SidebarMenu = React94.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
37325
37647
|
}
|
|
37326
37648
|
));
|
|
37327
37649
|
SidebarMenu.displayName = "SidebarMenu";
|
|
37328
|
-
var SidebarMenuItem =
|
|
37650
|
+
var SidebarMenuItem = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37329
37651
|
"li",
|
|
37330
37652
|
{
|
|
37331
37653
|
ref,
|
|
@@ -37355,7 +37677,7 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority13.cva)(
|
|
|
37355
37677
|
}
|
|
37356
37678
|
}
|
|
37357
37679
|
);
|
|
37358
|
-
var SidebarMenuButton =
|
|
37680
|
+
var SidebarMenuButton = React96.forwardRef(
|
|
37359
37681
|
({
|
|
37360
37682
|
asChild = false,
|
|
37361
37683
|
isActive = false,
|
|
@@ -37367,7 +37689,7 @@ var SidebarMenuButton = React94.forwardRef(
|
|
|
37367
37689
|
}, ref) => {
|
|
37368
37690
|
const Comp = asChild ? import_react_slot6.Slot : "button";
|
|
37369
37691
|
const { isMobile, state } = useSidebar();
|
|
37370
|
-
const button = /* @__PURE__ */ (0,
|
|
37692
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37371
37693
|
Comp,
|
|
37372
37694
|
{
|
|
37373
37695
|
ref,
|
|
@@ -37386,9 +37708,9 @@ var SidebarMenuButton = React94.forwardRef(
|
|
|
37386
37708
|
children: tooltip
|
|
37387
37709
|
};
|
|
37388
37710
|
}
|
|
37389
|
-
return /* @__PURE__ */ (0,
|
|
37390
|
-
/* @__PURE__ */ (0,
|
|
37391
|
-
/* @__PURE__ */ (0,
|
|
37711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Tooltip, { children: [
|
|
37712
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(TooltipTrigger, { asChild: true, children: button }),
|
|
37713
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37392
37714
|
TooltipContent,
|
|
37393
37715
|
{
|
|
37394
37716
|
side: "right",
|
|
@@ -37401,9 +37723,9 @@ var SidebarMenuButton = React94.forwardRef(
|
|
|
37401
37723
|
}
|
|
37402
37724
|
);
|
|
37403
37725
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
37404
|
-
var SidebarMenuAction =
|
|
37726
|
+
var SidebarMenuAction = React96.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
37405
37727
|
const Comp = asChild ? import_react_slot6.Slot : "button";
|
|
37406
|
-
return /* @__PURE__ */ (0,
|
|
37728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37407
37729
|
Comp,
|
|
37408
37730
|
{
|
|
37409
37731
|
ref,
|
|
@@ -37424,7 +37746,7 @@ var SidebarMenuAction = React94.forwardRef(({ className, asChild = false, showOn
|
|
|
37424
37746
|
);
|
|
37425
37747
|
});
|
|
37426
37748
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
37427
|
-
var SidebarMenuBadge =
|
|
37749
|
+
var SidebarMenuBadge = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37428
37750
|
"div",
|
|
37429
37751
|
{
|
|
37430
37752
|
ref,
|
|
@@ -37442,11 +37764,11 @@ var SidebarMenuBadge = React94.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
37442
37764
|
}
|
|
37443
37765
|
));
|
|
37444
37766
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
37445
|
-
var SidebarMenuSkeleton =
|
|
37446
|
-
const width =
|
|
37767
|
+
var SidebarMenuSkeleton = React96.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
37768
|
+
const width = React96.useMemo(() => {
|
|
37447
37769
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
37448
37770
|
}, []);
|
|
37449
|
-
return /* @__PURE__ */ (0,
|
|
37771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37450
37772
|
"div",
|
|
37451
37773
|
{
|
|
37452
37774
|
ref,
|
|
@@ -37454,14 +37776,14 @@ var SidebarMenuSkeleton = React94.forwardRef(({ className, showIcon = false, ...
|
|
|
37454
37776
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
37455
37777
|
...props,
|
|
37456
37778
|
children: [
|
|
37457
|
-
showIcon && /* @__PURE__ */ (0,
|
|
37779
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37458
37780
|
Skeleton,
|
|
37459
37781
|
{
|
|
37460
37782
|
className: "size-4 rounded-md",
|
|
37461
37783
|
"data-sidebar": "menu-skeleton-icon"
|
|
37462
37784
|
}
|
|
37463
37785
|
),
|
|
37464
|
-
/* @__PURE__ */ (0,
|
|
37786
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37465
37787
|
Skeleton,
|
|
37466
37788
|
{
|
|
37467
37789
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -37476,7 +37798,7 @@ var SidebarMenuSkeleton = React94.forwardRef(({ className, showIcon = false, ...
|
|
|
37476
37798
|
);
|
|
37477
37799
|
});
|
|
37478
37800
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
37479
|
-
var SidebarMenuSub =
|
|
37801
|
+
var SidebarMenuSub = React96.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37480
37802
|
"ul",
|
|
37481
37803
|
{
|
|
37482
37804
|
ref,
|
|
@@ -37490,11 +37812,11 @@ var SidebarMenuSub = React94.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
37490
37812
|
}
|
|
37491
37813
|
));
|
|
37492
37814
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
37493
|
-
var SidebarMenuSubItem =
|
|
37815
|
+
var SidebarMenuSubItem = React96.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("li", { ref, ...props }));
|
|
37494
37816
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
37495
|
-
var SidebarMenuSubButton =
|
|
37817
|
+
var SidebarMenuSubButton = React96.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
37496
37818
|
const Comp = asChild ? import_react_slot6.Slot : "a";
|
|
37497
|
-
return /* @__PURE__ */ (0,
|
|
37819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37498
37820
|
Comp,
|
|
37499
37821
|
{
|
|
37500
37822
|
ref,
|
|
@@ -37518,20 +37840,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
37518
37840
|
// src/components/ui/sonner.tsx
|
|
37519
37841
|
var import_next_themes = require("next-themes");
|
|
37520
37842
|
var import_sonner = require("sonner");
|
|
37521
|
-
var
|
|
37843
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
37522
37844
|
var Toaster = ({ ...props }) => {
|
|
37523
37845
|
const { theme = "system" } = (0, import_next_themes.useTheme)();
|
|
37524
|
-
return /* @__PURE__ */ (0,
|
|
37846
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37525
37847
|
import_sonner.Toaster,
|
|
37526
37848
|
{
|
|
37527
37849
|
theme,
|
|
37528
37850
|
className: "toaster group",
|
|
37529
37851
|
icons: {
|
|
37530
|
-
success: /* @__PURE__ */ (0,
|
|
37531
|
-
info: /* @__PURE__ */ (0,
|
|
37532
|
-
warning: /* @__PURE__ */ (0,
|
|
37533
|
-
error: /* @__PURE__ */ (0,
|
|
37534
|
-
loading: /* @__PURE__ */ (0,
|
|
37852
|
+
success: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(CircleCheck, { className: "h-4 w-4" }),
|
|
37853
|
+
info: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Info, { className: "h-4 w-4" }),
|
|
37854
|
+
warning: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(TriangleAlert, { className: "h-4 w-4" }),
|
|
37855
|
+
error: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(OctagonX, { className: "h-4 w-4" }),
|
|
37856
|
+
loading: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
37535
37857
|
},
|
|
37536
37858
|
toastOptions: {
|
|
37537
37859
|
classNames: {
|
|
@@ -37547,26 +37869,26 @@ var Toaster = ({ ...props }) => {
|
|
|
37547
37869
|
};
|
|
37548
37870
|
|
|
37549
37871
|
// src/components/ui/toggle-group.tsx
|
|
37550
|
-
var
|
|
37872
|
+
var React97 = __toESM(require("react"), 1);
|
|
37551
37873
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
37552
|
-
var
|
|
37553
|
-
var ToggleGroupContext =
|
|
37874
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
37875
|
+
var ToggleGroupContext = React97.createContext({
|
|
37554
37876
|
size: "default",
|
|
37555
37877
|
variant: "default"
|
|
37556
37878
|
});
|
|
37557
|
-
var ToggleGroup =
|
|
37879
|
+
var ToggleGroup = React97.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37558
37880
|
ToggleGroupPrimitive.Root,
|
|
37559
37881
|
{
|
|
37560
37882
|
ref,
|
|
37561
37883
|
className: cn("flex items-center justify-center gap-1", className),
|
|
37562
37884
|
...props,
|
|
37563
|
-
children: /* @__PURE__ */ (0,
|
|
37885
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
37564
37886
|
}
|
|
37565
37887
|
));
|
|
37566
37888
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
37567
|
-
var ToggleGroupItem =
|
|
37568
|
-
const context =
|
|
37569
|
-
return /* @__PURE__ */ (0,
|
|
37889
|
+
var ToggleGroupItem = React97.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
37890
|
+
const context = React97.useContext(ToggleGroupContext);
|
|
37891
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37570
37892
|
ToggleGroupPrimitive.Item,
|
|
37571
37893
|
{
|
|
37572
37894
|
ref,
|
|
@@ -37585,7 +37907,7 @@ var ToggleGroupItem = React95.forwardRef(({ className, children, variant, size,
|
|
|
37585
37907
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
37586
37908
|
|
|
37587
37909
|
// src/render/PXEngineRenderer.tsx
|
|
37588
|
-
var
|
|
37910
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
37589
37911
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
37590
37912
|
// Form components - require FormField + FormItem context
|
|
37591
37913
|
"FormLabel",
|
|
@@ -37677,24 +37999,24 @@ var COMPONENT_SUGGESTIONS = {
|
|
|
37677
37999
|
};
|
|
37678
38000
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
37679
38001
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
37680
|
-
return /* @__PURE__ */ (0,
|
|
38002
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
37681
38003
|
"div",
|
|
37682
38004
|
{
|
|
37683
38005
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
37684
38006
|
children: [
|
|
37685
|
-
/* @__PURE__ */ (0,
|
|
37686
|
-
/* @__PURE__ */ (0,
|
|
37687
|
-
/* @__PURE__ */ (0,
|
|
37688
|
-
/* @__PURE__ */ (0,
|
|
38007
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-start gap-2", children: [
|
|
38008
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
38009
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex-1", children: [
|
|
38010
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
37689
38011
|
"Invalid Component: ",
|
|
37690
38012
|
componentName
|
|
37691
38013
|
] }),
|
|
37692
|
-
/* @__PURE__ */ (0,
|
|
38014
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
|
|
37693
38015
|
] })
|
|
37694
38016
|
] }),
|
|
37695
|
-
/* @__PURE__ */ (0,
|
|
37696
|
-
/* @__PURE__ */ (0,
|
|
37697
|
-
/* @__PURE__ */ (0,
|
|
38017
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
38018
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
38019
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
37698
38020
|
] })
|
|
37699
38021
|
]
|
|
37700
38022
|
},
|
|
@@ -37765,7 +38087,8 @@ var normalizeProps = (props) => {
|
|
|
37765
38087
|
};
|
|
37766
38088
|
var PXEngineRenderer = ({
|
|
37767
38089
|
schema,
|
|
37768
|
-
onAction
|
|
38090
|
+
onAction,
|
|
38091
|
+
disabled
|
|
37769
38092
|
}) => {
|
|
37770
38093
|
if (!schema) return null;
|
|
37771
38094
|
const root = schema.root || schema;
|
|
@@ -37773,7 +38096,7 @@ var PXEngineRenderer = ({
|
|
|
37773
38096
|
if (typeof component === "string" || typeof component === "number") {
|
|
37774
38097
|
return component;
|
|
37775
38098
|
}
|
|
37776
|
-
if (
|
|
38099
|
+
if (import_react66.default.isValidElement(component)) {
|
|
37777
38100
|
return component;
|
|
37778
38101
|
}
|
|
37779
38102
|
if (!component || typeof component !== "object") return null;
|
|
@@ -37789,6 +38112,9 @@ var PXEngineRenderer = ({
|
|
|
37789
38112
|
const componentName = name || type || componentType;
|
|
37790
38113
|
if (!componentName || typeof componentName !== "string") return null;
|
|
37791
38114
|
const rawProps = { ...remainingProps, ...props };
|
|
38115
|
+
if (disabled !== void 0 && rawProps.disabled === void 0) {
|
|
38116
|
+
rawProps.disabled = disabled;
|
|
38117
|
+
}
|
|
37792
38118
|
const { normalized: finalProps, dynamicStyle } = normalizeProps(rawProps);
|
|
37793
38119
|
if (id && !finalProps.id) {
|
|
37794
38120
|
finalProps.id = id;
|
|
@@ -37848,7 +38174,7 @@ var PXEngineRenderer = ({
|
|
|
37848
38174
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
37849
38175
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
37850
38176
|
if (isAtomWithRenderProp) {
|
|
37851
|
-
return /* @__PURE__ */ (0,
|
|
38177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
37852
38178
|
TargetComponent,
|
|
37853
38179
|
{
|
|
37854
38180
|
...finalProps,
|
|
@@ -37860,7 +38186,7 @@ var PXEngineRenderer = ({
|
|
|
37860
38186
|
uniqueKey
|
|
37861
38187
|
);
|
|
37862
38188
|
} else {
|
|
37863
|
-
return /* @__PURE__ */ (0,
|
|
38189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
37864
38190
|
TargetComponent,
|
|
37865
38191
|
{
|
|
37866
38192
|
...finalProps,
|
|
@@ -37872,7 +38198,7 @@ var PXEngineRenderer = ({
|
|
|
37872
38198
|
);
|
|
37873
38199
|
}
|
|
37874
38200
|
};
|
|
37875
|
-
return /* @__PURE__ */ (0,
|
|
38201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
37876
38202
|
};
|
|
37877
38203
|
// Annotate the CommonJS export names for ESM import in node:
|
|
37878
38204
|
0 && (module.exports = {
|
|
@@ -37919,6 +38245,7 @@ var PXEngineRenderer = ({
|
|
|
37919
38245
|
ButtonAtom,
|
|
37920
38246
|
Calendar,
|
|
37921
38247
|
CalendarAtom,
|
|
38248
|
+
CampaignConceptCard,
|
|
37922
38249
|
CampaignSeedCard,
|
|
37923
38250
|
Card,
|
|
37924
38251
|
CardAtom,
|
|
@@ -37966,6 +38293,7 @@ var PXEngineRenderer = ({
|
|
|
37966
38293
|
CreatorActionHeader,
|
|
37967
38294
|
CreatorGridCard,
|
|
37968
38295
|
CreatorProfileSummary,
|
|
38296
|
+
CreatorSearch,
|
|
37969
38297
|
DataGrid,
|
|
37970
38298
|
Dialog,
|
|
37971
38299
|
DialogAtom,
|