pxengine 0.1.34 → 0.1.36
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 +637 -193
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +103 -2
- package/dist/index.d.ts +103 -2
- package/dist/index.mjs +630 -191
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +166 -1
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -200,6 +200,9 @@ __export(index_exports, {
|
|
|
200
200
|
MenubarSeparator: () => MenubarSeparator,
|
|
201
201
|
MenubarShortcut: () => MenubarShortcut,
|
|
202
202
|
MenubarTrigger: () => MenubarTrigger,
|
|
203
|
+
MultiAgentCard: () => MultiAgentCard,
|
|
204
|
+
MultiAgentPlan: () => MultiAgentPlan,
|
|
205
|
+
MultiAgentUISelector: () => MultiAgentUISelector,
|
|
203
206
|
NavigationMenu: () => NavigationMenu,
|
|
204
207
|
NavigationMenuContent: () => NavigationMenuContent,
|
|
205
208
|
NavigationMenuItem: () => NavigationMenuItem,
|
|
@@ -264,6 +267,7 @@ __export(index_exports, {
|
|
|
264
267
|
SliderAtom: () => SliderAtom,
|
|
265
268
|
Spinner: () => Spinner,
|
|
266
269
|
SpinnerAtom: () => SpinnerAtom,
|
|
270
|
+
StageIndicator: () => StageIndicator,
|
|
267
271
|
StatsGrid: () => StatsGrid,
|
|
268
272
|
StepWizard: () => StepWizard,
|
|
269
273
|
Switch: () => Switch,
|
|
@@ -294,6 +298,7 @@ __export(index_exports, {
|
|
|
294
298
|
TooltipProvider: () => TooltipProvider,
|
|
295
299
|
TooltipTrigger: () => TooltipTrigger,
|
|
296
300
|
TopPostsGrid: () => TopPostsGrid,
|
|
301
|
+
UIComponentSelector: () => UIComponentSelector,
|
|
297
302
|
VideoAtom: () => VideoAtom,
|
|
298
303
|
WorkflowVisualizer: () => WorkflowVisualizer,
|
|
299
304
|
cn: () => cn
|
|
@@ -301,7 +306,7 @@ __export(index_exports, {
|
|
|
301
306
|
module.exports = __toCommonJS(index_exports);
|
|
302
307
|
|
|
303
308
|
// src/render/PXEngineRenderer.tsx
|
|
304
|
-
var
|
|
309
|
+
var import_react71 = __toESM(require("react"), 1);
|
|
305
310
|
|
|
306
311
|
// src/atoms/index.ts
|
|
307
312
|
var atoms_exports = {};
|
|
@@ -33599,16 +33604,21 @@ __export(molecules_exports, {
|
|
|
33599
33604
|
KeywordBundlesEdit: () => KeywordBundlesEdit,
|
|
33600
33605
|
LoadingOverlay: () => LoadingOverlay,
|
|
33601
33606
|
MCQCard: () => MCQCard,
|
|
33607
|
+
MultiAgentCard: () => MultiAgentCard,
|
|
33608
|
+
MultiAgentPlan: () => MultiAgentPlan,
|
|
33609
|
+
MultiAgentUISelector: () => MultiAgentUISelector,
|
|
33602
33610
|
NotificationList: () => NotificationList,
|
|
33603
33611
|
PlatformIconGroup: () => PlatformIconGroup,
|
|
33604
33612
|
PlatformSelectDisplay: () => PlatformSelectDisplay,
|
|
33605
33613
|
PlatformSelectEdit: () => PlatformSelectEdit,
|
|
33606
33614
|
SearchSpecCard: () => SearchSpecCard,
|
|
33615
|
+
StageIndicator: () => StageIndicator,
|
|
33607
33616
|
StatsGrid: () => StatsGrid,
|
|
33608
33617
|
StepWizard: () => StepWizard,
|
|
33609
33618
|
TagCloud: () => TagCloud,
|
|
33610
33619
|
ToolListCard: () => ToolListCard,
|
|
33611
33620
|
TopPostsGrid: () => TopPostsGrid,
|
|
33621
|
+
UIComponentSelector: () => UIComponentSelector,
|
|
33612
33622
|
WorkflowVisualizer: () => WorkflowVisualizer
|
|
33613
33623
|
});
|
|
33614
33624
|
|
|
@@ -36950,7 +36960,7 @@ var ToolListCard = ({
|
|
|
36950
36960
|
"div",
|
|
36951
36961
|
{
|
|
36952
36962
|
className: cn(
|
|
36953
|
-
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
36963
|
+
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
36954
36964
|
className
|
|
36955
36965
|
),
|
|
36956
36966
|
children: [
|
|
@@ -36977,10 +36987,10 @@ var ToolListCard = ({
|
|
|
36977
36987
|
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-[var(--primary-color)]/[0.08]", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(ToolIcon, { className: "w-3 h-3 text-[var(--primary-color)]/60" }) }),
|
|
36978
36988
|
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
36979
36989
|
/* @__PURE__ */ (0, import_jsx_runtime122.jsxs)("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
36980
|
-
tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: tool.display_name }),
|
|
36981
|
-
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[11px] font-mono px-1.5 py-0.5 rounded bg-[var(--foreground)]/[0.06] text-[var(--foreground)]/50 border border-[var(--foreground)]/[0.06]", children: tool.name })
|
|
36990
|
+
tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
|
|
36991
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)("span", { className: "text-[11px] font-mono px-1.5 py-0.5 rounded bg-[var(--foreground)]/[0.06] text-[var(--foreground)]/50 border border-[var(--foreground)]/[0.06] truncate", children: tool.name })
|
|
36982
36992
|
] }),
|
|
36983
|
-
tool.description && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5", children: tool.description })
|
|
36993
|
+
tool.description && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
|
|
36984
36994
|
] })
|
|
36985
36995
|
]
|
|
36986
36996
|
},
|
|
@@ -37083,7 +37093,7 @@ var AgentCard = ({
|
|
|
37083
37093
|
"div",
|
|
37084
37094
|
{
|
|
37085
37095
|
className: cn(
|
|
37086
|
-
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37096
|
+
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37087
37097
|
className
|
|
37088
37098
|
),
|
|
37089
37099
|
children: [
|
|
@@ -37092,40 +37102,19 @@ var AgentCard = ({
|
|
|
37092
37102
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
|
|
37093
37103
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(AvatarFallback, { className: "bg-[var(--primary-color)]/10 text-[var(--primary-color)] text-lg font-bold", children: agent.display_name.charAt(0) })
|
|
37094
37104
|
] }),
|
|
37095
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.
|
|
37096
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37097
|
-
"input",
|
|
37098
|
-
{
|
|
37099
|
-
type: "text",
|
|
37100
|
-
value: editState.display_name,
|
|
37101
|
-
onChange: (e) => setEditState((s) => ({ ...s, display_name: e.target.value })),
|
|
37102
|
-
className: "w-full bg-[var(--card-background)] border border-[var(--border-color)] rounded-lg px-3 py-1.5 text-sm text-[var(--foreground)] font-semibold outline-none focus:border-[var(--primary-color)] transition-colors",
|
|
37103
|
-
placeholder: "Display name"
|
|
37104
|
-
}
|
|
37105
|
-
),
|
|
37106
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37107
|
-
"textarea",
|
|
37108
|
-
{
|
|
37109
|
-
value: editState.description,
|
|
37110
|
-
onChange: (e) => setEditState((s) => ({ ...s, description: e.target.value })),
|
|
37111
|
-
className: "w-full bg-[var(--card-background)] border border-[var(--border-color)] rounded-lg px-3 py-1.5 text-xs text-[var(--foreground)]/70 outline-none focus:border-[var(--primary-color)] transition-colors resize-none",
|
|
37112
|
-
rows: 2,
|
|
37113
|
-
placeholder: "Description"
|
|
37114
|
-
}
|
|
37115
|
-
),
|
|
37116
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37117
|
-
"input",
|
|
37118
|
-
{
|
|
37119
|
-
type: "text",
|
|
37120
|
-
value: editState.image,
|
|
37121
|
-
onChange: (e) => setEditState((s) => ({ ...s, image: e.target.value })),
|
|
37122
|
-
className: "w-full bg-[var(--card-background)] border border-[var(--border-color)] rounded-lg px-3 py-1.5 text-xs text-[var(--foreground)]/70 font-mono outline-none focus:border-[var(--primary-color)] transition-colors",
|
|
37123
|
-
placeholder: "Avatar image URL"
|
|
37124
|
-
}
|
|
37125
|
-
)
|
|
37126
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
|
|
37105
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
37127
37106
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37128
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37107
|
+
isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37108
|
+
"input",
|
|
37109
|
+
{
|
|
37110
|
+
type: "text",
|
|
37111
|
+
value: editState.display_name,
|
|
37112
|
+
onChange: (e) => setEditState((s) => ({ ...s, display_name: e.target.value })),
|
|
37113
|
+
disabled: isSaving,
|
|
37114
|
+
className: "flex-1 bg-transparent border-b border-[var(--primary-color)]/30 text-sm font-semibold text-[var(--foreground)] outline-none focus:border-[var(--primary-color)] transition-all",
|
|
37115
|
+
placeholder: "Agent name"
|
|
37116
|
+
}
|
|
37117
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
|
|
37129
37118
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: agent.name }),
|
|
37130
37119
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37131
37120
|
"span",
|
|
@@ -37138,8 +37127,32 @@ var AgentCard = ({
|
|
|
37138
37127
|
}
|
|
37139
37128
|
)
|
|
37140
37129
|
] }),
|
|
37141
|
-
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("
|
|
37142
|
-
|
|
37130
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37131
|
+
"textarea",
|
|
37132
|
+
{
|
|
37133
|
+
value: editState.description,
|
|
37134
|
+
onChange: (e) => setEditState((s) => ({ ...s, description: e.target.value })),
|
|
37135
|
+
disabled: isSaving,
|
|
37136
|
+
className: "w-full bg-transparent border-b border-[var(--primary-color)]/30 text-xs text-[var(--foreground)]/70 outline-none focus:border-[var(--primary-color)] transition-all resize-none leading-relaxed min-h-[40px]",
|
|
37137
|
+
rows: 2,
|
|
37138
|
+
placeholder: "Describe this agent..."
|
|
37139
|
+
}
|
|
37140
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed", children: agent.description }) }),
|
|
37141
|
+
isEditing && /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
37142
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
|
|
37143
|
+
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37144
|
+
"input",
|
|
37145
|
+
{
|
|
37146
|
+
type: "text",
|
|
37147
|
+
value: editState.image,
|
|
37148
|
+
onChange: (e) => setEditState((s) => ({ ...s, image: e.target.value })),
|
|
37149
|
+
disabled: isSaving,
|
|
37150
|
+
className: "flex-1 bg-[var(--foreground)]/[0.03] border border-[var(--border-color)] rounded px-2 py-0.5 text-[10px] text-[var(--foreground)]/50 font-mono outline-none focus:border-[var(--primary-color)]/50 transition-colors",
|
|
37151
|
+
placeholder: "URL"
|
|
37152
|
+
}
|
|
37153
|
+
)
|
|
37154
|
+
] })
|
|
37155
|
+
] }),
|
|
37143
37156
|
editable && onSave && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_jsx_runtime123.Fragment, { children: [
|
|
37144
37157
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
|
|
37145
37158
|
"button",
|
|
@@ -37155,7 +37168,7 @@ var AgentCard = ({
|
|
|
37155
37168
|
{
|
|
37156
37169
|
onClick: handleSave,
|
|
37157
37170
|
disabled: isSaving,
|
|
37158
|
-
className: "text-[11px] px-2.5 py-1 rounded-md bg-[var(--
|
|
37171
|
+
className: "text-[11px] px-2.5 py-1 rounded-md bg-[var(--border-color)] text-foreground border border-[var(--border-color)] hover:opacity-90 transition-opacity disabled:opacity-50",
|
|
37159
37172
|
children: isSaving ? "Saving..." : "Save"
|
|
37160
37173
|
}
|
|
37161
37174
|
)
|
|
@@ -37230,7 +37243,7 @@ var AgentDataTable = ({
|
|
|
37230
37243
|
"div",
|
|
37231
37244
|
{
|
|
37232
37245
|
className: cn(
|
|
37233
|
-
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37246
|
+
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37234
37247
|
className
|
|
37235
37248
|
),
|
|
37236
37249
|
children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("table", { className: "w-full text-xs", children: [
|
|
@@ -37274,7 +37287,7 @@ var WorkflowVisualizer = ({
|
|
|
37274
37287
|
"div",
|
|
37275
37288
|
{
|
|
37276
37289
|
className: cn(
|
|
37277
|
-
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37290
|
+
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37278
37291
|
className
|
|
37279
37292
|
),
|
|
37280
37293
|
children: [
|
|
@@ -37405,7 +37418,7 @@ var InstructionPreview = ({
|
|
|
37405
37418
|
"div",
|
|
37406
37419
|
{
|
|
37407
37420
|
className: cn(
|
|
37408
|
-
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37421
|
+
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden shadow-sm",
|
|
37409
37422
|
className
|
|
37410
37423
|
),
|
|
37411
37424
|
children: [
|
|
@@ -37472,6 +37485,432 @@ var InstructionPreview = ({
|
|
|
37472
37485
|
);
|
|
37473
37486
|
};
|
|
37474
37487
|
|
|
37488
|
+
// src/molecules/agent-builder/UIComponentSelector/UIComponentSelector.tsx
|
|
37489
|
+
var import_react68 = require("react");
|
|
37490
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
37491
|
+
function UIComponentSelector({
|
|
37492
|
+
components,
|
|
37493
|
+
onSelect,
|
|
37494
|
+
className
|
|
37495
|
+
}) {
|
|
37496
|
+
const [selected, setSelected] = (0, import_react68.useState)(/* @__PURE__ */ new Set());
|
|
37497
|
+
const [submitted, setSubmitted] = (0, import_react68.useState)(false);
|
|
37498
|
+
const grouped = components.reduce(
|
|
37499
|
+
(acc, comp) => {
|
|
37500
|
+
const cat = comp.category || "Other";
|
|
37501
|
+
if (!acc[cat]) acc[cat] = [];
|
|
37502
|
+
acc[cat].push(comp);
|
|
37503
|
+
return acc;
|
|
37504
|
+
},
|
|
37505
|
+
{}
|
|
37506
|
+
);
|
|
37507
|
+
const toggle = (name) => {
|
|
37508
|
+
if (submitted) return;
|
|
37509
|
+
setSelected((prev) => {
|
|
37510
|
+
const next = new Set(prev);
|
|
37511
|
+
if (next.has(name)) next.delete(name);
|
|
37512
|
+
else next.add(name);
|
|
37513
|
+
return next;
|
|
37514
|
+
});
|
|
37515
|
+
};
|
|
37516
|
+
const handleContinue = () => {
|
|
37517
|
+
setSubmitted(true);
|
|
37518
|
+
onSelect?.(Array.from(selected));
|
|
37519
|
+
};
|
|
37520
|
+
const categoryOrder = Object.keys(grouped).sort();
|
|
37521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
37522
|
+
"div",
|
|
37523
|
+
{
|
|
37524
|
+
className: cn(
|
|
37525
|
+
"rounded-xl border border-border bg-card overflow-hidden",
|
|
37526
|
+
className
|
|
37527
|
+
),
|
|
37528
|
+
children: [
|
|
37529
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-b border-border bg-muted/50", children: [
|
|
37530
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h3", { className: "text-sm font-semibold text-foreground", children: "Select UI Components" }),
|
|
37531
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("p", { className: "text-xs text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
|
|
37532
|
+
] }),
|
|
37533
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { children: [
|
|
37534
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider mb-2", children: category }),
|
|
37535
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
37536
|
+
"label",
|
|
37537
|
+
{
|
|
37538
|
+
className: cn(
|
|
37539
|
+
"flex items-start gap-3 px-3 py-2 rounded-lg cursor-pointer transition-colors",
|
|
37540
|
+
submitted ? "cursor-default opacity-70" : "hover:bg-muted/50",
|
|
37541
|
+
selected.has(comp.name) && !submitted && "bg-primary/5 border border-primary/20",
|
|
37542
|
+
selected.has(comp.name) && submitted && "bg-primary/5"
|
|
37543
|
+
),
|
|
37544
|
+
children: [
|
|
37545
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
37546
|
+
"input",
|
|
37547
|
+
{
|
|
37548
|
+
type: "checkbox",
|
|
37549
|
+
checked: selected.has(comp.name),
|
|
37550
|
+
onChange: () => toggle(comp.name),
|
|
37551
|
+
disabled: submitted,
|
|
37552
|
+
className: "mt-0.5 h-4 w-4 rounded border-border text-primary focus:ring-primary/50 disabled:opacity-50"
|
|
37553
|
+
}
|
|
37554
|
+
),
|
|
37555
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
37556
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
|
|
37557
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { className: "ml-2 text-xs text-muted-foreground", children: comp.description })
|
|
37558
|
+
] })
|
|
37559
|
+
]
|
|
37560
|
+
},
|
|
37561
|
+
comp.name
|
|
37562
|
+
)) })
|
|
37563
|
+
] }, category)) }),
|
|
37564
|
+
!submitted && /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("div", { className: "px-4 py-3 border-t border-border flex items-center justify-between", children: [
|
|
37565
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
|
|
37566
|
+
selected.size,
|
|
37567
|
+
" selected"
|
|
37568
|
+
] }),
|
|
37569
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
37570
|
+
"button",
|
|
37571
|
+
{
|
|
37572
|
+
onClick: handleContinue,
|
|
37573
|
+
className: "px-4 py-1.5 text-sm font-medium rounded-lg bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",
|
|
37574
|
+
children: "Continue"
|
|
37575
|
+
}
|
|
37576
|
+
)
|
|
37577
|
+
] })
|
|
37578
|
+
]
|
|
37579
|
+
}
|
|
37580
|
+
);
|
|
37581
|
+
}
|
|
37582
|
+
|
|
37583
|
+
// src/molecules/agent-builder/MultiAgentCard/MultiAgentCard.tsx
|
|
37584
|
+
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
37585
|
+
var MultiAgentCard = ({
|
|
37586
|
+
name,
|
|
37587
|
+
display_name,
|
|
37588
|
+
description,
|
|
37589
|
+
stages = [],
|
|
37590
|
+
enabled = true,
|
|
37591
|
+
className
|
|
37592
|
+
}) => {
|
|
37593
|
+
const avatarUrl = `https://api.dicebear.com/7.x/avataaars/svg?seed=${name}`;
|
|
37594
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
37595
|
+
"div",
|
|
37596
|
+
{
|
|
37597
|
+
className: cn(
|
|
37598
|
+
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37599
|
+
className
|
|
37600
|
+
),
|
|
37601
|
+
children: [
|
|
37602
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-start gap-4 px-5 py-4", children: [
|
|
37603
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "h-12 w-12 shrink-0 rounded-full border-2 border-[var(--primary-color)]/20 overflow-hidden bg-[var(--primary-color)]/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
|
|
37604
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
37605
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37606
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
|
|
37607
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
|
|
37608
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-violet-500/10 text-violet-600", children: "Multi-Agent" }),
|
|
37609
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37610
|
+
"span",
|
|
37611
|
+
{
|
|
37612
|
+
className: cn(
|
|
37613
|
+
"text-[10px] px-1.5 py-0.5 rounded-full font-medium",
|
|
37614
|
+
enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
37615
|
+
),
|
|
37616
|
+
children: enabled ? "Active" : "Disabled"
|
|
37617
|
+
}
|
|
37618
|
+
)
|
|
37619
|
+
] }),
|
|
37620
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1", children: description })
|
|
37621
|
+
] })
|
|
37622
|
+
] }),
|
|
37623
|
+
stages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
|
|
37624
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
|
|
37625
|
+
"Stages (",
|
|
37626
|
+
stages.length,
|
|
37627
|
+
")"
|
|
37628
|
+
] }),
|
|
37629
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-stretch", children: [
|
|
37630
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex flex-col items-center mr-3 w-5", children: [
|
|
37631
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
37632
|
+
"div",
|
|
37633
|
+
{
|
|
37634
|
+
className: cn(
|
|
37635
|
+
"w-5 h-5 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0",
|
|
37636
|
+
"bg-[var(--primary-color)]/10 text-[var(--primary-color)] border border-[var(--primary-color)]/30"
|
|
37637
|
+
),
|
|
37638
|
+
children: idx + 1
|
|
37639
|
+
}
|
|
37640
|
+
),
|
|
37641
|
+
idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { className: "w-px flex-1 bg-[var(--primary-color)]/20 min-h-[16px]" })
|
|
37642
|
+
] }),
|
|
37643
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
|
|
37644
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37645
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
|
|
37646
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30", children: stage.agent_name })
|
|
37647
|
+
] }),
|
|
37648
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
|
|
37649
|
+
stage.tools && stage.tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
|
|
37650
|
+
stage.tools.length,
|
|
37651
|
+
" tool",
|
|
37652
|
+
stage.tools.length !== 1 ? "s" : ""
|
|
37653
|
+
] }),
|
|
37654
|
+
stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("span", { children: [
|
|
37655
|
+
stage.ui_components.length,
|
|
37656
|
+
" component",
|
|
37657
|
+
stage.ui_components.length !== 1 ? "s" : ""
|
|
37658
|
+
] })
|
|
37659
|
+
] })
|
|
37660
|
+
] })
|
|
37661
|
+
] }, stage.agent_name || idx)) })
|
|
37662
|
+
] })
|
|
37663
|
+
]
|
|
37664
|
+
}
|
|
37665
|
+
);
|
|
37666
|
+
};
|
|
37667
|
+
|
|
37668
|
+
// src/molecules/agent-builder/MultiAgentPlan/MultiAgentPlan.tsx
|
|
37669
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
37670
|
+
var MultiAgentPlan = ({
|
|
37671
|
+
stages = [],
|
|
37672
|
+
className
|
|
37673
|
+
}) => {
|
|
37674
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
|
|
37675
|
+
"div",
|
|
37676
|
+
{
|
|
37677
|
+
className: cn(
|
|
37678
|
+
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37679
|
+
className
|
|
37680
|
+
),
|
|
37681
|
+
children: [
|
|
37682
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37683
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37684
|
+
"svg",
|
|
37685
|
+
{
|
|
37686
|
+
width: "10",
|
|
37687
|
+
height: "10",
|
|
37688
|
+
viewBox: "0 0 24 24",
|
|
37689
|
+
fill: "none",
|
|
37690
|
+
stroke: "currentColor",
|
|
37691
|
+
strokeWidth: "2",
|
|
37692
|
+
className: "text-violet-600",
|
|
37693
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
|
|
37694
|
+
}
|
|
37695
|
+
) }),
|
|
37696
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
|
|
37697
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
|
|
37698
|
+
] }) }),
|
|
37699
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "px-4 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex items-stretch", children: [
|
|
37700
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex flex-col items-center mr-3 w-6", children: [
|
|
37701
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 bg-[var(--primary-color)]/10 text-[var(--primary-color)] border border-[var(--primary-color)]/30", children: idx + 1 }),
|
|
37702
|
+
idx < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "w-px flex-1 bg-[var(--primary-color)]/20 min-h-[12px]" })
|
|
37703
|
+
] }),
|
|
37704
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("div", { className: "flex-1 mb-2 pb-2", children: [
|
|
37705
|
+
/* @__PURE__ */ (0, import_jsx_runtime129.jsx)("p", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
|
|
37706
|
+
stage.description && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("p", { className: "text-[11px] text-[var(--foreground)]/50 mt-0.5", children: stage.description }),
|
|
37707
|
+
stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
37708
|
+
"span",
|
|
37709
|
+
{
|
|
37710
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-[var(--primary-color)]/10 text-[var(--primary-color)] font-mono",
|
|
37711
|
+
children: tool
|
|
37712
|
+
},
|
|
37713
|
+
tool
|
|
37714
|
+
)) })
|
|
37715
|
+
] })
|
|
37716
|
+
] }, stage.name || idx)) }) })
|
|
37717
|
+
]
|
|
37718
|
+
}
|
|
37719
|
+
);
|
|
37720
|
+
};
|
|
37721
|
+
|
|
37722
|
+
// src/molecules/agent-builder/MultiAgentUISelector/MultiAgentUISelector.tsx
|
|
37723
|
+
var import_react69 = require("react");
|
|
37724
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
37725
|
+
var MultiAgentUISelector = ({
|
|
37726
|
+
stages = [],
|
|
37727
|
+
components = [],
|
|
37728
|
+
onSelect,
|
|
37729
|
+
className
|
|
37730
|
+
}) => {
|
|
37731
|
+
const [activeStageId, setActiveStageId] = (0, import_react69.useState)(stages[0]?.id || "");
|
|
37732
|
+
const [selections, setSelections] = (0, import_react69.useState)(
|
|
37733
|
+
() => {
|
|
37734
|
+
const init = {};
|
|
37735
|
+
for (const stage of stages) {
|
|
37736
|
+
init[stage.id] = /* @__PURE__ */ new Set();
|
|
37737
|
+
}
|
|
37738
|
+
return init;
|
|
37739
|
+
}
|
|
37740
|
+
);
|
|
37741
|
+
const [submitted, setSubmitted] = (0, import_react69.useState)(false);
|
|
37742
|
+
const grouped = components.reduce((acc, comp) => {
|
|
37743
|
+
const cat = comp.category || "Other";
|
|
37744
|
+
if (!acc[cat]) acc[cat] = [];
|
|
37745
|
+
acc[cat].push(comp);
|
|
37746
|
+
return acc;
|
|
37747
|
+
}, {});
|
|
37748
|
+
const toggleComponent = (0, import_react69.useCallback)(
|
|
37749
|
+
(stageId, compName) => {
|
|
37750
|
+
if (submitted) return;
|
|
37751
|
+
setSelections((prev) => {
|
|
37752
|
+
const updated = { ...prev };
|
|
37753
|
+
const set = new Set(updated[stageId] || []);
|
|
37754
|
+
if (set.has(compName)) {
|
|
37755
|
+
set.delete(compName);
|
|
37756
|
+
} else {
|
|
37757
|
+
set.add(compName);
|
|
37758
|
+
}
|
|
37759
|
+
updated[stageId] = set;
|
|
37760
|
+
return updated;
|
|
37761
|
+
});
|
|
37762
|
+
},
|
|
37763
|
+
[submitted]
|
|
37764
|
+
);
|
|
37765
|
+
const handleContinue = (0, import_react69.useCallback)(() => {
|
|
37766
|
+
setSubmitted(true);
|
|
37767
|
+
if (onSelect) {
|
|
37768
|
+
const result = {};
|
|
37769
|
+
for (const [stageId, set] of Object.entries(selections)) {
|
|
37770
|
+
result[stageId] = Array.from(set);
|
|
37771
|
+
}
|
|
37772
|
+
onSelect(result);
|
|
37773
|
+
}
|
|
37774
|
+
}, [onSelect, selections]);
|
|
37775
|
+
const activeStage = stages.find((s) => s.id === activeStageId);
|
|
37776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
37777
|
+
"div",
|
|
37778
|
+
{
|
|
37779
|
+
className: cn(
|
|
37780
|
+
"my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
37781
|
+
className
|
|
37782
|
+
),
|
|
37783
|
+
children: [
|
|
37784
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
37785
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "w-4 h-4 rounded bg-[var(--primary-color)]/20 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
37786
|
+
"svg",
|
|
37787
|
+
{
|
|
37788
|
+
width: "10",
|
|
37789
|
+
height: "10",
|
|
37790
|
+
viewBox: "0 0 24 24",
|
|
37791
|
+
fill: "none",
|
|
37792
|
+
stroke: "currentColor",
|
|
37793
|
+
strokeWidth: "2",
|
|
37794
|
+
className: "text-[var(--primary-color)]",
|
|
37795
|
+
children: [
|
|
37796
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "3", y: "3", width: "7", height: "7" }),
|
|
37797
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "14", y: "3", width: "7", height: "7" }),
|
|
37798
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "3", y: "14", width: "7", height: "7" }),
|
|
37799
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("rect", { x: "14", y: "14", width: "7", height: "7" })
|
|
37800
|
+
]
|
|
37801
|
+
}
|
|
37802
|
+
) }),
|
|
37803
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "UI Components per Stage" })
|
|
37804
|
+
] }) }),
|
|
37805
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "flex border-b border-[var(--border-color)] px-4", children: stages.map((stage) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37806
|
+
"button",
|
|
37807
|
+
{
|
|
37808
|
+
onClick: () => setActiveStageId(stage.id),
|
|
37809
|
+
disabled: submitted,
|
|
37810
|
+
className: cn(
|
|
37811
|
+
"px-3 py-2 text-[11px] font-medium border-b-2 transition-colors",
|
|
37812
|
+
activeStageId === stage.id ? "border-[var(--primary-color)] text-[var(--primary-color)]" : "border-transparent text-[var(--foreground)]/50 hover:text-[var(--foreground)]",
|
|
37813
|
+
submitted && "opacity-60 cursor-default"
|
|
37814
|
+
),
|
|
37815
|
+
children: stage.name
|
|
37816
|
+
},
|
|
37817
|
+
stage.id
|
|
37818
|
+
)) }),
|
|
37819
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "px-4 py-3", children: [
|
|
37820
|
+
activeStage && /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("p", { className: "text-[10px] text-[var(--foreground)]/40 mb-3", children: [
|
|
37821
|
+
"Select components for ",
|
|
37822
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("strong", { children: activeStage.name }),
|
|
37823
|
+
" (",
|
|
37824
|
+
activeStage.agent_name,
|
|
37825
|
+
")"
|
|
37826
|
+
] }),
|
|
37827
|
+
Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "mb-3", children: [
|
|
37828
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-1.5", children: category }),
|
|
37829
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
|
|
37830
|
+
const isSelected = selections[activeStageId]?.has(comp.name) || false;
|
|
37831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
|
|
37832
|
+
"button",
|
|
37833
|
+
{
|
|
37834
|
+
onClick: () => toggleComponent(activeStageId, comp.name),
|
|
37835
|
+
disabled: submitted,
|
|
37836
|
+
className: cn(
|
|
37837
|
+
"text-left p-2.5 rounded-lg border text-[11px] transition-all",
|
|
37838
|
+
isSelected ? "border-[var(--primary-color)] bg-[var(--primary-color)]/5" : "border-[var(--border-color)] hover:border-[var(--primary-color)]/50",
|
|
37839
|
+
submitted && "opacity-60 cursor-default"
|
|
37840
|
+
),
|
|
37841
|
+
children: [
|
|
37842
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
37843
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37844
|
+
"div",
|
|
37845
|
+
{
|
|
37846
|
+
className: cn(
|
|
37847
|
+
"w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0",
|
|
37848
|
+
isSelected ? "bg-[var(--primary-color)] border-[var(--primary-color)]" : "border-[var(--foreground)]/20"
|
|
37849
|
+
),
|
|
37850
|
+
children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37851
|
+
"svg",
|
|
37852
|
+
{
|
|
37853
|
+
width: "8",
|
|
37854
|
+
height: "8",
|
|
37855
|
+
viewBox: "0 0 24 24",
|
|
37856
|
+
fill: "none",
|
|
37857
|
+
stroke: "white",
|
|
37858
|
+
strokeWidth: "3",
|
|
37859
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("polyline", { points: "20 6 9 17 4 12" })
|
|
37860
|
+
}
|
|
37861
|
+
)
|
|
37862
|
+
}
|
|
37863
|
+
),
|
|
37864
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("span", { className: "font-medium text-[var(--foreground)]", children: comp.display_name })
|
|
37865
|
+
] }),
|
|
37866
|
+
/* @__PURE__ */ (0, import_jsx_runtime130.jsx)("p", { className: "text-[10px] text-[var(--foreground)]/40 mt-0.5 ml-5", children: comp.description })
|
|
37867
|
+
]
|
|
37868
|
+
},
|
|
37869
|
+
comp.name
|
|
37870
|
+
);
|
|
37871
|
+
}) })
|
|
37872
|
+
] }, category))
|
|
37873
|
+
] }),
|
|
37874
|
+
!submitted && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
37875
|
+
"button",
|
|
37876
|
+
{
|
|
37877
|
+
onClick: handleContinue,
|
|
37878
|
+
className: "w-full py-2 rounded-lg bg-[var(--primary-color)] text-white text-xs font-medium hover:opacity-90 transition-opacity",
|
|
37879
|
+
children: "Continue"
|
|
37880
|
+
}
|
|
37881
|
+
) }),
|
|
37882
|
+
submitted && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "px-4 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5", children: "Selections confirmed" }) })
|
|
37883
|
+
]
|
|
37884
|
+
}
|
|
37885
|
+
);
|
|
37886
|
+
};
|
|
37887
|
+
|
|
37888
|
+
// src/molecules/agent-builder/StageIndicator/StageIndicator.tsx
|
|
37889
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
37890
|
+
var StageIndicator = ({
|
|
37891
|
+
stage_name,
|
|
37892
|
+
agent_name,
|
|
37893
|
+
className
|
|
37894
|
+
}) => {
|
|
37895
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
|
|
37896
|
+
"div",
|
|
37897
|
+
{
|
|
37898
|
+
className: cn(
|
|
37899
|
+
"flex items-center gap-3 my-4",
|
|
37900
|
+
className
|
|
37901
|
+
),
|
|
37902
|
+
children: [
|
|
37903
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
|
|
37904
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
|
|
37905
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
|
|
37906
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
|
|
37907
|
+
] }),
|
|
37908
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
|
|
37909
|
+
]
|
|
37910
|
+
}
|
|
37911
|
+
);
|
|
37912
|
+
};
|
|
37913
|
+
|
|
37475
37914
|
// src/components/ui/index.ts
|
|
37476
37915
|
var ui_exports = {};
|
|
37477
37916
|
__export(ui_exports, {
|
|
@@ -37764,7 +38203,7 @@ __export(ui_exports, {
|
|
|
37764
38203
|
// src/components/ui/button-group.tsx
|
|
37765
38204
|
var import_react_slot4 = require("@radix-ui/react-slot");
|
|
37766
38205
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
37767
|
-
var
|
|
38206
|
+
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
37768
38207
|
var buttonGroupVariants = (0, import_class_variance_authority8.cva)(
|
|
37769
38208
|
"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",
|
|
37770
38209
|
{
|
|
@@ -37784,7 +38223,7 @@ function ButtonGroup({
|
|
|
37784
38223
|
orientation,
|
|
37785
38224
|
...props
|
|
37786
38225
|
}) {
|
|
37787
|
-
return /* @__PURE__ */ (0,
|
|
38226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
37788
38227
|
"div",
|
|
37789
38228
|
{
|
|
37790
38229
|
role: "group",
|
|
@@ -37801,7 +38240,7 @@ function ButtonGroupText({
|
|
|
37801
38240
|
...props
|
|
37802
38241
|
}) {
|
|
37803
38242
|
const Comp = asChild ? import_react_slot4.Slot : "div";
|
|
37804
|
-
return /* @__PURE__ */ (0,
|
|
38243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
37805
38244
|
Comp,
|
|
37806
38245
|
{
|
|
37807
38246
|
className: cn(
|
|
@@ -37817,7 +38256,7 @@ function ButtonGroupSeparator({
|
|
|
37817
38256
|
orientation = "vertical",
|
|
37818
38257
|
...props
|
|
37819
38258
|
}) {
|
|
37820
|
-
return /* @__PURE__ */ (0,
|
|
38259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
37821
38260
|
Separator2,
|
|
37822
38261
|
{
|
|
37823
38262
|
"data-slot": "button-group-separator",
|
|
@@ -37833,9 +38272,9 @@ function ButtonGroupSeparator({
|
|
|
37833
38272
|
|
|
37834
38273
|
// src/components/ui/empty.tsx
|
|
37835
38274
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
37836
|
-
var
|
|
38275
|
+
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
37837
38276
|
function Empty({ className, ...props }) {
|
|
37838
|
-
return /* @__PURE__ */ (0,
|
|
38277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
37839
38278
|
"div",
|
|
37840
38279
|
{
|
|
37841
38280
|
"data-slot": "empty",
|
|
@@ -37848,7 +38287,7 @@ function Empty({ className, ...props }) {
|
|
|
37848
38287
|
);
|
|
37849
38288
|
}
|
|
37850
38289
|
function EmptyHeader({ className, ...props }) {
|
|
37851
|
-
return /* @__PURE__ */ (0,
|
|
38290
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
37852
38291
|
"div",
|
|
37853
38292
|
{
|
|
37854
38293
|
"data-slot": "empty-header",
|
|
@@ -37879,7 +38318,7 @@ function EmptyMedia({
|
|
|
37879
38318
|
variant = "default",
|
|
37880
38319
|
...props
|
|
37881
38320
|
}) {
|
|
37882
|
-
return /* @__PURE__ */ (0,
|
|
38321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
37883
38322
|
"div",
|
|
37884
38323
|
{
|
|
37885
38324
|
"data-slot": "empty-icon",
|
|
@@ -37890,7 +38329,7 @@ function EmptyMedia({
|
|
|
37890
38329
|
);
|
|
37891
38330
|
}
|
|
37892
38331
|
function EmptyTitle({ className, ...props }) {
|
|
37893
|
-
return /* @__PURE__ */ (0,
|
|
38332
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
37894
38333
|
"div",
|
|
37895
38334
|
{
|
|
37896
38335
|
"data-slot": "empty-title",
|
|
@@ -37900,7 +38339,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
37900
38339
|
);
|
|
37901
38340
|
}
|
|
37902
38341
|
function EmptyDescription({ className, ...props }) {
|
|
37903
|
-
return /* @__PURE__ */ (0,
|
|
38342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
37904
38343
|
"div",
|
|
37905
38344
|
{
|
|
37906
38345
|
"data-slot": "empty-description",
|
|
@@ -37913,7 +38352,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
37913
38352
|
);
|
|
37914
38353
|
}
|
|
37915
38354
|
function EmptyContent({ className, ...props }) {
|
|
37916
|
-
return /* @__PURE__ */ (0,
|
|
38355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
37917
38356
|
"div",
|
|
37918
38357
|
{
|
|
37919
38358
|
"data-slot": "empty-content",
|
|
@@ -37927,11 +38366,11 @@ function EmptyContent({ className, ...props }) {
|
|
|
37927
38366
|
}
|
|
37928
38367
|
|
|
37929
38368
|
// src/components/ui/field.tsx
|
|
37930
|
-
var
|
|
38369
|
+
var import_react70 = require("react");
|
|
37931
38370
|
var import_class_variance_authority10 = require("class-variance-authority");
|
|
37932
|
-
var
|
|
38371
|
+
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
37933
38372
|
function FieldSet({ className, ...props }) {
|
|
37934
|
-
return /* @__PURE__ */ (0,
|
|
38373
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
37935
38374
|
"fieldset",
|
|
37936
38375
|
{
|
|
37937
38376
|
"data-slot": "field-set",
|
|
@@ -37949,7 +38388,7 @@ function FieldLegend({
|
|
|
37949
38388
|
variant = "legend",
|
|
37950
38389
|
...props
|
|
37951
38390
|
}) {
|
|
37952
|
-
return /* @__PURE__ */ (0,
|
|
38391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
37953
38392
|
"legend",
|
|
37954
38393
|
{
|
|
37955
38394
|
"data-slot": "field-legend",
|
|
@@ -37965,7 +38404,7 @@ function FieldLegend({
|
|
|
37965
38404
|
);
|
|
37966
38405
|
}
|
|
37967
38406
|
function FieldGroup({ className, ...props }) {
|
|
37968
|
-
return /* @__PURE__ */ (0,
|
|
38407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
37969
38408
|
"div",
|
|
37970
38409
|
{
|
|
37971
38410
|
"data-slot": "field-group",
|
|
@@ -38005,7 +38444,7 @@ function Field({
|
|
|
38005
38444
|
orientation = "vertical",
|
|
38006
38445
|
...props
|
|
38007
38446
|
}) {
|
|
38008
|
-
return /* @__PURE__ */ (0,
|
|
38447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38009
38448
|
"div",
|
|
38010
38449
|
{
|
|
38011
38450
|
role: "group",
|
|
@@ -38017,7 +38456,7 @@ function Field({
|
|
|
38017
38456
|
);
|
|
38018
38457
|
}
|
|
38019
38458
|
function FieldContent({ className, ...props }) {
|
|
38020
|
-
return /* @__PURE__ */ (0,
|
|
38459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38021
38460
|
"div",
|
|
38022
38461
|
{
|
|
38023
38462
|
"data-slot": "field-content",
|
|
@@ -38033,7 +38472,7 @@ function FieldLabel({
|
|
|
38033
38472
|
className,
|
|
38034
38473
|
...props
|
|
38035
38474
|
}) {
|
|
38036
|
-
return /* @__PURE__ */ (0,
|
|
38475
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38037
38476
|
Label,
|
|
38038
38477
|
{
|
|
38039
38478
|
"data-slot": "field-label",
|
|
@@ -38048,7 +38487,7 @@ function FieldLabel({
|
|
|
38048
38487
|
);
|
|
38049
38488
|
}
|
|
38050
38489
|
function FieldTitle({ className, ...props }) {
|
|
38051
|
-
return /* @__PURE__ */ (0,
|
|
38490
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38052
38491
|
"div",
|
|
38053
38492
|
{
|
|
38054
38493
|
"data-slot": "field-label",
|
|
@@ -38061,7 +38500,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
38061
38500
|
);
|
|
38062
38501
|
}
|
|
38063
38502
|
function FieldDescription({ className, ...props }) {
|
|
38064
|
-
return /* @__PURE__ */ (0,
|
|
38503
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38065
38504
|
"p",
|
|
38066
38505
|
{
|
|
38067
38506
|
"data-slot": "field-description",
|
|
@@ -38080,7 +38519,7 @@ function FieldSeparator({
|
|
|
38080
38519
|
className,
|
|
38081
38520
|
...props
|
|
38082
38521
|
}) {
|
|
38083
|
-
return /* @__PURE__ */ (0,
|
|
38522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
38084
38523
|
"div",
|
|
38085
38524
|
{
|
|
38086
38525
|
"data-slot": "field-separator",
|
|
@@ -38091,8 +38530,8 @@ function FieldSeparator({
|
|
|
38091
38530
|
),
|
|
38092
38531
|
...props,
|
|
38093
38532
|
children: [
|
|
38094
|
-
/* @__PURE__ */ (0,
|
|
38095
|
-
children && /* @__PURE__ */ (0,
|
|
38533
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
38534
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38096
38535
|
"span",
|
|
38097
38536
|
{
|
|
38098
38537
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -38110,7 +38549,7 @@ function FieldError({
|
|
|
38110
38549
|
errors,
|
|
38111
38550
|
...props
|
|
38112
38551
|
}) {
|
|
38113
|
-
const content = (0,
|
|
38552
|
+
const content = (0, import_react70.useMemo)(() => {
|
|
38114
38553
|
if (children) {
|
|
38115
38554
|
return children;
|
|
38116
38555
|
}
|
|
@@ -38120,14 +38559,14 @@ function FieldError({
|
|
|
38120
38559
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
38121
38560
|
return errors[0].message;
|
|
38122
38561
|
}
|
|
38123
|
-
return /* @__PURE__ */ (0,
|
|
38124
|
-
(error, index) => error?.message && /* @__PURE__ */ (0,
|
|
38562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
38563
|
+
(error, index) => error?.message && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("li", { children: error.message }, index)
|
|
38125
38564
|
) });
|
|
38126
38565
|
}, [children, errors]);
|
|
38127
38566
|
if (!content) {
|
|
38128
38567
|
return null;
|
|
38129
38568
|
}
|
|
38130
|
-
return /* @__PURE__ */ (0,
|
|
38569
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
38131
38570
|
"div",
|
|
38132
38571
|
{
|
|
38133
38572
|
role: "alert",
|
|
@@ -38141,9 +38580,9 @@ function FieldError({
|
|
|
38141
38580
|
|
|
38142
38581
|
// src/components/ui/input-group.tsx
|
|
38143
38582
|
var import_class_variance_authority11 = require("class-variance-authority");
|
|
38144
|
-
var
|
|
38583
|
+
var import_jsx_runtime135 = require("react/jsx-runtime");
|
|
38145
38584
|
function InputGroup({ className, ...props }) {
|
|
38146
|
-
return /* @__PURE__ */ (0,
|
|
38585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38147
38586
|
"div",
|
|
38148
38587
|
{
|
|
38149
38588
|
"data-slot": "input-group",
|
|
@@ -38187,7 +38626,7 @@ function InputGroupAddon({
|
|
|
38187
38626
|
align = "inline-start",
|
|
38188
38627
|
...props
|
|
38189
38628
|
}) {
|
|
38190
|
-
return /* @__PURE__ */ (0,
|
|
38629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38191
38630
|
"div",
|
|
38192
38631
|
{
|
|
38193
38632
|
role: "group",
|
|
@@ -38227,7 +38666,7 @@ function InputGroupButton({
|
|
|
38227
38666
|
size = "xs",
|
|
38228
38667
|
...props
|
|
38229
38668
|
}) {
|
|
38230
|
-
return /* @__PURE__ */ (0,
|
|
38669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38231
38670
|
Button,
|
|
38232
38671
|
{
|
|
38233
38672
|
type,
|
|
@@ -38239,7 +38678,7 @@ function InputGroupButton({
|
|
|
38239
38678
|
);
|
|
38240
38679
|
}
|
|
38241
38680
|
function InputGroupText({ className, ...props }) {
|
|
38242
|
-
return /* @__PURE__ */ (0,
|
|
38681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38243
38682
|
"span",
|
|
38244
38683
|
{
|
|
38245
38684
|
className: cn(
|
|
@@ -38254,7 +38693,7 @@ function InputGroupInput({
|
|
|
38254
38693
|
className,
|
|
38255
38694
|
...props
|
|
38256
38695
|
}) {
|
|
38257
|
-
return /* @__PURE__ */ (0,
|
|
38696
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38258
38697
|
Input,
|
|
38259
38698
|
{
|
|
38260
38699
|
"data-slot": "input-group-control",
|
|
@@ -38270,7 +38709,7 @@ function InputGroupTextarea({
|
|
|
38270
38709
|
className,
|
|
38271
38710
|
...props
|
|
38272
38711
|
}) {
|
|
38273
|
-
return /* @__PURE__ */ (0,
|
|
38712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime135.jsx)(
|
|
38274
38713
|
Textarea,
|
|
38275
38714
|
{
|
|
38276
38715
|
"data-slot": "input-group-control",
|
|
@@ -38286,9 +38725,9 @@ function InputGroupTextarea({
|
|
|
38286
38725
|
// src/components/ui/item.tsx
|
|
38287
38726
|
var import_react_slot5 = require("@radix-ui/react-slot");
|
|
38288
38727
|
var import_class_variance_authority12 = require("class-variance-authority");
|
|
38289
|
-
var
|
|
38728
|
+
var import_jsx_runtime136 = require("react/jsx-runtime");
|
|
38290
38729
|
function ItemGroup({ className, ...props }) {
|
|
38291
|
-
return /* @__PURE__ */ (0,
|
|
38730
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38292
38731
|
"div",
|
|
38293
38732
|
{
|
|
38294
38733
|
role: "list",
|
|
@@ -38302,7 +38741,7 @@ function ItemSeparator({
|
|
|
38302
38741
|
className,
|
|
38303
38742
|
...props
|
|
38304
38743
|
}) {
|
|
38305
|
-
return /* @__PURE__ */ (0,
|
|
38744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38306
38745
|
Separator2,
|
|
38307
38746
|
{
|
|
38308
38747
|
"data-slot": "item-separator",
|
|
@@ -38340,7 +38779,7 @@ function Item8({
|
|
|
38340
38779
|
...props
|
|
38341
38780
|
}) {
|
|
38342
38781
|
const Comp = asChild ? import_react_slot5.Slot : "div";
|
|
38343
|
-
return /* @__PURE__ */ (0,
|
|
38782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38344
38783
|
Comp,
|
|
38345
38784
|
{
|
|
38346
38785
|
"data-slot": "item",
|
|
@@ -38371,7 +38810,7 @@ function ItemMedia({
|
|
|
38371
38810
|
variant = "default",
|
|
38372
38811
|
...props
|
|
38373
38812
|
}) {
|
|
38374
|
-
return /* @__PURE__ */ (0,
|
|
38813
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38375
38814
|
"div",
|
|
38376
38815
|
{
|
|
38377
38816
|
"data-slot": "item-media",
|
|
@@ -38382,7 +38821,7 @@ function ItemMedia({
|
|
|
38382
38821
|
);
|
|
38383
38822
|
}
|
|
38384
38823
|
function ItemContent({ className, ...props }) {
|
|
38385
|
-
return /* @__PURE__ */ (0,
|
|
38824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38386
38825
|
"div",
|
|
38387
38826
|
{
|
|
38388
38827
|
"data-slot": "item-content",
|
|
@@ -38395,7 +38834,7 @@ function ItemContent({ className, ...props }) {
|
|
|
38395
38834
|
);
|
|
38396
38835
|
}
|
|
38397
38836
|
function ItemTitle({ className, ...props }) {
|
|
38398
|
-
return /* @__PURE__ */ (0,
|
|
38837
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38399
38838
|
"div",
|
|
38400
38839
|
{
|
|
38401
38840
|
"data-slot": "item-title",
|
|
@@ -38408,7 +38847,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
38408
38847
|
);
|
|
38409
38848
|
}
|
|
38410
38849
|
function ItemDescription({ className, ...props }) {
|
|
38411
|
-
return /* @__PURE__ */ (0,
|
|
38850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38412
38851
|
"p",
|
|
38413
38852
|
{
|
|
38414
38853
|
"data-slot": "item-description",
|
|
@@ -38422,7 +38861,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
38422
38861
|
);
|
|
38423
38862
|
}
|
|
38424
38863
|
function ItemActions({ className, ...props }) {
|
|
38425
|
-
return /* @__PURE__ */ (0,
|
|
38864
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38426
38865
|
"div",
|
|
38427
38866
|
{
|
|
38428
38867
|
"data-slot": "item-actions",
|
|
@@ -38432,7 +38871,7 @@ function ItemActions({ className, ...props }) {
|
|
|
38432
38871
|
);
|
|
38433
38872
|
}
|
|
38434
38873
|
function ItemHeader({ className, ...props }) {
|
|
38435
|
-
return /* @__PURE__ */ (0,
|
|
38874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38436
38875
|
"div",
|
|
38437
38876
|
{
|
|
38438
38877
|
"data-slot": "item-header",
|
|
@@ -38445,7 +38884,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
38445
38884
|
);
|
|
38446
38885
|
}
|
|
38447
38886
|
function ItemFooter({ className, ...props }) {
|
|
38448
|
-
return /* @__PURE__ */ (0,
|
|
38887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(
|
|
38449
38888
|
"div",
|
|
38450
38889
|
{
|
|
38451
38890
|
"data-slot": "item-footer",
|
|
@@ -38459,9 +38898,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
38459
38898
|
}
|
|
38460
38899
|
|
|
38461
38900
|
// src/components/ui/kbd.tsx
|
|
38462
|
-
var
|
|
38901
|
+
var import_jsx_runtime137 = require("react/jsx-runtime");
|
|
38463
38902
|
function Kbd({ className, ...props }) {
|
|
38464
|
-
return /* @__PURE__ */ (0,
|
|
38903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38465
38904
|
"kbd",
|
|
38466
38905
|
{
|
|
38467
38906
|
"data-slot": "kbd",
|
|
@@ -38476,7 +38915,7 @@ function Kbd({ className, ...props }) {
|
|
|
38476
38915
|
);
|
|
38477
38916
|
}
|
|
38478
38917
|
function KbdGroup({ className, ...props }) {
|
|
38479
|
-
return /* @__PURE__ */ (0,
|
|
38918
|
+
return /* @__PURE__ */ (0, import_jsx_runtime137.jsx)(
|
|
38480
38919
|
"kbd",
|
|
38481
38920
|
{
|
|
38482
38921
|
"data-slot": "kbd-group",
|
|
@@ -38487,16 +38926,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
38487
38926
|
}
|
|
38488
38927
|
|
|
38489
38928
|
// src/components/ui/sidebar.tsx
|
|
38490
|
-
var
|
|
38929
|
+
var React100 = __toESM(require("react"), 1);
|
|
38491
38930
|
var import_react_slot6 = require("@radix-ui/react-slot");
|
|
38492
38931
|
var import_class_variance_authority13 = require("class-variance-authority");
|
|
38493
38932
|
|
|
38494
38933
|
// src/hooks/use-mobile.tsx
|
|
38495
|
-
var
|
|
38934
|
+
var React99 = __toESM(require("react"), 1);
|
|
38496
38935
|
var MOBILE_BREAKPOINT = 768;
|
|
38497
38936
|
function useIsMobile() {
|
|
38498
|
-
const [isMobile, setIsMobile] =
|
|
38499
|
-
|
|
38937
|
+
const [isMobile, setIsMobile] = React99.useState(void 0);
|
|
38938
|
+
React99.useEffect(() => {
|
|
38500
38939
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
38501
38940
|
const onChange = () => {
|
|
38502
38941
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -38509,22 +38948,22 @@ function useIsMobile() {
|
|
|
38509
38948
|
}
|
|
38510
38949
|
|
|
38511
38950
|
// src/components/ui/sidebar.tsx
|
|
38512
|
-
var
|
|
38951
|
+
var import_jsx_runtime138 = require("react/jsx-runtime");
|
|
38513
38952
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
38514
38953
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
38515
38954
|
var SIDEBAR_WIDTH = "16rem";
|
|
38516
38955
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
38517
38956
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
38518
38957
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
38519
|
-
var SidebarContext =
|
|
38958
|
+
var SidebarContext = React100.createContext(null);
|
|
38520
38959
|
function useSidebar() {
|
|
38521
|
-
const context =
|
|
38960
|
+
const context = React100.useContext(SidebarContext);
|
|
38522
38961
|
if (!context) {
|
|
38523
38962
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
38524
38963
|
}
|
|
38525
38964
|
return context;
|
|
38526
38965
|
}
|
|
38527
|
-
var SidebarProvider =
|
|
38966
|
+
var SidebarProvider = React100.forwardRef(
|
|
38528
38967
|
({
|
|
38529
38968
|
defaultOpen = true,
|
|
38530
38969
|
open: openProp,
|
|
@@ -38535,10 +38974,10 @@ var SidebarProvider = React99.forwardRef(
|
|
|
38535
38974
|
...props
|
|
38536
38975
|
}, ref) => {
|
|
38537
38976
|
const isMobile = useIsMobile();
|
|
38538
|
-
const [openMobile, setOpenMobile] =
|
|
38539
|
-
const [_open, _setOpen] =
|
|
38977
|
+
const [openMobile, setOpenMobile] = React100.useState(false);
|
|
38978
|
+
const [_open, _setOpen] = React100.useState(defaultOpen);
|
|
38540
38979
|
const open = openProp ?? _open;
|
|
38541
|
-
const setOpen =
|
|
38980
|
+
const setOpen = React100.useCallback(
|
|
38542
38981
|
(value) => {
|
|
38543
38982
|
const openState = typeof value === "function" ? value(open) : value;
|
|
38544
38983
|
if (setOpenProp) {
|
|
@@ -38550,10 +38989,10 @@ var SidebarProvider = React99.forwardRef(
|
|
|
38550
38989
|
},
|
|
38551
38990
|
[setOpenProp, open]
|
|
38552
38991
|
);
|
|
38553
|
-
const toggleSidebar =
|
|
38992
|
+
const toggleSidebar = React100.useCallback(() => {
|
|
38554
38993
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
38555
38994
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
38556
|
-
|
|
38995
|
+
React100.useEffect(() => {
|
|
38557
38996
|
const handleKeyDown = (event) => {
|
|
38558
38997
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
38559
38998
|
event.preventDefault();
|
|
@@ -38564,7 +39003,7 @@ var SidebarProvider = React99.forwardRef(
|
|
|
38564
39003
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
38565
39004
|
}, [toggleSidebar]);
|
|
38566
39005
|
const state = open ? "expanded" : "collapsed";
|
|
38567
|
-
const contextValue =
|
|
39006
|
+
const contextValue = React100.useMemo(
|
|
38568
39007
|
() => ({
|
|
38569
39008
|
state,
|
|
38570
39009
|
open,
|
|
@@ -38576,7 +39015,7 @@ var SidebarProvider = React99.forwardRef(
|
|
|
38576
39015
|
}),
|
|
38577
39016
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
38578
39017
|
);
|
|
38579
|
-
return /* @__PURE__ */ (0,
|
|
39018
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38580
39019
|
"div",
|
|
38581
39020
|
{
|
|
38582
39021
|
style: {
|
|
@@ -38596,7 +39035,7 @@ var SidebarProvider = React99.forwardRef(
|
|
|
38596
39035
|
}
|
|
38597
39036
|
);
|
|
38598
39037
|
SidebarProvider.displayName = "SidebarProvider";
|
|
38599
|
-
var Sidebar =
|
|
39038
|
+
var Sidebar = React100.forwardRef(
|
|
38600
39039
|
({
|
|
38601
39040
|
side = "left",
|
|
38602
39041
|
variant = "sidebar",
|
|
@@ -38607,7 +39046,7 @@ var Sidebar = React99.forwardRef(
|
|
|
38607
39046
|
}, ref) => {
|
|
38608
39047
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
38609
39048
|
if (collapsible === "none") {
|
|
38610
|
-
return /* @__PURE__ */ (0,
|
|
39049
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38611
39050
|
"div",
|
|
38612
39051
|
{
|
|
38613
39052
|
className: cn(
|
|
@@ -38621,7 +39060,7 @@ var Sidebar = React99.forwardRef(
|
|
|
38621
39060
|
);
|
|
38622
39061
|
}
|
|
38623
39062
|
if (isMobile) {
|
|
38624
|
-
return /* @__PURE__ */ (0,
|
|
39063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
38625
39064
|
SheetContent,
|
|
38626
39065
|
{
|
|
38627
39066
|
"data-sidebar": "sidebar",
|
|
@@ -38632,16 +39071,16 @@ var Sidebar = React99.forwardRef(
|
|
|
38632
39071
|
},
|
|
38633
39072
|
side,
|
|
38634
39073
|
children: [
|
|
38635
|
-
/* @__PURE__ */ (0,
|
|
38636
|
-
/* @__PURE__ */ (0,
|
|
38637
|
-
/* @__PURE__ */ (0,
|
|
39074
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(SheetHeader, { className: "sr-only", children: [
|
|
39075
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetTitle, { children: "Sidebar" }),
|
|
39076
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
38638
39077
|
] }),
|
|
38639
|
-
/* @__PURE__ */ (0,
|
|
39078
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)("div", { className: "flex h-full w-full flex-col", children })
|
|
38640
39079
|
]
|
|
38641
39080
|
}
|
|
38642
39081
|
) });
|
|
38643
39082
|
}
|
|
38644
|
-
return /* @__PURE__ */ (0,
|
|
39083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
38645
39084
|
"div",
|
|
38646
39085
|
{
|
|
38647
39086
|
ref,
|
|
@@ -38651,7 +39090,7 @@ var Sidebar = React99.forwardRef(
|
|
|
38651
39090
|
"data-variant": variant,
|
|
38652
39091
|
"data-side": side,
|
|
38653
39092
|
children: [
|
|
38654
|
-
/* @__PURE__ */ (0,
|
|
39093
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38655
39094
|
"div",
|
|
38656
39095
|
{
|
|
38657
39096
|
className: cn(
|
|
@@ -38662,7 +39101,7 @@ var Sidebar = React99.forwardRef(
|
|
|
38662
39101
|
)
|
|
38663
39102
|
}
|
|
38664
39103
|
),
|
|
38665
|
-
/* @__PURE__ */ (0,
|
|
39104
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38666
39105
|
"div",
|
|
38667
39106
|
{
|
|
38668
39107
|
className: cn(
|
|
@@ -38673,7 +39112,7 @@ var Sidebar = React99.forwardRef(
|
|
|
38673
39112
|
className
|
|
38674
39113
|
),
|
|
38675
39114
|
...props,
|
|
38676
|
-
children: /* @__PURE__ */ (0,
|
|
39115
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38677
39116
|
"div",
|
|
38678
39117
|
{
|
|
38679
39118
|
"data-sidebar": "sidebar",
|
|
@@ -38689,9 +39128,9 @@ var Sidebar = React99.forwardRef(
|
|
|
38689
39128
|
}
|
|
38690
39129
|
);
|
|
38691
39130
|
Sidebar.displayName = "Sidebar";
|
|
38692
|
-
var SidebarTrigger =
|
|
39131
|
+
var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
38693
39132
|
const { toggleSidebar } = useSidebar();
|
|
38694
|
-
return /* @__PURE__ */ (0,
|
|
39133
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
38695
39134
|
Button,
|
|
38696
39135
|
{
|
|
38697
39136
|
ref,
|
|
@@ -38705,16 +39144,16 @@ var SidebarTrigger = React99.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
38705
39144
|
},
|
|
38706
39145
|
...props,
|
|
38707
39146
|
children: [
|
|
38708
|
-
/* @__PURE__ */ (0,
|
|
38709
|
-
/* @__PURE__ */ (0,
|
|
39147
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(PanelLeft, {}),
|
|
39148
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
38710
39149
|
]
|
|
38711
39150
|
}
|
|
38712
39151
|
);
|
|
38713
39152
|
});
|
|
38714
39153
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
38715
|
-
var SidebarRail =
|
|
39154
|
+
var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
|
|
38716
39155
|
const { toggleSidebar } = useSidebar();
|
|
38717
|
-
return /* @__PURE__ */ (0,
|
|
39156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38718
39157
|
"button",
|
|
38719
39158
|
{
|
|
38720
39159
|
ref,
|
|
@@ -38737,8 +39176,8 @@ var SidebarRail = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38737
39176
|
);
|
|
38738
39177
|
});
|
|
38739
39178
|
SidebarRail.displayName = "SidebarRail";
|
|
38740
|
-
var SidebarInset =
|
|
38741
|
-
return /* @__PURE__ */ (0,
|
|
39179
|
+
var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39180
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38742
39181
|
"main",
|
|
38743
39182
|
{
|
|
38744
39183
|
ref,
|
|
@@ -38752,8 +39191,8 @@ var SidebarInset = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38752
39191
|
);
|
|
38753
39192
|
});
|
|
38754
39193
|
SidebarInset.displayName = "SidebarInset";
|
|
38755
|
-
var SidebarInput =
|
|
38756
|
-
return /* @__PURE__ */ (0,
|
|
39194
|
+
var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38757
39196
|
Input,
|
|
38758
39197
|
{
|
|
38759
39198
|
ref,
|
|
@@ -38767,8 +39206,8 @@ var SidebarInput = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38767
39206
|
);
|
|
38768
39207
|
});
|
|
38769
39208
|
SidebarInput.displayName = "SidebarInput";
|
|
38770
|
-
var SidebarHeader =
|
|
38771
|
-
return /* @__PURE__ */ (0,
|
|
39209
|
+
var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39210
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38772
39211
|
"div",
|
|
38773
39212
|
{
|
|
38774
39213
|
ref,
|
|
@@ -38779,8 +39218,8 @@ var SidebarHeader = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38779
39218
|
);
|
|
38780
39219
|
});
|
|
38781
39220
|
SidebarHeader.displayName = "SidebarHeader";
|
|
38782
|
-
var SidebarFooter =
|
|
38783
|
-
return /* @__PURE__ */ (0,
|
|
39221
|
+
var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38784
39223
|
"div",
|
|
38785
39224
|
{
|
|
38786
39225
|
ref,
|
|
@@ -38791,8 +39230,8 @@ var SidebarFooter = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38791
39230
|
);
|
|
38792
39231
|
});
|
|
38793
39232
|
SidebarFooter.displayName = "SidebarFooter";
|
|
38794
|
-
var SidebarSeparator =
|
|
38795
|
-
return /* @__PURE__ */ (0,
|
|
39233
|
+
var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38796
39235
|
Separator2,
|
|
38797
39236
|
{
|
|
38798
39237
|
ref,
|
|
@@ -38803,8 +39242,8 @@ var SidebarSeparator = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38803
39242
|
);
|
|
38804
39243
|
});
|
|
38805
39244
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
38806
|
-
var SidebarContent =
|
|
38807
|
-
return /* @__PURE__ */ (0,
|
|
39245
|
+
var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38808
39247
|
"div",
|
|
38809
39248
|
{
|
|
38810
39249
|
ref,
|
|
@@ -38818,8 +39257,8 @@ var SidebarContent = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38818
39257
|
);
|
|
38819
39258
|
});
|
|
38820
39259
|
SidebarContent.displayName = "SidebarContent";
|
|
38821
|
-
var SidebarGroup =
|
|
38822
|
-
return /* @__PURE__ */ (0,
|
|
39260
|
+
var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
|
|
39261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38823
39262
|
"div",
|
|
38824
39263
|
{
|
|
38825
39264
|
ref,
|
|
@@ -38830,9 +39269,9 @@ var SidebarGroup = React99.forwardRef(({ className, ...props }, ref) => {
|
|
|
38830
39269
|
);
|
|
38831
39270
|
});
|
|
38832
39271
|
SidebarGroup.displayName = "SidebarGroup";
|
|
38833
|
-
var SidebarGroupLabel =
|
|
39272
|
+
var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
38834
39273
|
const Comp = asChild ? import_react_slot6.Slot : "div";
|
|
38835
|
-
return /* @__PURE__ */ (0,
|
|
39274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38836
39275
|
Comp,
|
|
38837
39276
|
{
|
|
38838
39277
|
ref,
|
|
@@ -38847,9 +39286,9 @@ var SidebarGroupLabel = React99.forwardRef(({ className, asChild = false, ...pro
|
|
|
38847
39286
|
);
|
|
38848
39287
|
});
|
|
38849
39288
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
38850
|
-
var SidebarGroupAction =
|
|
39289
|
+
var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
38851
39290
|
const Comp = asChild ? import_react_slot6.Slot : "button";
|
|
38852
|
-
return /* @__PURE__ */ (0,
|
|
39291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38853
39292
|
Comp,
|
|
38854
39293
|
{
|
|
38855
39294
|
ref,
|
|
@@ -38866,7 +39305,7 @@ var SidebarGroupAction = React99.forwardRef(({ className, asChild = false, ...pr
|
|
|
38866
39305
|
);
|
|
38867
39306
|
});
|
|
38868
39307
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
38869
|
-
var SidebarGroupContent =
|
|
39308
|
+
var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38870
39309
|
"div",
|
|
38871
39310
|
{
|
|
38872
39311
|
ref,
|
|
@@ -38876,7 +39315,7 @@ var SidebarGroupContent = React99.forwardRef(({ className, ...props }, ref) => /
|
|
|
38876
39315
|
}
|
|
38877
39316
|
));
|
|
38878
39317
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
38879
|
-
var SidebarMenu =
|
|
39318
|
+
var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38880
39319
|
"ul",
|
|
38881
39320
|
{
|
|
38882
39321
|
ref,
|
|
@@ -38886,7 +39325,7 @@ var SidebarMenu = React99.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
38886
39325
|
}
|
|
38887
39326
|
));
|
|
38888
39327
|
SidebarMenu.displayName = "SidebarMenu";
|
|
38889
|
-
var SidebarMenuItem =
|
|
39328
|
+
var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38890
39329
|
"li",
|
|
38891
39330
|
{
|
|
38892
39331
|
ref,
|
|
@@ -38916,7 +39355,7 @@ var sidebarMenuButtonVariants = (0, import_class_variance_authority13.cva)(
|
|
|
38916
39355
|
}
|
|
38917
39356
|
}
|
|
38918
39357
|
);
|
|
38919
|
-
var SidebarMenuButton =
|
|
39358
|
+
var SidebarMenuButton = React100.forwardRef(
|
|
38920
39359
|
({
|
|
38921
39360
|
asChild = false,
|
|
38922
39361
|
isActive = false,
|
|
@@ -38928,7 +39367,7 @@ var SidebarMenuButton = React99.forwardRef(
|
|
|
38928
39367
|
}, ref) => {
|
|
38929
39368
|
const Comp = asChild ? import_react_slot6.Slot : "button";
|
|
38930
39369
|
const { isMobile, state } = useSidebar();
|
|
38931
|
-
const button = /* @__PURE__ */ (0,
|
|
39370
|
+
const button = /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38932
39371
|
Comp,
|
|
38933
39372
|
{
|
|
38934
39373
|
ref,
|
|
@@ -38947,9 +39386,9 @@ var SidebarMenuButton = React99.forwardRef(
|
|
|
38947
39386
|
children: tooltip
|
|
38948
39387
|
};
|
|
38949
39388
|
}
|
|
38950
|
-
return /* @__PURE__ */ (0,
|
|
38951
|
-
/* @__PURE__ */ (0,
|
|
38952
|
-
/* @__PURE__ */ (0,
|
|
39389
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(Tooltip, { children: [
|
|
39390
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(TooltipTrigger, { asChild: true, children: button }),
|
|
39391
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38953
39392
|
TooltipContent,
|
|
38954
39393
|
{
|
|
38955
39394
|
side: "right",
|
|
@@ -38962,9 +39401,9 @@ var SidebarMenuButton = React99.forwardRef(
|
|
|
38962
39401
|
}
|
|
38963
39402
|
);
|
|
38964
39403
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
38965
|
-
var SidebarMenuAction =
|
|
39404
|
+
var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
38966
39405
|
const Comp = asChild ? import_react_slot6.Slot : "button";
|
|
38967
|
-
return /* @__PURE__ */ (0,
|
|
39406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38968
39407
|
Comp,
|
|
38969
39408
|
{
|
|
38970
39409
|
ref,
|
|
@@ -38985,7 +39424,7 @@ var SidebarMenuAction = React99.forwardRef(({ className, asChild = false, showOn
|
|
|
38985
39424
|
);
|
|
38986
39425
|
});
|
|
38987
39426
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
38988
|
-
var SidebarMenuBadge =
|
|
39427
|
+
var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
38989
39428
|
"div",
|
|
38990
39429
|
{
|
|
38991
39430
|
ref,
|
|
@@ -39003,11 +39442,11 @@ var SidebarMenuBadge = React99.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
39003
39442
|
}
|
|
39004
39443
|
));
|
|
39005
39444
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
39006
|
-
var SidebarMenuSkeleton =
|
|
39007
|
-
const width =
|
|
39445
|
+
var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
39446
|
+
const width = React100.useMemo(() => {
|
|
39008
39447
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
39009
39448
|
}, []);
|
|
39010
|
-
return /* @__PURE__ */ (0,
|
|
39449
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsxs)(
|
|
39011
39450
|
"div",
|
|
39012
39451
|
{
|
|
39013
39452
|
ref,
|
|
@@ -39015,14 +39454,14 @@ var SidebarMenuSkeleton = React99.forwardRef(({ className, showIcon = false, ...
|
|
|
39015
39454
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
39016
39455
|
...props,
|
|
39017
39456
|
children: [
|
|
39018
|
-
showIcon && /* @__PURE__ */ (0,
|
|
39457
|
+
showIcon && /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
39019
39458
|
Skeleton,
|
|
39020
39459
|
{
|
|
39021
39460
|
className: "size-4 rounded-md",
|
|
39022
39461
|
"data-sidebar": "menu-skeleton-icon"
|
|
39023
39462
|
}
|
|
39024
39463
|
),
|
|
39025
|
-
/* @__PURE__ */ (0,
|
|
39464
|
+
/* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
39026
39465
|
Skeleton,
|
|
39027
39466
|
{
|
|
39028
39467
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -39037,7 +39476,7 @@ var SidebarMenuSkeleton = React99.forwardRef(({ className, showIcon = false, ...
|
|
|
39037
39476
|
);
|
|
39038
39477
|
});
|
|
39039
39478
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
39040
|
-
var SidebarMenuSub =
|
|
39479
|
+
var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
39041
39480
|
"ul",
|
|
39042
39481
|
{
|
|
39043
39482
|
ref,
|
|
@@ -39051,11 +39490,11 @@ var SidebarMenuSub = React99.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
39051
39490
|
}
|
|
39052
39491
|
));
|
|
39053
39492
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
39054
|
-
var SidebarMenuSubItem =
|
|
39493
|
+
var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime138.jsx)("li", { ref, ...props }));
|
|
39055
39494
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
39056
|
-
var SidebarMenuSubButton =
|
|
39495
|
+
var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
39057
39496
|
const Comp = asChild ? import_react_slot6.Slot : "a";
|
|
39058
|
-
return /* @__PURE__ */ (0,
|
|
39497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime138.jsx)(
|
|
39059
39498
|
Comp,
|
|
39060
39499
|
{
|
|
39061
39500
|
ref,
|
|
@@ -39079,20 +39518,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
39079
39518
|
// src/components/ui/sonner.tsx
|
|
39080
39519
|
var import_next_themes = require("next-themes");
|
|
39081
39520
|
var import_sonner = require("sonner");
|
|
39082
|
-
var
|
|
39521
|
+
var import_jsx_runtime139 = require("react/jsx-runtime");
|
|
39083
39522
|
var Toaster = ({ ...props }) => {
|
|
39084
39523
|
const { theme = "system" } = (0, import_next_themes.useTheme)();
|
|
39085
|
-
return /* @__PURE__ */ (0,
|
|
39524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
|
|
39086
39525
|
import_sonner.Toaster,
|
|
39087
39526
|
{
|
|
39088
39527
|
theme,
|
|
39089
39528
|
className: "toaster group",
|
|
39090
39529
|
icons: {
|
|
39091
|
-
success: /* @__PURE__ */ (0,
|
|
39092
|
-
info: /* @__PURE__ */ (0,
|
|
39093
|
-
warning: /* @__PURE__ */ (0,
|
|
39094
|
-
error: /* @__PURE__ */ (0,
|
|
39095
|
-
loading: /* @__PURE__ */ (0,
|
|
39530
|
+
success: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(CircleCheck, { className: "h-4 w-4" }),
|
|
39531
|
+
info: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Info, { className: "h-4 w-4" }),
|
|
39532
|
+
warning: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(TriangleAlert, { className: "h-4 w-4" }),
|
|
39533
|
+
error: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(OctagonX, { className: "h-4 w-4" }),
|
|
39534
|
+
loading: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
39096
39535
|
},
|
|
39097
39536
|
toastOptions: {
|
|
39098
39537
|
classNames: {
|
|
@@ -39108,26 +39547,26 @@ var Toaster = ({ ...props }) => {
|
|
|
39108
39547
|
};
|
|
39109
39548
|
|
|
39110
39549
|
// src/components/ui/toggle-group.tsx
|
|
39111
|
-
var
|
|
39550
|
+
var React101 = __toESM(require("react"), 1);
|
|
39112
39551
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
|
|
39113
|
-
var
|
|
39114
|
-
var ToggleGroupContext =
|
|
39552
|
+
var import_jsx_runtime140 = require("react/jsx-runtime");
|
|
39553
|
+
var ToggleGroupContext = React101.createContext({
|
|
39115
39554
|
size: "default",
|
|
39116
39555
|
variant: "default"
|
|
39117
39556
|
});
|
|
39118
|
-
var ToggleGroup =
|
|
39557
|
+
var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
39119
39558
|
ToggleGroupPrimitive.Root,
|
|
39120
39559
|
{
|
|
39121
39560
|
ref,
|
|
39122
39561
|
className: cn("flex items-center justify-center gap-1", className),
|
|
39123
39562
|
...props,
|
|
39124
|
-
children: /* @__PURE__ */ (0,
|
|
39563
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
39125
39564
|
}
|
|
39126
39565
|
));
|
|
39127
39566
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
39128
|
-
var ToggleGroupItem =
|
|
39129
|
-
const context =
|
|
39130
|
-
return /* @__PURE__ */ (0,
|
|
39567
|
+
var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
39568
|
+
const context = React101.useContext(ToggleGroupContext);
|
|
39569
|
+
return /* @__PURE__ */ (0, import_jsx_runtime140.jsx)(
|
|
39131
39570
|
ToggleGroupPrimitive.Item,
|
|
39132
39571
|
{
|
|
39133
39572
|
ref,
|
|
@@ -39146,7 +39585,7 @@ var ToggleGroupItem = React100.forwardRef(({ className, children, variant, size,
|
|
|
39146
39585
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
39147
39586
|
|
|
39148
39587
|
// src/render/PXEngineRenderer.tsx
|
|
39149
|
-
var
|
|
39588
|
+
var import_jsx_runtime141 = require("react/jsx-runtime");
|
|
39150
39589
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
39151
39590
|
// Form components - require FormField + FormItem context
|
|
39152
39591
|
"FormLabel",
|
|
@@ -39238,24 +39677,24 @@ var COMPONENT_SUGGESTIONS = {
|
|
|
39238
39677
|
};
|
|
39239
39678
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
39240
39679
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
39241
|
-
return /* @__PURE__ */ (0,
|
|
39680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsxs)(
|
|
39242
39681
|
"div",
|
|
39243
39682
|
{
|
|
39244
39683
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
39245
39684
|
children: [
|
|
39246
|
-
/* @__PURE__ */ (0,
|
|
39247
|
-
/* @__PURE__ */ (0,
|
|
39248
|
-
/* @__PURE__ */ (0,
|
|
39249
|
-
/* @__PURE__ */ (0,
|
|
39685
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex items-start gap-2", children: [
|
|
39686
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
39687
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "flex-1", children: [
|
|
39688
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
39250
39689
|
"Invalid Component: ",
|
|
39251
39690
|
componentName
|
|
39252
39691
|
] }),
|
|
39253
|
-
/* @__PURE__ */ (0,
|
|
39692
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
|
|
39254
39693
|
] })
|
|
39255
39694
|
] }),
|
|
39256
|
-
/* @__PURE__ */ (0,
|
|
39257
|
-
/* @__PURE__ */ (0,
|
|
39258
|
-
/* @__PURE__ */ (0,
|
|
39695
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsxs)("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
39696
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
39697
|
+
/* @__PURE__ */ (0, import_jsx_runtime141.jsx)("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
39259
39698
|
] })
|
|
39260
39699
|
]
|
|
39261
39700
|
},
|
|
@@ -39335,7 +39774,7 @@ var PXEngineRenderer = ({
|
|
|
39335
39774
|
if (typeof component === "string" || typeof component === "number") {
|
|
39336
39775
|
return component;
|
|
39337
39776
|
}
|
|
39338
|
-
if (
|
|
39777
|
+
if (import_react71.default.isValidElement(component)) {
|
|
39339
39778
|
return component;
|
|
39340
39779
|
}
|
|
39341
39780
|
if (!component || typeof component !== "object") return null;
|
|
@@ -39413,7 +39852,7 @@ var PXEngineRenderer = ({
|
|
|
39413
39852
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
39414
39853
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
39415
39854
|
if (isAtomWithRenderProp) {
|
|
39416
|
-
return /* @__PURE__ */ (0,
|
|
39855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
39417
39856
|
TargetComponent,
|
|
39418
39857
|
{
|
|
39419
39858
|
...finalProps,
|
|
@@ -39425,7 +39864,7 @@ var PXEngineRenderer = ({
|
|
|
39425
39864
|
uniqueKey
|
|
39426
39865
|
);
|
|
39427
39866
|
} else {
|
|
39428
|
-
return /* @__PURE__ */ (0,
|
|
39867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)(
|
|
39429
39868
|
TargetComponent,
|
|
39430
39869
|
{
|
|
39431
39870
|
...finalProps,
|
|
@@ -39437,7 +39876,7 @@ var PXEngineRenderer = ({
|
|
|
39437
39876
|
);
|
|
39438
39877
|
}
|
|
39439
39878
|
};
|
|
39440
|
-
return /* @__PURE__ */ (0,
|
|
39879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime141.jsx)("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
39441
39880
|
};
|
|
39442
39881
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39443
39882
|
0 && (module.exports = {
|
|
@@ -39611,6 +40050,9 @@ var PXEngineRenderer = ({
|
|
|
39611
40050
|
MenubarSeparator,
|
|
39612
40051
|
MenubarShortcut,
|
|
39613
40052
|
MenubarTrigger,
|
|
40053
|
+
MultiAgentCard,
|
|
40054
|
+
MultiAgentPlan,
|
|
40055
|
+
MultiAgentUISelector,
|
|
39614
40056
|
NavigationMenu,
|
|
39615
40057
|
NavigationMenuContent,
|
|
39616
40058
|
NavigationMenuItem,
|
|
@@ -39675,6 +40117,7 @@ var PXEngineRenderer = ({
|
|
|
39675
40117
|
SliderAtom,
|
|
39676
40118
|
Spinner,
|
|
39677
40119
|
SpinnerAtom,
|
|
40120
|
+
StageIndicator,
|
|
39678
40121
|
StatsGrid,
|
|
39679
40122
|
StepWizard,
|
|
39680
40123
|
Switch,
|
|
@@ -39705,6 +40148,7 @@ var PXEngineRenderer = ({
|
|
|
39705
40148
|
TooltipProvider,
|
|
39706
40149
|
TooltipTrigger,
|
|
39707
40150
|
TopPostsGrid,
|
|
40151
|
+
UIComponentSelector,
|
|
39708
40152
|
VideoAtom,
|
|
39709
40153
|
WorkflowVisualizer,
|
|
39710
40154
|
cn
|