pxengine 0.1.60 → 0.1.61
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/config/tailwind-preset.js +4 -0
- package/dist/index.cjs +95 -119
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +95 -119
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +1 -1
- package/package.json +1 -1
|
@@ -121,6 +121,10 @@ module.exports = {
|
|
|
121
121
|
interactionBg: "var(--interaction-bg)",
|
|
122
122
|
purpleLight: "var(--purpleLight)",
|
|
123
123
|
purpleText2: "var(--purple-text-2)",
|
|
124
|
+
gold: "var(--gold)",
|
|
125
|
+
cardSurface: "var(--cardSurface)",
|
|
126
|
+
cardText: "var(--cardText)",
|
|
127
|
+
cardBorder: "var(--cardBorder)",
|
|
124
128
|
green100: "#dcfce7",
|
|
125
129
|
// Landing page colors
|
|
126
130
|
landingDarkestBlue: "var(--landing-darkest-blue)",
|
package/dist/index.cjs
CHANGED
|
@@ -34330,19 +34330,19 @@ var EditableField = import_react54.default.memo(
|
|
|
34330
34330
|
"div",
|
|
34331
34331
|
{
|
|
34332
34332
|
className: cn(
|
|
34333
|
-
"relative z-10 group flex flex-col gap-
|
|
34333
|
+
"relative z-10 group flex flex-col gap-1.5 p-2.5 bg-black border border-cardBorder rounded-lg mb-4",
|
|
34334
34334
|
className
|
|
34335
34335
|
),
|
|
34336
34336
|
children: [
|
|
34337
|
-
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex justify-between items-start mb-
|
|
34337
|
+
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex justify-between items-start mb-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "w-full flex justify-between items-center flex-wrap gap-1.5", children: [
|
|
34338
34338
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34339
34339
|
"h4",
|
|
34340
34340
|
{
|
|
34341
|
-
className: "px-
|
|
34341
|
+
className: "px-1.5 py-px tracking-widest border border-cardBorder text-gold text-[9px] font-medium uppercase rounded-[3px]",
|
|
34342
34342
|
children: label
|
|
34343
34343
|
}
|
|
34344
34344
|
),
|
|
34345
|
-
isEditingProp ? /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center gap-
|
|
34345
|
+
isEditingProp ? /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
34346
34346
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34347
34347
|
"button",
|
|
34348
34348
|
{
|
|
@@ -34353,7 +34353,7 @@ var EditableField = import_react54.default.memo(
|
|
|
34353
34353
|
className: "text-gray-500 hover:text-gray-700 transition-colors",
|
|
34354
34354
|
disabled: isSaving,
|
|
34355
34355
|
title: "Cancel",
|
|
34356
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(X, { className: "h-
|
|
34356
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(X, { className: "h-4 w-4" })
|
|
34357
34357
|
}
|
|
34358
34358
|
),
|
|
34359
34359
|
/* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
@@ -34366,37 +34366,31 @@ var EditableField = import_react54.default.memo(
|
|
|
34366
34366
|
className: "text-gray600 hover:text-gray600 transition-colors",
|
|
34367
34367
|
disabled: isSaving,
|
|
34368
34368
|
title: "Save",
|
|
34369
|
-
children: isSaving ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LoaderCircle, { className: "h-
|
|
34369
|
+
children: isSaving ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Save, { className: "h-4 w-4" })
|
|
34370
34370
|
}
|
|
34371
34371
|
)
|
|
34372
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime94.
|
|
34373
|
-
"
|
|
34374
|
-
|
|
34375
|
-
|
|
34376
|
-
|
|
34377
|
-
|
|
34378
|
-
|
|
34379
|
-
|
|
34380
|
-
|
|
34381
|
-
|
|
34382
|
-
|
|
34383
|
-
|
|
34384
|
-
|
|
34385
|
-
|
|
34386
|
-
},
|
|
34387
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(SquarePen, { className: "h-5 w-5" })
|
|
34388
|
-
}
|
|
34389
|
-
)
|
|
34390
|
-
] })
|
|
34372
|
+
] }) : isLatestMessage ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34373
|
+
"button",
|
|
34374
|
+
{
|
|
34375
|
+
className: "p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-gray300 transition-colors",
|
|
34376
|
+
onClick: (e) => {
|
|
34377
|
+
if (shouldStopPropagation !== false) {
|
|
34378
|
+
e.stopPropagation();
|
|
34379
|
+
}
|
|
34380
|
+
onEdit?.();
|
|
34381
|
+
},
|
|
34382
|
+
title: "Edit",
|
|
34383
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(SquarePen, { className: "h-3.5 w-3.5" })
|
|
34384
|
+
}
|
|
34385
|
+
) : null
|
|
34391
34386
|
] }) }),
|
|
34392
34387
|
isEditingProp ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex flex-col gap-3", children: renderInput() }) : /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
|
|
34393
34388
|
"div",
|
|
34394
34389
|
{
|
|
34395
34390
|
className: cn(
|
|
34396
|
-
"relative flex items-start justify-between rounded-
|
|
34397
|
-
"text-
|
|
34391
|
+
"relative flex items-start justify-between rounded-md px-2 py-1.5",
|
|
34392
|
+
"text-sm text-cardText font-medium leading-relaxed"
|
|
34398
34393
|
),
|
|
34399
|
-
style: { fontFamily: "Noto Sans, sans-serif" },
|
|
34400
34394
|
children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "flex-1", children: formattedValue() })
|
|
34401
34395
|
}
|
|
34402
34396
|
)
|
|
@@ -34607,7 +34601,7 @@ var FormCard = import_react56.default.memo(
|
|
|
34607
34601
|
"div",
|
|
34608
34602
|
{
|
|
34609
34603
|
className: cn(
|
|
34610
|
-
"relative w-full rounded-
|
|
34604
|
+
"relative w-full rounded-lg bg-cardSurface border border-gray400 shadow-sm overflow-hidden mb-4",
|
|
34611
34605
|
className
|
|
34612
34606
|
),
|
|
34613
34607
|
children: [
|
|
@@ -34620,18 +34614,18 @@ var FormCard = import_react56.default.memo(
|
|
|
34620
34614
|
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Check, { className: "h-4 w-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Copy, { className: "h-4 w-4" })
|
|
34621
34615
|
}
|
|
34622
34616
|
),
|
|
34623
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "p-
|
|
34617
|
+
/* @__PURE__ */ (0, import_jsx_runtime96.jsxs)("div", { className: "p-4 relative", children: [
|
|
34624
34618
|
!hideTitle && title && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34625
34619
|
"h3",
|
|
34626
34620
|
{
|
|
34627
|
-
className: "text-
|
|
34621
|
+
className: "text-cardText mb-6 text-sm font-semibold",
|
|
34628
34622
|
children: title
|
|
34629
34623
|
}
|
|
34630
34624
|
),
|
|
34631
34625
|
showTimeline && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34632
34626
|
"div",
|
|
34633
34627
|
{
|
|
34634
|
-
className: "absolute z-0 left-[
|
|
34628
|
+
className: "absolute z-0 left-[48px] top-[70px] bottom-[40px] w-[2px]",
|
|
34635
34629
|
style: {
|
|
34636
34630
|
background: `
|
|
34637
34631
|
radial-gradient(circle closest-side, #3C3D3E 98%, transparent) 50%/2px 5px repeat-y,
|
|
@@ -34664,7 +34658,7 @@ var FormCard = import_react56.default.memo(
|
|
|
34664
34658
|
field.key
|
|
34665
34659
|
))
|
|
34666
34660
|
] }),
|
|
34667
|
-
isLatestMessage && onProceed && proceedLabel ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "my-
|
|
34661
|
+
isLatestMessage && onProceed && proceedLabel ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: "my-4 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
|
|
34668
34662
|
"button",
|
|
34669
34663
|
{
|
|
34670
34664
|
onClick: () => {
|
|
@@ -34673,14 +34667,10 @@ var FormCard = import_react56.default.memo(
|
|
|
34673
34667
|
}
|
|
34674
34668
|
},
|
|
34675
34669
|
className: cn(
|
|
34676
|
-
"px-
|
|
34677
|
-
"bg-
|
|
34678
|
-
"hover:bg-purpleText1 dark:hover:bg-purple100 dark:hover:text-white"
|
|
34670
|
+
"px-4 py-1.5 border rounded-lg transition-colors text-xs font-medium",
|
|
34671
|
+
"bg-cardSurface hover:bg-cardSurface/80 text-gold border-cardBorder"
|
|
34679
34672
|
),
|
|
34680
|
-
children:
|
|
34681
|
-
proceedLabel,
|
|
34682
|
-
/* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ChevronRight, { className: "w-4 h-4" })
|
|
34683
|
-
]
|
|
34673
|
+
children: proceedLabel
|
|
34684
34674
|
}
|
|
34685
34675
|
) }) : !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
|
|
34686
34676
|
]
|
|
@@ -37119,7 +37109,7 @@ var CountrySelectEdit = ({
|
|
|
37119
37109
|
inputValue.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "flex flex-wrap gap-1.5", children: inputValue.map((countryCode) => /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
37120
37110
|
Badge2,
|
|
37121
37111
|
{
|
|
37122
|
-
className: "flex items-center gap-1 px-2 py-
|
|
37112
|
+
className: "flex items-center gap-1 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
37123
37113
|
children: [
|
|
37124
37114
|
countryCode,
|
|
37125
37115
|
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
@@ -37155,7 +37145,7 @@ var CountrySelectDisplay = ({ value }) => {
|
|
|
37155
37145
|
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
37156
37146
|
"div",
|
|
37157
37147
|
{
|
|
37158
|
-
className: "flex items-center gap-
|
|
37148
|
+
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
37159
37149
|
children: country ? country.name : item
|
|
37160
37150
|
},
|
|
37161
37151
|
item
|
|
@@ -37204,7 +37194,7 @@ var KeywordBundlesEdit = ({
|
|
|
37204
37194
|
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "flex flex-wrap gap-1.5", children: Array.isArray(bundle.keywords) && bundle.keywords.map((keyword, kIndex) => /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
|
|
37205
37195
|
"div",
|
|
37206
37196
|
{
|
|
37207
|
-
className: "flex items-center gap-
|
|
37197
|
+
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium hover:bg-red-900/40 hover:border-red-500 transition-all cursor-pointer group",
|
|
37208
37198
|
onClick: () => {
|
|
37209
37199
|
const updatedBundles = [...bundles];
|
|
37210
37200
|
const currentKeywords = parseKeywords(updatedBundles[bundleIndex].keywords);
|
|
@@ -37303,7 +37293,7 @@ var KeywordBundlesDisplay = ({ value }) => {
|
|
|
37303
37293
|
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "flex flex-wrap gap-2 pt-1", children: deduped.map((keyword) => /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
37304
37294
|
"div",
|
|
37305
37295
|
{
|
|
37306
|
-
className: "flex items-center gap-
|
|
37296
|
+
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-white text-xs font-medium",
|
|
37307
37297
|
children: keyword
|
|
37308
37298
|
},
|
|
37309
37299
|
keyword
|
|
@@ -37374,7 +37364,7 @@ var PlatformSelectDisplay = ({ value }) => {
|
|
|
37374
37364
|
return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "flex flex-wrap gap-2 pt-1", children: displayValues.map((platform) => /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
|
|
37375
37365
|
"div",
|
|
37376
37366
|
{
|
|
37377
|
-
className: "flex items-center gap-
|
|
37367
|
+
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
37378
37368
|
children: platform
|
|
37379
37369
|
},
|
|
37380
37370
|
platform
|
|
@@ -37399,7 +37389,7 @@ var StringArrayDisplay = ({ value }) => {
|
|
|
37399
37389
|
return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex flex-wrap gap-2 pt-1", children: value.map((item) => /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37400
37390
|
"div",
|
|
37401
37391
|
{
|
|
37402
|
-
className: "flex items-center gap-
|
|
37392
|
+
className: "flex items-center gap-1.5 px-2 py-0.5 bg-grayPill border border-gray400 rounded-md text-foreground text-xs font-medium",
|
|
37403
37393
|
children: item
|
|
37404
37394
|
},
|
|
37405
37395
|
item
|
|
@@ -37558,9 +37548,9 @@ var CampaignSeedCard = import_react64.default.memo(
|
|
|
37558
37548
|
onProceed: handleProceed,
|
|
37559
37549
|
showTimeline: true,
|
|
37560
37550
|
isLatestMessage: effectiveIsLatest,
|
|
37561
|
-
className
|
|
37562
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex justify-end items-center gap-1
|
|
37563
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(CircleCheck, { className: "h-3
|
|
37551
|
+
className,
|
|
37552
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
37553
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(CircleCheck, { className: "h-3 w-3" }),
|
|
37564
37554
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { children: selectionStatus === "agent" ? "Suggested by Agent" : "Selected by you" })
|
|
37565
37555
|
] }) : formCardProps.footer
|
|
37566
37556
|
}
|
|
@@ -37725,8 +37715,8 @@ var SearchSpecCard = import_react65.default.memo(
|
|
|
37725
37715
|
onProceed: handleProceed,
|
|
37726
37716
|
isLatestMessage: effectiveIsLatest,
|
|
37727
37717
|
className,
|
|
37728
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { className: "flex justify-end items-center gap-1
|
|
37729
|
-
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(CircleCheck, { className: "h-
|
|
37718
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-1", children: [
|
|
37719
|
+
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)(CircleCheck, { className: "h-3 w-3" }),
|
|
37730
37720
|
/* @__PURE__ */ (0, import_jsx_runtime124.jsx)("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by User" })
|
|
37731
37721
|
] }) : formCardProps.footer
|
|
37732
37722
|
}
|
|
@@ -37884,75 +37874,61 @@ var MCQCard = import_react66.default.memo(
|
|
|
37884
37874
|
"div",
|
|
37885
37875
|
{
|
|
37886
37876
|
className: cn(
|
|
37887
|
-
"p-
|
|
37877
|
+
"p-4 rounded-lg border border-gray400 bg-cardSurface w-full",
|
|
37888
37878
|
className
|
|
37889
37879
|
),
|
|
37890
37880
|
children: [
|
|
37891
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("
|
|
37892
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "
|
|
37881
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("p", { className: "text-sm text-cardText", children: question }) }),
|
|
37882
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "space-y-2.5 mb-4", children: optionsEntries.map(([key, label]) => {
|
|
37893
37883
|
const isSelected = selectedOption === key;
|
|
37894
37884
|
const isRecommended = key === recommended;
|
|
37895
|
-
return /* @__PURE__ */ (0, import_jsx_runtime125.
|
|
37885
|
+
return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
37896
37886
|
"div",
|
|
37897
37887
|
{
|
|
37898
37888
|
onClick: (e) => handleOptionClick(key, e),
|
|
37899
37889
|
className: cn(
|
|
37900
|
-
"cursor-pointer rounded-
|
|
37901
|
-
"border
|
|
37890
|
+
"cursor-pointer rounded-lg p-3 transition-colors",
|
|
37891
|
+
"border bg-black",
|
|
37892
|
+
isSelected ? "border-cardBorder" : "border-gray400",
|
|
37902
37893
|
!selectedOption && !isOptionsDisabled && "hover:border-gray500",
|
|
37903
37894
|
(isLoading || isOptionsDisabled) && "opacity-50 cursor-not-allowed"
|
|
37904
37895
|
),
|
|
37905
|
-
children: [
|
|
37906
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "
|
|
37896
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
37897
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "mt-0.5 flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
37907
37898
|
"div",
|
|
37908
37899
|
{
|
|
37909
37900
|
className: cn(
|
|
37910
|
-
"w-
|
|
37911
|
-
isSelected ? "border-
|
|
37912
|
-
"border-
|
|
37913
|
-
!selectedOption && !isOptionsDisabled && "hover:border-
|
|
37901
|
+
"w-4 h-4 rounded-full border-2 flex items-center justify-center transition-colors",
|
|
37902
|
+
isSelected ? "border-gold" : cn(
|
|
37903
|
+
"border-gray500",
|
|
37904
|
+
!selectedOption && !isOptionsDisabled && "hover:border-gold"
|
|
37914
37905
|
)
|
|
37915
37906
|
),
|
|
37916
|
-
children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-2
|
|
37907
|
+
children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "w-2 h-2 rounded-full bg-gold" })
|
|
37917
37908
|
}
|
|
37918
37909
|
) }),
|
|
37919
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "
|
|
37920
|
-
|
|
37921
|
-
|
|
37922
|
-
isSelected && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "flex text-xs font-semibold", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
37923
|
-
"p",
|
|
37924
|
-
{
|
|
37925
|
-
className: cn(
|
|
37926
|
-
"px-2 py-1 rounded-[20px]",
|
|
37927
|
-
selectedOption === recommended ? "bg-purpleLight text-purpleText2 dark:bg-primary/20 dark:text-primary" : "bg-paperBackground text-primaryDark2 dark:bg-primary/20 dark:text-primary"
|
|
37928
|
-
),
|
|
37929
|
-
children: "Selected by you"
|
|
37930
|
-
}
|
|
37931
|
-
) })
|
|
37932
|
-
] }),
|
|
37933
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "text-base font-medium text-txtColor", children: label })
|
|
37910
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
37911
|
+
isRecommended && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)("p", { className: "text-xs font-semibold text-gold mb-1", children: "Recommended" }),
|
|
37912
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("p", { className: "text-sm text-cardText", children: label })
|
|
37934
37913
|
] })
|
|
37935
|
-
]
|
|
37914
|
+
] })
|
|
37936
37915
|
},
|
|
37937
37916
|
key
|
|
37938
37917
|
);
|
|
37939
|
-
}) })
|
|
37940
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.
|
|
37941
|
-
|
|
37942
|
-
|
|
37943
|
-
|
|
37944
|
-
|
|
37945
|
-
|
|
37946
|
-
|
|
37947
|
-
|
|
37948
|
-
|
|
37949
|
-
|
|
37950
|
-
|
|
37951
|
-
|
|
37952
|
-
|
|
37953
|
-
),
|
|
37954
|
-
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "flex-1" })
|
|
37955
|
-
] })
|
|
37918
|
+
}) }),
|
|
37919
|
+
/* @__PURE__ */ (0, import_jsx_runtime125.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
|
|
37920
|
+
"button",
|
|
37921
|
+
{
|
|
37922
|
+
onClick: handleProceed,
|
|
37923
|
+
disabled: isContinueDisabled || isLoading || !selectedOption && !recommended,
|
|
37924
|
+
className: cn(
|
|
37925
|
+
"px-4 py-1.5 border rounded-lg text-xs font-medium transition-colors",
|
|
37926
|
+
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
37927
|
+
"bg-cardSurface hover:bg-cardSurface/80 text-gold border-cardBorder"
|
|
37928
|
+
),
|
|
37929
|
+
children: isLoading ? "Sending..." : "Continue"
|
|
37930
|
+
}
|
|
37931
|
+
) })
|
|
37956
37932
|
]
|
|
37957
37933
|
}
|
|
37958
37934
|
);
|
|
@@ -38613,9 +38589,9 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38613
38589
|
idx + 1,
|
|
38614
38590
|
"."
|
|
38615
38591
|
] }),
|
|
38616
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-
|
|
38617
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38618
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-
|
|
38592
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md", children: String(label) }),
|
|
38593
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText", children: "=" }),
|
|
38594
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-1 text-cardText text-sm rounded-md font-grotesk font-medium", children: formatVal(value) })
|
|
38619
38595
|
] }, idx);
|
|
38620
38596
|
}) });
|
|
38621
38597
|
}
|
|
@@ -38628,9 +38604,9 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38628
38604
|
idx + 1,
|
|
38629
38605
|
"."
|
|
38630
38606
|
] }),
|
|
38631
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-
|
|
38632
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38633
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-
|
|
38607
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md", children: formatKey(k) }),
|
|
38608
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText", children: "=" }),
|
|
38609
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "inline-flex items-center bg-black border border-cardBorder px-2 py-1 text-cardText text-sm rounded-md font-grotesk font-medium", children: formatVal(v) })
|
|
38634
38610
|
] }, k)) });
|
|
38635
38611
|
}
|
|
38636
38612
|
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-muted-foreground text-sm", children: String(val) });
|
|
@@ -38672,7 +38648,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38672
38648
|
if (!val)
|
|
38673
38649
|
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-muted-foreground text-sm", children: "-" });
|
|
38674
38650
|
const displayValue = typeof val === "object" && !Array.isArray(val) ? `${val.min ?? 0}-${val.max ?? 0}` : String(val);
|
|
38675
|
-
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38651
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText text-sm", children: displayValue });
|
|
38676
38652
|
},
|
|
38677
38653
|
renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38678
38654
|
Input,
|
|
@@ -38697,7 +38673,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38697
38673
|
return {
|
|
38698
38674
|
...field,
|
|
38699
38675
|
label: field.label || "Primary KPI",
|
|
38700
|
-
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38676
|
+
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText text-sm", children: val ? String(val) : "-" }),
|
|
38701
38677
|
renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38702
38678
|
Input,
|
|
38703
38679
|
{
|
|
@@ -38715,7 +38691,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38715
38691
|
label: field.label || "Secondary KPIs",
|
|
38716
38692
|
renderDisplay: (val) => {
|
|
38717
38693
|
const display = Array.isArray(val) ? val.map(String).join(", ") : val ? String(val) : "-";
|
|
38718
|
-
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText text-sm", children: display });
|
|
38719
38695
|
},
|
|
38720
38696
|
renderEdit: (v, onChange) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38721
38697
|
Textarea,
|
|
@@ -38742,7 +38718,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38742
38718
|
return {
|
|
38743
38719
|
...field,
|
|
38744
38720
|
type: "textarea",
|
|
38745
|
-
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38721
|
+
renderDisplay: (val) => /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText text-sm leading-relaxed", children: val ? String(val) : "-" })
|
|
38746
38722
|
};
|
|
38747
38723
|
}
|
|
38748
38724
|
return {
|
|
@@ -38756,7 +38732,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38756
38732
|
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38757
38733
|
"span",
|
|
38758
38734
|
{
|
|
38759
|
-
className: "inline-flex items-center bg-
|
|
38735
|
+
className: "inline-flex items-center bg-black border border-cardBorder px-2 py-0.5 text-cardText text-xs font-medium rounded-md",
|
|
38760
38736
|
children: label
|
|
38761
38737
|
},
|
|
38762
38738
|
idx
|
|
@@ -38766,7 +38742,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38766
38742
|
if (typeof val === "object" && val !== null) {
|
|
38767
38743
|
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("div", { className: "text-muted-foreground text-xs font-mono bg-paperBackground p-2 rounded mt-1 overflow-auto max-h-24", children: Object.entries(val).map(([k, v]) => `${k.replace(/_/g, " ")}: ${v}`).join("\n") });
|
|
38768
38744
|
}
|
|
38769
|
-
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-
|
|
38745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-cardText text-sm", children: val !== void 0 && val !== null ? String(val) : "-" });
|
|
38770
38746
|
}
|
|
38771
38747
|
};
|
|
38772
38748
|
});
|
|
@@ -38775,19 +38751,19 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38775
38751
|
"div",
|
|
38776
38752
|
{
|
|
38777
38753
|
className: cn(
|
|
38778
|
-
"w-full rounded-
|
|
38779
|
-
isSelected || isRecommended ? "border-2 border-
|
|
38754
|
+
"w-full rounded-lg border bg-cardSurface relative transition-all duration-300",
|
|
38755
|
+
isSelected || isRecommended ? "border-2 border-cardBorder" : "border-gray400",
|
|
38780
38756
|
className
|
|
38781
38757
|
),
|
|
38782
38758
|
children: [
|
|
38783
38759
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)(
|
|
38784
38760
|
"div",
|
|
38785
38761
|
{
|
|
38786
|
-
className: "px-
|
|
38762
|
+
className: "px-4 py-2.5 relative flex items-center justify-between cursor-pointer select-none",
|
|
38787
38763
|
onClick: handleToggle,
|
|
38788
38764
|
children: [
|
|
38789
38765
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex-1", children: [
|
|
38790
|
-
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("h3", { className: "
|
|
38766
|
+
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("h3", { className: "text-cardText font-semibold text-sm", children: [
|
|
38791
38767
|
"Concept ",
|
|
38792
38768
|
index !== void 0 ? index : "",
|
|
38793
38769
|
" :",
|
|
@@ -38795,8 +38771,8 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38795
38771
|
typeof cardTitle === "object" ? JSON.stringify(cardTitle) : String(cardTitle)
|
|
38796
38772
|
] }),
|
|
38797
38773
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex flex-wrap gap-2", children: [
|
|
38798
|
-
isRecommended && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("
|
|
38799
|
-
!effectiveIsLatest && selectionStatus && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("
|
|
38774
|
+
isRecommended && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: "Recommended" }),
|
|
38775
|
+
!effectiveIsLatest && selectionStatus && /* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { className: "text-[10px] font-semibold uppercase tracking-widest text-gold", children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
38800
38776
|
] })
|
|
38801
38777
|
] }),
|
|
38802
38778
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
@@ -38812,7 +38788,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38812
38788
|
e.stopPropagation();
|
|
38813
38789
|
handleToggle();
|
|
38814
38790
|
},
|
|
38815
|
-
className: "p-2 bg-
|
|
38791
|
+
className: "p-2 bg-cardSurface hover:bg-gray200 text-cardText rounded-lg",
|
|
38816
38792
|
"aria-label": isOpen ? "Collapse" : "Expand",
|
|
38817
38793
|
title: isOpen ? "Collapse" : "Expand",
|
|
38818
38794
|
children: /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
@@ -38836,11 +38812,11 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38836
38812
|
exit: { height: 0, opacity: 0 },
|
|
38837
38813
|
transition: { duration: 0.2, ease: "easeIn" },
|
|
38838
38814
|
className: "overflow-hidden",
|
|
38839
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "px-
|
|
38815
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "px-3 py-2 w-full relative", children: [
|
|
38840
38816
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38841
38817
|
"div",
|
|
38842
38818
|
{
|
|
38843
|
-
className: "absolute left-[
|
|
38819
|
+
className: "absolute left-[48px] top-[70px] bottom-[40px] w-[2px]",
|
|
38844
38820
|
style: {
|
|
38845
38821
|
background: `radial-gradient(circle closest-side, #3C3D3E 98%, transparent) 50%/2px 5px repeat-y, linear-gradient(#3C3D3E 50%, transparent 0) 50%/2px 10px repeat-y`
|
|
38846
38822
|
}
|
|
@@ -38860,7 +38836,7 @@ var CampaignConceptCard = import_react68.default.memo(
|
|
|
38860
38836
|
hideTitle: true,
|
|
38861
38837
|
hideCopyButton: true,
|
|
38862
38838
|
className: "bg-transparent border-none shadow-none mb-0 p-0",
|
|
38863
|
-
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex justify-end items-center gap-1
|
|
38839
|
+
footer: !effectiveIsLatest && selectionStatus ? /* @__PURE__ */ (0, import_jsx_runtime137.jsxs)("div", { className: "flex justify-end items-center gap-1 text-green-600 text-[10px] font-semibold py-2 pr-4", children: [
|
|
38864
38840
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)(CircleCheck, { className: "h-3.5 w-3.5" }),
|
|
38865
38841
|
/* @__PURE__ */ (0, import_jsx_runtime137.jsx)("span", { children: selectionStatus === "agent" ? "Selected by Agent" : "Selected by You" })
|
|
38866
38842
|
] }) : formCardProps.footer
|