pxengine 0.1.59 → 0.1.60
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 +150 -1481
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -207
- package/dist/index.d.ts +2 -207
- package/dist/index.mjs +148 -1469
- package/dist/index.mjs.map +1 -1
- package/dist/registry.json +1 -394
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ var __export = (target, all) => {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// src/render/PXEngineRenderer.tsx
|
|
8
|
-
import
|
|
8
|
+
import React102 from "react";
|
|
9
9
|
|
|
10
10
|
// src/atoms/index.ts
|
|
11
11
|
var atoms_exports = {};
|
|
@@ -33526,8 +33526,6 @@ ArrowToggleAtom.displayName = "ArrowToggleAtom";
|
|
|
33526
33526
|
var molecules_exports = {};
|
|
33527
33527
|
__export(molecules_exports, {
|
|
33528
33528
|
ActionButton: () => ActionButton,
|
|
33529
|
-
AgentCard: () => AgentCard,
|
|
33530
|
-
AgentDataTable: () => AgentDataTable,
|
|
33531
33529
|
AudienceDemographicsCard: () => AudienceDemographicsCard,
|
|
33532
33530
|
AudienceMetricCard: () => AudienceMetricCard,
|
|
33533
33531
|
BrandAffinityGroup: () => BrandAffinityGroup,
|
|
@@ -33561,14 +33559,10 @@ __export(molecules_exports, {
|
|
|
33561
33559
|
GoogleSheetsConnectCard: () => GoogleSheetsConnectCard,
|
|
33562
33560
|
GoogleSheetsListCard: () => GoogleSheetsListCard,
|
|
33563
33561
|
GrowthChartCard: () => GrowthChartCard,
|
|
33564
|
-
InstructionPreview: () => InstructionPreview,
|
|
33565
33562
|
KeywordBundlesDisplay: () => KeywordBundlesDisplay,
|
|
33566
33563
|
KeywordBundlesEdit: () => KeywordBundlesEdit,
|
|
33567
33564
|
LoadingOverlay: () => LoadingOverlay,
|
|
33568
33565
|
MCQCard: () => MCQCard,
|
|
33569
|
-
MultiAgentCard: () => MultiAgentCard,
|
|
33570
|
-
MultiAgentPlan: () => MultiAgentPlan,
|
|
33571
|
-
MultiAgentUISelector: () => MultiAgentUISelector,
|
|
33572
33566
|
NotificationList: () => NotificationList,
|
|
33573
33567
|
PlatformIconGroup: () => PlatformIconGroup,
|
|
33574
33568
|
PlatformSelectDisplay: () => PlatformSelectDisplay,
|
|
@@ -33576,14 +33570,10 @@ __export(molecules_exports, {
|
|
|
33576
33570
|
RecommendationCard: () => RecommendationCard,
|
|
33577
33571
|
SearchSpecCard: () => SearchSpecCard,
|
|
33578
33572
|
SocialPostCard: () => SocialPostCard,
|
|
33579
|
-
StageIndicator: () => StageIndicator,
|
|
33580
33573
|
StatsGrid: () => StatsGrid,
|
|
33581
33574
|
StepWizard: () => StepWizard,
|
|
33582
33575
|
TagCloud: () => TagCloud,
|
|
33583
|
-
ToolListCard: () => ToolListCard,
|
|
33584
33576
|
TopPostsGrid: () => TopPostsGrid,
|
|
33585
|
-
UIComponentSelector: () => UIComponentSelector,
|
|
33586
|
-
WorkflowVisualizer: () => WorkflowVisualizer,
|
|
33587
33577
|
defaultFetchSelections: () => defaultFetchSelections,
|
|
33588
33578
|
defaultPersistSelection: () => defaultPersistSelection,
|
|
33589
33579
|
useCreatorWidgetPolling: () => useCreatorWidgetPolling
|
|
@@ -40781,1307 +40771,6 @@ function CreatorWidgetInner({
|
|
|
40781
40771
|
}
|
|
40782
40772
|
var CreatorWidget = memo(CreatorWidgetInner);
|
|
40783
40773
|
|
|
40784
|
-
// src/molecules/workstream-builder/ToolListCard/ToolListCard.tsx
|
|
40785
|
-
import { jsx as jsx150, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
40786
|
-
var FONT_STYLE = {
|
|
40787
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
40788
|
-
};
|
|
40789
|
-
var ICON_MAP = {
|
|
40790
|
-
Search,
|
|
40791
|
-
Database,
|
|
40792
|
-
Globe,
|
|
40793
|
-
FileText,
|
|
40794
|
-
Zap,
|
|
40795
|
-
Layout: PanelsTopLeft,
|
|
40796
|
-
Wrench,
|
|
40797
|
-
BookOpen,
|
|
40798
|
-
BarChart3: ChartColumn,
|
|
40799
|
-
Link,
|
|
40800
|
-
MessageSquare,
|
|
40801
|
-
Sparkles,
|
|
40802
|
-
FolderOpen,
|
|
40803
|
-
Code,
|
|
40804
|
-
Shield,
|
|
40805
|
-
Image,
|
|
40806
|
-
Mail,
|
|
40807
|
-
Calendar
|
|
40808
|
-
};
|
|
40809
|
-
var CATEGORY_FALLBACK = {
|
|
40810
|
-
search: Search,
|
|
40811
|
-
data: Database,
|
|
40812
|
-
knowledge: BookOpen,
|
|
40813
|
-
web: Globe,
|
|
40814
|
-
content: FileText,
|
|
40815
|
-
ui: PanelsTopLeft,
|
|
40816
|
-
analytics: ChartColumn,
|
|
40817
|
-
integration: Link,
|
|
40818
|
-
communication: MessageSquare,
|
|
40819
|
-
generation: Sparkles,
|
|
40820
|
-
file: FolderOpen,
|
|
40821
|
-
code: Code,
|
|
40822
|
-
security: Shield,
|
|
40823
|
-
general: Zap
|
|
40824
|
-
};
|
|
40825
|
-
var CATEGORY_HEADER_BG = {
|
|
40826
|
-
search: "bg-blue-500/[0.04]",
|
|
40827
|
-
data: "bg-emerald-500/[0.04]",
|
|
40828
|
-
knowledge: "bg-purple-500/[0.04]",
|
|
40829
|
-
web: "bg-cyan-500/[0.04]",
|
|
40830
|
-
content: "bg-pink-500/[0.04]",
|
|
40831
|
-
ui: "bg-violet-500/[0.04]",
|
|
40832
|
-
analytics: "bg-orange-500/[0.04]",
|
|
40833
|
-
integration: "bg-amber-500/[0.04]",
|
|
40834
|
-
general: "bg-[var(--foreground)]/[0.02]"
|
|
40835
|
-
};
|
|
40836
|
-
function resolveIcon(tool) {
|
|
40837
|
-
if (tool.icon && ICON_MAP[tool.icon]) return ICON_MAP[tool.icon];
|
|
40838
|
-
if (tool.category && CATEGORY_FALLBACK[tool.category.toLowerCase()])
|
|
40839
|
-
return CATEGORY_FALLBACK[tool.category.toLowerCase()];
|
|
40840
|
-
return Wrench;
|
|
40841
|
-
}
|
|
40842
|
-
function resolveCategoryIcon(category) {
|
|
40843
|
-
return CATEGORY_FALLBACK[category.toLowerCase()] || Wrench;
|
|
40844
|
-
}
|
|
40845
|
-
var ToolListCard = ({
|
|
40846
|
-
tools,
|
|
40847
|
-
className
|
|
40848
|
-
}) => {
|
|
40849
|
-
const grouped = {};
|
|
40850
|
-
for (const tool of tools) {
|
|
40851
|
-
const cat = tool.category || "General";
|
|
40852
|
-
if (!grouped[cat]) grouped[cat] = [];
|
|
40853
|
-
grouped[cat].push(tool);
|
|
40854
|
-
}
|
|
40855
|
-
const categories = Object.keys(grouped);
|
|
40856
|
-
return /* @__PURE__ */ jsxs108(
|
|
40857
|
-
"div",
|
|
40858
|
-
{
|
|
40859
|
-
className: cn(
|
|
40860
|
-
"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",
|
|
40861
|
-
className
|
|
40862
|
-
),
|
|
40863
|
-
style: FONT_STYLE,
|
|
40864
|
-
children: [
|
|
40865
|
-
/* @__PURE__ */ jsxs108("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
|
|
40866
|
-
/* @__PURE__ */ jsx150("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx150(Wrench, { className: "w-3.5 h-3.5 text-interactive" }) }),
|
|
40867
|
-
/* @__PURE__ */ jsx150("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Available Tools" }),
|
|
40868
|
-
/* @__PURE__ */ jsx150("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: tools.length })
|
|
40869
|
-
] }),
|
|
40870
|
-
/* @__PURE__ */ jsx150("div", { className: "divide-y divide-[var(--border-color)]", children: categories.map((cat) => {
|
|
40871
|
-
const CatIcon = resolveCategoryIcon(cat);
|
|
40872
|
-
const headerBg = CATEGORY_HEADER_BG[cat.toLowerCase()] || CATEGORY_HEADER_BG.general;
|
|
40873
|
-
return /* @__PURE__ */ jsxs108("div", { className: "px-4 py-3", children: [
|
|
40874
|
-
/* @__PURE__ */ jsxs108("div", { className: cn("flex items-center gap-2 mb-2.5 -mx-4 px-4 py-1.5", headerBg), children: [
|
|
40875
|
-
/* @__PURE__ */ jsx150(CatIcon, { className: "w-3.5 h-3.5 text-interactive/70" }),
|
|
40876
|
-
/* @__PURE__ */ jsx150("span", { className: "text-[11px] font-semibold text-[var(--foreground)]/50 uppercase tracking-wider", children: cat }),
|
|
40877
|
-
/* @__PURE__ */ jsx150("span", { className: "text-[10px] text-[var(--foreground)]/30", children: grouped[cat].length })
|
|
40878
|
-
] }),
|
|
40879
|
-
/* @__PURE__ */ jsx150("div", { className: "space-y-1.5", children: grouped[cat].map((tool) => {
|
|
40880
|
-
const ToolIcon = resolveIcon(tool);
|
|
40881
|
-
return /* @__PURE__ */ jsxs108(
|
|
40882
|
-
"div",
|
|
40883
|
-
{
|
|
40884
|
-
className: "group flex items-start gap-3 px-3 py-2 rounded-lg hover:bg-[var(--foreground)]/[0.03] transition-colors",
|
|
40885
|
-
children: [
|
|
40886
|
-
/* @__PURE__ */ jsx150("div", { className: "shrink-0 mt-0.5 w-5 h-5 rounded flex items-center justify-center bg-interactive/[0.08]", children: /* @__PURE__ */ jsx150(ToolIcon, { className: "w-3 h-3 text-interactive/60" }) }),
|
|
40887
|
-
/* @__PURE__ */ jsxs108("div", { className: "flex-1 min-w-0", children: [
|
|
40888
|
-
/* @__PURE__ */ jsxs108("div", { className: "flex items-center gap-2 flex-wrap", children: [
|
|
40889
|
-
tool.display_name && tool.display_name !== tool.name && /* @__PURE__ */ jsx150("span", { className: "text-[13px] font-medium text-[var(--foreground)] truncate max-w-full", children: tool.display_name }),
|
|
40890
|
-
/* @__PURE__ */ jsx150("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 })
|
|
40891
|
-
] }),
|
|
40892
|
-
tool.description && /* @__PURE__ */ jsx150("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed mt-0.5 break-words whitespace-normal", children: tool.description })
|
|
40893
|
-
] })
|
|
40894
|
-
]
|
|
40895
|
-
},
|
|
40896
|
-
tool.name
|
|
40897
|
-
);
|
|
40898
|
-
}) })
|
|
40899
|
-
] }, cat);
|
|
40900
|
-
}) })
|
|
40901
|
-
]
|
|
40902
|
-
}
|
|
40903
|
-
);
|
|
40904
|
-
};
|
|
40905
|
-
|
|
40906
|
-
// src/molecules/workstream-builder/AgentCard/AgentCard.tsx
|
|
40907
|
-
import { useState as useState20, useCallback as useCallback8 } from "react";
|
|
40908
|
-
import { Fragment as Fragment10, jsx as jsx151, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
40909
|
-
var FONT_STYLE2 = {
|
|
40910
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
40911
|
-
};
|
|
40912
|
-
var AgentCard = ({
|
|
40913
|
-
agent,
|
|
40914
|
-
editable = true,
|
|
40915
|
-
compact = false,
|
|
40916
|
-
onSave,
|
|
40917
|
-
className
|
|
40918
|
-
}) => {
|
|
40919
|
-
const [isEditing, setIsEditing] = useState20(false);
|
|
40920
|
-
const [isSaving, setIsSaving] = useState20(false);
|
|
40921
|
-
const [editState, setEditState] = useState20({
|
|
40922
|
-
display_name: agent.display_name,
|
|
40923
|
-
description: agent.description,
|
|
40924
|
-
image: agent.image || ""
|
|
40925
|
-
});
|
|
40926
|
-
const avatarUrl = agent.image || `https://api.dicebear.com/7.x/avataaars/svg?seed=${agent.name}`;
|
|
40927
|
-
const handleEdit = useCallback8(() => {
|
|
40928
|
-
setEditState({
|
|
40929
|
-
display_name: agent.display_name,
|
|
40930
|
-
description: agent.description,
|
|
40931
|
-
image: agent.image || ""
|
|
40932
|
-
});
|
|
40933
|
-
setIsEditing(true);
|
|
40934
|
-
}, [agent]);
|
|
40935
|
-
const handleCancel = useCallback8(() => {
|
|
40936
|
-
setIsEditing(false);
|
|
40937
|
-
}, []);
|
|
40938
|
-
const handleSave = useCallback8(async () => {
|
|
40939
|
-
if (!onSave) return;
|
|
40940
|
-
const updates = {};
|
|
40941
|
-
if (editState.display_name !== agent.display_name)
|
|
40942
|
-
updates.display_name = editState.display_name;
|
|
40943
|
-
if (editState.description !== agent.description)
|
|
40944
|
-
updates.description = editState.description;
|
|
40945
|
-
if (editState.image !== (agent.image || ""))
|
|
40946
|
-
updates.image = editState.image;
|
|
40947
|
-
if (Object.keys(updates).length === 0) {
|
|
40948
|
-
setIsEditing(false);
|
|
40949
|
-
return;
|
|
40950
|
-
}
|
|
40951
|
-
setIsSaving(true);
|
|
40952
|
-
try {
|
|
40953
|
-
await onSave(agent, updates);
|
|
40954
|
-
setIsEditing(false);
|
|
40955
|
-
} catch (err) {
|
|
40956
|
-
console.error("AgentCard save failed:", err);
|
|
40957
|
-
} finally {
|
|
40958
|
-
setIsSaving(false);
|
|
40959
|
-
}
|
|
40960
|
-
}, [onSave, agent, editState]);
|
|
40961
|
-
if (compact) {
|
|
40962
|
-
return /* @__PURE__ */ jsxs109(
|
|
40963
|
-
"div",
|
|
40964
|
-
{
|
|
40965
|
-
className: cn(
|
|
40966
|
-
"flex items-center gap-3 py-1",
|
|
40967
|
-
className
|
|
40968
|
-
),
|
|
40969
|
-
style: FONT_STYLE2,
|
|
40970
|
-
children: [
|
|
40971
|
-
/* @__PURE__ */ jsxs109(Avatar, { className: "h-8 w-8 shrink-0", children: [
|
|
40972
|
-
/* @__PURE__ */ jsx151(AvatarImage, { src: avatarUrl, alt: agent.display_name }),
|
|
40973
|
-
/* @__PURE__ */ jsx151(AvatarFallback, { className: "bg-interactive/10 text-interactive text-xs font-bold", children: agent.display_name.charAt(0) })
|
|
40974
|
-
] }),
|
|
40975
|
-
/* @__PURE__ */ jsxs109("div", { className: "flex-1 min-w-0", children: [
|
|
40976
|
-
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
40977
|
-
/* @__PURE__ */ jsx151("span", { className: "text-[var(--foreground)] text-sm font-semibold truncate", children: agent.display_name }),
|
|
40978
|
-
/* @__PURE__ */ jsxs109(
|
|
40979
|
-
"span",
|
|
40980
|
-
{
|
|
40981
|
-
className: cn(
|
|
40982
|
-
"inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded-full font-medium",
|
|
40983
|
-
agent.enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
40984
|
-
),
|
|
40985
|
-
children: [
|
|
40986
|
-
/* @__PURE__ */ jsx151("span", { className: cn(
|
|
40987
|
-
"w-1.5 h-1.5 rounded-full",
|
|
40988
|
-
agent.enabled ? "bg-emerald-500" : "bg-red-500"
|
|
40989
|
-
) }),
|
|
40990
|
-
agent.enabled ? "Active" : "Disabled"
|
|
40991
|
-
]
|
|
40992
|
-
}
|
|
40993
|
-
)
|
|
40994
|
-
] }),
|
|
40995
|
-
/* @__PURE__ */ jsx151("p", { className: "text-[var(--foreground)]/50 text-xs truncate", children: agent.description })
|
|
40996
|
-
] })
|
|
40997
|
-
]
|
|
40998
|
-
}
|
|
40999
|
-
);
|
|
41000
|
-
}
|
|
41001
|
-
return /* @__PURE__ */ jsxs109(
|
|
41002
|
-
"div",
|
|
41003
|
-
{
|
|
41004
|
-
className: cn(
|
|
41005
|
-
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
41006
|
-
className
|
|
41007
|
-
),
|
|
41008
|
-
style: FONT_STYLE2,
|
|
41009
|
-
children: [
|
|
41010
|
-
/* @__PURE__ */ jsxs109("div", { className: "flex items-start gap-4 px-5 py-4 bg-gradient-to-r from-[var(--foreground)]/[0.02] to-transparent", children: [
|
|
41011
|
-
/* @__PURE__ */ jsxs109(Avatar, { className: "h-12 w-12 shrink-0 border-2 border-interactive/20", children: [
|
|
41012
|
-
/* @__PURE__ */ jsx151(AvatarImage, { src: isEditing && editState.image ? editState.image : avatarUrl, alt: agent.display_name }),
|
|
41013
|
-
/* @__PURE__ */ jsx151(AvatarFallback, { className: "bg-interactive/10 text-interactive text-lg font-bold", children: agent.display_name.charAt(0) })
|
|
41014
|
-
] }),
|
|
41015
|
-
/* @__PURE__ */ jsxs109("div", { className: "flex-1 min-w-0", children: [
|
|
41016
|
-
/* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-2", children: [
|
|
41017
|
-
isEditing ? /* @__PURE__ */ jsx151(
|
|
41018
|
-
"input",
|
|
41019
|
-
{
|
|
41020
|
-
type: "text",
|
|
41021
|
-
value: editState.display_name,
|
|
41022
|
-
onChange: (e) => setEditState((s) => ({ ...s, display_name: e.target.value })),
|
|
41023
|
-
disabled: isSaving,
|
|
41024
|
-
className: "flex-1 bg-transparent border-b border-interactive/30 text-sm font-semibold text-foreground outline-none focus:border-interactive transition-all",
|
|
41025
|
-
placeholder: "Agent name"
|
|
41026
|
-
}
|
|
41027
|
-
) : /* @__PURE__ */ jsx151("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: agent.display_name }),
|
|
41028
|
-
/* @__PURE__ */ jsx151("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 }),
|
|
41029
|
-
/* @__PURE__ */ jsxs109(
|
|
41030
|
-
"span",
|
|
41031
|
-
{
|
|
41032
|
-
className: cn(
|
|
41033
|
-
"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full font-medium",
|
|
41034
|
-
agent.enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
41035
|
-
),
|
|
41036
|
-
children: [
|
|
41037
|
-
/* @__PURE__ */ jsx151("span", { className: cn(
|
|
41038
|
-
"w-1.5 h-1.5 rounded-full",
|
|
41039
|
-
agent.enabled ? "bg-emerald-500" : "bg-red-500"
|
|
41040
|
-
) }),
|
|
41041
|
-
agent.enabled ? "Active" : "Disabled"
|
|
41042
|
-
]
|
|
41043
|
-
}
|
|
41044
|
-
)
|
|
41045
|
-
] }),
|
|
41046
|
-
/* @__PURE__ */ jsx151("div", { className: "mt-1", children: isEditing ? /* @__PURE__ */ jsx151(
|
|
41047
|
-
"textarea",
|
|
41048
|
-
{
|
|
41049
|
-
value: editState.description,
|
|
41050
|
-
onChange: (e) => setEditState((s) => ({ ...s, description: e.target.value })),
|
|
41051
|
-
disabled: isSaving,
|
|
41052
|
-
className: "w-full bg-transparent border-b border-interactive/30 text-xs text-foreground/70 outline-none focus:border-interactive transition-all resize-none leading-relaxed min-h-[40px]",
|
|
41053
|
-
rows: 2,
|
|
41054
|
-
placeholder: "Describe this agent..."
|
|
41055
|
-
}
|
|
41056
|
-
) : /* @__PURE__ */ jsx151("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-normal", children: agent.description }) }),
|
|
41057
|
-
isEditing && /* @__PURE__ */ jsxs109("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
41058
|
-
/* @__PURE__ */ jsx151("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold", children: "Avatar:" }),
|
|
41059
|
-
/* @__PURE__ */ jsx151(
|
|
41060
|
-
"input",
|
|
41061
|
-
{
|
|
41062
|
-
type: "text",
|
|
41063
|
-
value: editState.image,
|
|
41064
|
-
onChange: (e) => setEditState((s) => ({ ...s, image: e.target.value })),
|
|
41065
|
-
disabled: isSaving,
|
|
41066
|
-
className: "flex-1 bg-foreground/[0.03] border border-[var(--border-color)] rounded px-2 py-0.5 text-[10px] text-foreground/50 font-mono outline-none focus:border-interactive/50 transition-colors",
|
|
41067
|
-
placeholder: "URL"
|
|
41068
|
-
}
|
|
41069
|
-
)
|
|
41070
|
-
] })
|
|
41071
|
-
] }),
|
|
41072
|
-
editable && onSave && /* @__PURE__ */ jsx151("div", { className: "flex items-center gap-1.5 shrink-0", children: isEditing ? /* @__PURE__ */ jsxs109(Fragment10, { children: [
|
|
41073
|
-
/* @__PURE__ */ jsx151(
|
|
41074
|
-
"button",
|
|
41075
|
-
{
|
|
41076
|
-
onClick: handleCancel,
|
|
41077
|
-
disabled: isSaving,
|
|
41078
|
-
className: "text-[11px] px-2.5 py-1 rounded-md border border-[var(--border-color)] text-[var(--foreground)]/60 hover:text-[var(--foreground)] transition-colors disabled:opacity-50",
|
|
41079
|
-
children: "Cancel"
|
|
41080
|
-
}
|
|
41081
|
-
),
|
|
41082
|
-
/* @__PURE__ */ jsx151(
|
|
41083
|
-
"button",
|
|
41084
|
-
{
|
|
41085
|
-
onClick: handleSave,
|
|
41086
|
-
disabled: isSaving,
|
|
41087
|
-
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",
|
|
41088
|
-
children: isSaving ? "Saving..." : "Save"
|
|
41089
|
-
}
|
|
41090
|
-
)
|
|
41091
|
-
] }) : /* @__PURE__ */ jsx151(
|
|
41092
|
-
"button",
|
|
41093
|
-
{
|
|
41094
|
-
onClick: handleEdit,
|
|
41095
|
-
className: "text-[11px] px-2.5 py-1 rounded-md border border-[var(--border-color)] text-foreground/50 hover:text-foreground hover:border-interactive/50 transition-colors",
|
|
41096
|
-
children: "Edit"
|
|
41097
|
-
}
|
|
41098
|
-
) })
|
|
41099
|
-
] }),
|
|
41100
|
-
/* @__PURE__ */ jsx151("div", { className: "flex flex-wrap items-center gap-3 px-5 pb-3 text-xs", children: /* @__PURE__ */ jsxs109("span", { className: "text-[var(--foreground)]/40", children: [
|
|
41101
|
-
"Model:",
|
|
41102
|
-
" ",
|
|
41103
|
-
/* @__PURE__ */ jsx151("span", { className: "font-mono text-[var(--foreground)]/70", children: agent.model })
|
|
41104
|
-
] }) }),
|
|
41105
|
-
agent.tools && agent.tools.length > 0 && /* @__PURE__ */ jsxs109("div", { className: "border-t border-[var(--border-color)] px-5 py-3", children: [
|
|
41106
|
-
/* @__PURE__ */ jsxs109("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-2", children: [
|
|
41107
|
-
"Tools (",
|
|
41108
|
-
agent.tools.length,
|
|
41109
|
-
")"
|
|
41110
|
-
] }),
|
|
41111
|
-
/* @__PURE__ */ jsx151("div", { className: "flex flex-wrap gap-1.5", children: agent.tools.map((tool) => /* @__PURE__ */ jsx151(
|
|
41112
|
-
"span",
|
|
41113
|
-
{
|
|
41114
|
-
className: "text-[11px] px-2 py-0.5 rounded-md bg-interactive/10 text-interactive font-mono border border-interactive/20",
|
|
41115
|
-
children: tool
|
|
41116
|
-
},
|
|
41117
|
-
tool
|
|
41118
|
-
)) })
|
|
41119
|
-
] })
|
|
41120
|
-
]
|
|
41121
|
-
}
|
|
41122
|
-
);
|
|
41123
|
-
};
|
|
41124
|
-
|
|
41125
|
-
// src/molecules/workstream-builder/AgentDataTable/AgentDataTable.tsx
|
|
41126
|
-
import { jsx as jsx152, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
41127
|
-
var FONT_STYLE3 = {
|
|
41128
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41129
|
-
};
|
|
41130
|
-
var AgentDataTable = ({
|
|
41131
|
-
headers,
|
|
41132
|
-
rows,
|
|
41133
|
-
className
|
|
41134
|
-
}) => {
|
|
41135
|
-
const renderCell = (value) => {
|
|
41136
|
-
if (typeof value === "boolean") {
|
|
41137
|
-
return /* @__PURE__ */ jsxs110(
|
|
41138
|
-
"span",
|
|
41139
|
-
{
|
|
41140
|
-
className: cn(
|
|
41141
|
-
"inline-flex items-center gap-1.5 text-[11px] font-medium px-2 py-0.5 rounded-full",
|
|
41142
|
-
value ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
41143
|
-
),
|
|
41144
|
-
children: [
|
|
41145
|
-
value ? /* @__PURE__ */ jsx152("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx152("polyline", { points: "20 6 9 17 4 12" }) }) : /* @__PURE__ */ jsxs110("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
41146
|
-
/* @__PURE__ */ jsx152("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
41147
|
-
/* @__PURE__ */ jsx152("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
41148
|
-
] }),
|
|
41149
|
-
value ? "Yes" : "No"
|
|
41150
|
-
]
|
|
41151
|
-
}
|
|
41152
|
-
);
|
|
41153
|
-
}
|
|
41154
|
-
return /* @__PURE__ */ jsx152("span", { className: "text-[var(--foreground)]", children: String(value) });
|
|
41155
|
-
};
|
|
41156
|
-
return /* @__PURE__ */ jsx152(
|
|
41157
|
-
"div",
|
|
41158
|
-
{
|
|
41159
|
-
className: cn(
|
|
41160
|
-
"text-foreground hover:bg-muted/50 hover:text-foreground my-3 rounded-xl border border-[var(--border-color)] bg-[var(--card-background)] overflow-hidden",
|
|
41161
|
-
className
|
|
41162
|
-
),
|
|
41163
|
-
style: FONT_STYLE3,
|
|
41164
|
-
children: /* @__PURE__ */ jsx152("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs110("table", { className: "w-full text-xs", children: [
|
|
41165
|
-
/* @__PURE__ */ jsx152("thead", { children: /* @__PURE__ */ jsx152("tr", { className: "border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: headers.map((header) => /* @__PURE__ */ jsx152(
|
|
41166
|
-
"th",
|
|
41167
|
-
{
|
|
41168
|
-
className: "text-left px-4 py-2.5 text-[11px] font-semibold text-[var(--foreground)]/60 uppercase tracking-wide whitespace-nowrap",
|
|
41169
|
-
children: header
|
|
41170
|
-
},
|
|
41171
|
-
header
|
|
41172
|
-
)) }) }),
|
|
41173
|
-
/* @__PURE__ */ jsx152("tbody", { children: rows.map((row, rowIdx) => /* @__PURE__ */ jsx152(
|
|
41174
|
-
"tr",
|
|
41175
|
-
{
|
|
41176
|
-
className: cn(
|
|
41177
|
-
"border-b border-[var(--border-color)] last:border-b-0 hover:bg-[var(--foreground)]/[0.03] transition-colors",
|
|
41178
|
-
rowIdx % 2 === 1 && "bg-[var(--foreground)]/[0.015]"
|
|
41179
|
-
),
|
|
41180
|
-
children: row.map((cell, cellIdx) => /* @__PURE__ */ jsx152(
|
|
41181
|
-
"td",
|
|
41182
|
-
{
|
|
41183
|
-
className: "px-4 py-2.5 text-xs whitespace-nowrap",
|
|
41184
|
-
children: renderCell(cell)
|
|
41185
|
-
},
|
|
41186
|
-
cellIdx
|
|
41187
|
-
))
|
|
41188
|
-
},
|
|
41189
|
-
rowIdx
|
|
41190
|
-
)) })
|
|
41191
|
-
] }) })
|
|
41192
|
-
}
|
|
41193
|
-
);
|
|
41194
|
-
};
|
|
41195
|
-
|
|
41196
|
-
// src/molecules/workstream-builder/WorkflowVisualizer/WorkflowVisualizer.tsx
|
|
41197
|
-
import { useState as useState21 } from "react";
|
|
41198
|
-
import { jsx as jsx153, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
41199
|
-
var FONT_STYLE4 = {
|
|
41200
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41201
|
-
};
|
|
41202
|
-
var WorkflowVisualizer = ({
|
|
41203
|
-
steps,
|
|
41204
|
-
className
|
|
41205
|
-
}) => {
|
|
41206
|
-
const [expandedStep, setExpandedStep] = useState21(
|
|
41207
|
-
steps[0]?.id || null
|
|
41208
|
-
);
|
|
41209
|
-
return /* @__PURE__ */ jsxs111(
|
|
41210
|
-
"div",
|
|
41211
|
-
{
|
|
41212
|
-
className: cn(
|
|
41213
|
-
"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",
|
|
41214
|
-
className
|
|
41215
|
-
),
|
|
41216
|
-
style: FONT_STYLE4,
|
|
41217
|
-
children: [
|
|
41218
|
-
/* @__PURE__ */ jsxs111("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03] flex items-center gap-2.5", children: [
|
|
41219
|
-
/* @__PURE__ */ jsx153("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx153(
|
|
41220
|
-
"svg",
|
|
41221
|
-
{
|
|
41222
|
-
width: "14",
|
|
41223
|
-
height: "14",
|
|
41224
|
-
viewBox: "0 0 24 24",
|
|
41225
|
-
fill: "none",
|
|
41226
|
-
stroke: "currentColor",
|
|
41227
|
-
strokeWidth: "2",
|
|
41228
|
-
className: "text-interactive",
|
|
41229
|
-
strokeLinecap: "round",
|
|
41230
|
-
strokeLinejoin: "round",
|
|
41231
|
-
children: /* @__PURE__ */ jsx153("polyline", { points: "22 12 18 12 15 21 9 3 6 12 2 12" })
|
|
41232
|
-
}
|
|
41233
|
-
) }),
|
|
41234
|
-
/* @__PURE__ */ jsx153("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: "Workflow" }),
|
|
41235
|
-
/* @__PURE__ */ jsxs111("span", { className: "ml-auto text-[11px] font-medium text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.06] px-2 py-0.5 rounded-full", children: [
|
|
41236
|
-
steps.length,
|
|
41237
|
-
" steps"
|
|
41238
|
-
] })
|
|
41239
|
-
] }),
|
|
41240
|
-
/* @__PURE__ */ jsx153("div", { className: "px-4 py-3", children: steps.map((step, idx) => {
|
|
41241
|
-
const isLast = idx === steps.length - 1;
|
|
41242
|
-
const isExpanded = expandedStep === step.id;
|
|
41243
|
-
return /* @__PURE__ */ jsxs111("div", { className: "flex gap-3", children: [
|
|
41244
|
-
/* @__PURE__ */ jsxs111("div", { className: "flex flex-col items-center shrink-0", children: [
|
|
41245
|
-
/* @__PURE__ */ jsx153("div", { className: "w-7 h-7 rounded-full bg-interactive/10 border-2 border-interactive/30 flex items-center justify-center", children: /* @__PURE__ */ jsx153("span", { className: "text-[10px] font-bold text-interactive", children: idx + 1 }) }),
|
|
41246
|
-
!isLast && /* @__PURE__ */ jsx153("div", { className: "w-0.5 flex-1 min-h-[16px] bg-interactive/15" })
|
|
41247
|
-
] }),
|
|
41248
|
-
/* @__PURE__ */ jsxs111(
|
|
41249
|
-
"div",
|
|
41250
|
-
{
|
|
41251
|
-
className: cn(
|
|
41252
|
-
"flex-1 mb-3 rounded-lg border border-[var(--border-color)] transition-all",
|
|
41253
|
-
isExpanded ? "bg-[var(--foreground)]/[0.02] shadow-sm" : "hover:bg-[var(--foreground)]/[0.02] hover:shadow-sm hover:-translate-y-0.5"
|
|
41254
|
-
),
|
|
41255
|
-
children: [
|
|
41256
|
-
/* @__PURE__ */ jsxs111(
|
|
41257
|
-
"button",
|
|
41258
|
-
{
|
|
41259
|
-
onClick: () => setExpandedStep(isExpanded ? null : step.id),
|
|
41260
|
-
className: "w-full text-left px-3 py-2.5 flex items-center gap-2 whitespace-normal",
|
|
41261
|
-
children: [
|
|
41262
|
-
/* @__PURE__ */ jsx153("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsx153("span", { className: "text-[13px] font-medium text-[var(--foreground)]", children: step.name }) }),
|
|
41263
|
-
/* @__PURE__ */ jsx153(
|
|
41264
|
-
"svg",
|
|
41265
|
-
{
|
|
41266
|
-
width: "12",
|
|
41267
|
-
height: "12",
|
|
41268
|
-
viewBox: "0 0 24 24",
|
|
41269
|
-
fill: "none",
|
|
41270
|
-
stroke: "currentColor",
|
|
41271
|
-
strokeWidth: "2",
|
|
41272
|
-
className: cn(
|
|
41273
|
-
"shrink-0 text-[var(--foreground)]/30 transition-transform",
|
|
41274
|
-
isExpanded && "rotate-180"
|
|
41275
|
-
),
|
|
41276
|
-
children: /* @__PURE__ */ jsx153("polyline", { points: "6 9 12 15 18 9" })
|
|
41277
|
-
}
|
|
41278
|
-
)
|
|
41279
|
-
]
|
|
41280
|
-
}
|
|
41281
|
-
),
|
|
41282
|
-
isExpanded && /* @__PURE__ */ jsxs111("div", { className: "px-3 pb-3 space-y-2.5", children: [
|
|
41283
|
-
step.description && /* @__PURE__ */ jsx153("p", { className: "text-xs text-[var(--foreground)]/50 leading-relaxed whitespace-normal", children: step.description }),
|
|
41284
|
-
step.sub_steps && step.sub_steps.length > 0 && /* @__PURE__ */ jsx153("div", { className: "space-y-1", children: step.sub_steps.map((sub) => /* @__PURE__ */ jsxs111(
|
|
41285
|
-
"div",
|
|
41286
|
-
{
|
|
41287
|
-
className: "flex items-start gap-2 text-xs",
|
|
41288
|
-
children: [
|
|
41289
|
-
/* @__PURE__ */ jsx153("span", { className: "shrink-0 mt-0.5 w-1.5 h-1.5 rounded-full bg-interactive/40" }),
|
|
41290
|
-
/* @__PURE__ */ jsx153("span", { className: "text-[var(--foreground)]/60", children: sub.action })
|
|
41291
|
-
]
|
|
41292
|
-
},
|
|
41293
|
-
sub.id
|
|
41294
|
-
)) }),
|
|
41295
|
-
step.tools && step.tools.length > 0 && /* @__PURE__ */ jsxs111("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
|
|
41296
|
-
/* @__PURE__ */ jsx153("span", { className: "text-[10px] text-[var(--foreground)]/30 uppercase font-semibold tracking-wider", children: "Tools:" }),
|
|
41297
|
-
step.tools.map((tool) => /* @__PURE__ */ jsx153(
|
|
41298
|
-
"span",
|
|
41299
|
-
{
|
|
41300
|
-
className: "text-[10px] font-mono px-1.5 py-0.5 rounded bg-interactive/[0.08] text-interactive/70 border border-interactive/10",
|
|
41301
|
-
children: tool
|
|
41302
|
-
},
|
|
41303
|
-
tool
|
|
41304
|
-
))
|
|
41305
|
-
] }),
|
|
41306
|
-
step.on_failure && /* @__PURE__ */ jsxs111("div", { className: "flex items-start gap-2 text-xs bg-[var(--redBackground,_#ef4444)]/[0.06] border border-[var(--redText,_#ef4444)]/10 rounded-md px-2.5 py-2 whitespace-normal", children: [
|
|
41307
|
-
/* @__PURE__ */ jsx153("span", { className: "shrink-0 text-[10px] font-semibold text-[var(--redText,_#ef4444)]/70 uppercase tracking-wider mt-px", children: "On failure:" }),
|
|
41308
|
-
/* @__PURE__ */ jsx153("span", { className: "text-[var(--foreground)]/50", children: step.on_failure })
|
|
41309
|
-
] })
|
|
41310
|
-
] })
|
|
41311
|
-
]
|
|
41312
|
-
}
|
|
41313
|
-
)
|
|
41314
|
-
] }, step.id);
|
|
41315
|
-
}) })
|
|
41316
|
-
]
|
|
41317
|
-
}
|
|
41318
|
-
);
|
|
41319
|
-
};
|
|
41320
|
-
|
|
41321
|
-
// src/molecules/workstream-builder/InstructionPreview/InstructionPreview.tsx
|
|
41322
|
-
import { useState as useState22, useCallback as useCallback9 } from "react";
|
|
41323
|
-
import { jsx as jsx154, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
41324
|
-
var FONT_STYLE5 = {
|
|
41325
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41326
|
-
};
|
|
41327
|
-
var InstructionPreview = ({
|
|
41328
|
-
agent_name,
|
|
41329
|
-
description,
|
|
41330
|
-
instruction,
|
|
41331
|
-
workflow_summary,
|
|
41332
|
-
tools,
|
|
41333
|
-
className
|
|
41334
|
-
}) => {
|
|
41335
|
-
const [isExpanded, setIsExpanded] = useState22(false);
|
|
41336
|
-
const [copied, setCopied] = useState22(false);
|
|
41337
|
-
const previewLength = 300;
|
|
41338
|
-
const isLong = instruction.length > previewLength;
|
|
41339
|
-
const displayText = isExpanded || !isLong ? instruction : instruction.slice(0, previewLength) + "...";
|
|
41340
|
-
const handleCopy = useCallback9(async () => {
|
|
41341
|
-
try {
|
|
41342
|
-
await navigator.clipboard.writeText(instruction);
|
|
41343
|
-
setCopied(true);
|
|
41344
|
-
setTimeout(() => setCopied(false), 2e3);
|
|
41345
|
-
} catch {
|
|
41346
|
-
const textarea = document.createElement("textarea");
|
|
41347
|
-
textarea.value = instruction;
|
|
41348
|
-
textarea.style.position = "fixed";
|
|
41349
|
-
textarea.style.opacity = "0";
|
|
41350
|
-
document.body.appendChild(textarea);
|
|
41351
|
-
textarea.select();
|
|
41352
|
-
document.execCommand("copy");
|
|
41353
|
-
document.body.removeChild(textarea);
|
|
41354
|
-
setCopied(true);
|
|
41355
|
-
setTimeout(() => setCopied(false), 2e3);
|
|
41356
|
-
}
|
|
41357
|
-
}, [instruction]);
|
|
41358
|
-
return /* @__PURE__ */ jsxs112(
|
|
41359
|
-
"div",
|
|
41360
|
-
{
|
|
41361
|
-
className: cn(
|
|
41362
|
-
"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",
|
|
41363
|
-
className
|
|
41364
|
-
),
|
|
41365
|
-
style: FONT_STYLE5,
|
|
41366
|
-
children: [
|
|
41367
|
-
/* @__PURE__ */ jsx154("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-[var(--foreground)]/[0.03]", children: /* @__PURE__ */ jsxs112("div", { className: "flex items-center gap-2.5", children: [
|
|
41368
|
-
/* @__PURE__ */ jsx154("div", { className: "w-6 h-6 rounded-md bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsxs112(
|
|
41369
|
-
"svg",
|
|
41370
|
-
{
|
|
41371
|
-
width: "14",
|
|
41372
|
-
height: "14",
|
|
41373
|
-
viewBox: "0 0 24 24",
|
|
41374
|
-
fill: "none",
|
|
41375
|
-
stroke: "currentColor",
|
|
41376
|
-
strokeWidth: "2",
|
|
41377
|
-
className: "text-interactive",
|
|
41378
|
-
strokeLinecap: "round",
|
|
41379
|
-
strokeLinejoin: "round",
|
|
41380
|
-
children: [
|
|
41381
|
-
/* @__PURE__ */ jsx154("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
|
|
41382
|
-
/* @__PURE__ */ jsx154("polyline", { points: "14 2 14 8 20 8" }),
|
|
41383
|
-
/* @__PURE__ */ jsx154("line", { x1: "16", y1: "13", x2: "8", y2: "13" }),
|
|
41384
|
-
/* @__PURE__ */ jsx154("line", { x1: "16", y1: "17", x2: "8", y2: "17" }),
|
|
41385
|
-
/* @__PURE__ */ jsx154("polyline", { points: "10 9 9 9 8 9" })
|
|
41386
|
-
]
|
|
41387
|
-
}
|
|
41388
|
-
) }),
|
|
41389
|
-
/* @__PURE__ */ jsxs112("div", { className: "flex-1 min-w-0", children: [
|
|
41390
|
-
/* @__PURE__ */ jsx154("h4", { className: "text-sm font-semibold text-[var(--foreground)]", children: agent_name }),
|
|
41391
|
-
description && /* @__PURE__ */ jsx154("p", { className: "text-[11px] text-[var(--foreground)]/40 mt-0.5 whitespace-normal", children: description })
|
|
41392
|
-
] })
|
|
41393
|
-
] }) }),
|
|
41394
|
-
/* @__PURE__ */ jsxs112("div", { className: "px-4 py-3 space-y-3", children: [
|
|
41395
|
-
/* @__PURE__ */ jsxs112("div", { children: [
|
|
41396
|
-
/* @__PURE__ */ jsxs112("div", { className: "flex items-center justify-between mb-1.5", children: [
|
|
41397
|
-
/* @__PURE__ */ jsx154("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider", children: "Instruction" }),
|
|
41398
|
-
/* @__PURE__ */ jsx154(
|
|
41399
|
-
"button",
|
|
41400
|
-
{
|
|
41401
|
-
onClick: handleCopy,
|
|
41402
|
-
className: "text-[10px] px-2 py-0.5 rounded-md text-interactive hover:bg-interactive/10 transition-colors font-medium",
|
|
41403
|
-
children: copied ? "Copied!" : "Copy"
|
|
41404
|
-
}
|
|
41405
|
-
)
|
|
41406
|
-
] }),
|
|
41407
|
-
/* @__PURE__ */ jsx154("div", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed whitespace-pre-wrap font-mono bg-[var(--foreground)]/[0.02] border border-[var(--border-color)] rounded-lg p-3", children: displayText }),
|
|
41408
|
-
isLong && /* @__PURE__ */ jsxs112(
|
|
41409
|
-
"button",
|
|
41410
|
-
{
|
|
41411
|
-
onClick: () => setIsExpanded(!isExpanded),
|
|
41412
|
-
className: "inline-flex items-center gap-1 text-[11px] text-interactive hover:underline mt-1",
|
|
41413
|
-
children: [
|
|
41414
|
-
/* @__PURE__ */ jsx154(
|
|
41415
|
-
"svg",
|
|
41416
|
-
{
|
|
41417
|
-
width: "12",
|
|
41418
|
-
height: "12",
|
|
41419
|
-
viewBox: "0 0 24 24",
|
|
41420
|
-
fill: "none",
|
|
41421
|
-
stroke: "currentColor",
|
|
41422
|
-
strokeWidth: "2",
|
|
41423
|
-
className: cn("transition-transform", isExpanded && "rotate-180"),
|
|
41424
|
-
children: /* @__PURE__ */ jsx154("polyline", { points: "6 9 12 15 18 9" })
|
|
41425
|
-
}
|
|
41426
|
-
),
|
|
41427
|
-
isExpanded ? "Show less" : "Show full instruction"
|
|
41428
|
-
]
|
|
41429
|
-
}
|
|
41430
|
-
)
|
|
41431
|
-
] }),
|
|
41432
|
-
workflow_summary && workflow_summary.length > 0 && /* @__PURE__ */ jsxs112("div", { children: [
|
|
41433
|
-
/* @__PURE__ */ jsx154("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Workflow" }),
|
|
41434
|
-
/* @__PURE__ */ jsx154("div", { className: "space-y-1", children: workflow_summary.map((step, idx) => /* @__PURE__ */ jsxs112("div", { className: "flex items-start gap-2 text-xs", children: [
|
|
41435
|
-
/* @__PURE__ */ jsx154("span", { className: "shrink-0 w-5 h-5 rounded-full bg-interactive/10 flex items-center justify-center text-[10px] font-bold text-interactive", children: idx + 1 }),
|
|
41436
|
-
/* @__PURE__ */ jsx154("span", { className: "text-[var(--foreground)]/50 mt-0.5", children: step })
|
|
41437
|
-
] }, idx)) })
|
|
41438
|
-
] }),
|
|
41439
|
-
tools && tools.length > 0 && /* @__PURE__ */ jsxs112("div", { children: [
|
|
41440
|
-
/* @__PURE__ */ jsx154("p", { className: "text-[10px] font-semibold text-[var(--foreground)]/30 uppercase tracking-wider mb-1.5", children: "Tools" }),
|
|
41441
|
-
/* @__PURE__ */ jsx154("div", { className: "flex flex-wrap gap-1.5", children: tools.map((tool) => /* @__PURE__ */ jsx154(
|
|
41442
|
-
"span",
|
|
41443
|
-
{
|
|
41444
|
-
className: "text-[10px] font-mono px-2 py-0.5 rounded bg-interactive/[0.08] text-interactive/70 border border-interactive/10",
|
|
41445
|
-
children: tool
|
|
41446
|
-
},
|
|
41447
|
-
tool
|
|
41448
|
-
)) })
|
|
41449
|
-
] })
|
|
41450
|
-
] })
|
|
41451
|
-
]
|
|
41452
|
-
}
|
|
41453
|
-
);
|
|
41454
|
-
};
|
|
41455
|
-
|
|
41456
|
-
// src/molecules/workstream-builder/UIComponentSelector/UIComponentSelector.tsx
|
|
41457
|
-
import { useState as useState23 } from "react";
|
|
41458
|
-
import { jsx as jsx155, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
41459
|
-
var FONT_STYLE6 = {
|
|
41460
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41461
|
-
};
|
|
41462
|
-
function UIComponentSelector({
|
|
41463
|
-
components,
|
|
41464
|
-
onSelect,
|
|
41465
|
-
onPreview,
|
|
41466
|
-
className,
|
|
41467
|
-
isLatestMessage = true
|
|
41468
|
-
}) {
|
|
41469
|
-
const [selected, setSelected] = useState23(() => {
|
|
41470
|
-
const recommended = components.filter((c) => c.recommended).map((c) => c.name);
|
|
41471
|
-
return new Set(recommended);
|
|
41472
|
-
});
|
|
41473
|
-
const [submitted, setSubmitted] = useState23(false);
|
|
41474
|
-
const grouped = components.reduce(
|
|
41475
|
-
(acc, comp) => {
|
|
41476
|
-
const cat = comp.category || "Other";
|
|
41477
|
-
if (!acc[cat]) acc[cat] = [];
|
|
41478
|
-
acc[cat].push(comp);
|
|
41479
|
-
return acc;
|
|
41480
|
-
},
|
|
41481
|
-
{}
|
|
41482
|
-
);
|
|
41483
|
-
const toggle = (name) => {
|
|
41484
|
-
if (submitted || !isLatestMessage) return;
|
|
41485
|
-
setSelected((prev) => {
|
|
41486
|
-
const next = new Set(prev);
|
|
41487
|
-
if (next.has(name)) next.delete(name);
|
|
41488
|
-
else next.add(name);
|
|
41489
|
-
return next;
|
|
41490
|
-
});
|
|
41491
|
-
};
|
|
41492
|
-
const handleContinue = () => {
|
|
41493
|
-
setSubmitted(true);
|
|
41494
|
-
onSelect?.(Array.from(selected));
|
|
41495
|
-
};
|
|
41496
|
-
const categoryOrder = Object.keys(grouped).sort();
|
|
41497
|
-
return /* @__PURE__ */ jsxs113(
|
|
41498
|
-
"div",
|
|
41499
|
-
{
|
|
41500
|
-
className: cn(
|
|
41501
|
-
"my-3 rounded-xl border border-border bg-card overflow-hidden shadow-sm",
|
|
41502
|
-
className
|
|
41503
|
-
),
|
|
41504
|
-
style: FONT_STYLE6,
|
|
41505
|
-
children: [
|
|
41506
|
-
/* @__PURE__ */ jsx155("div", { className: "px-4 py-3 border-b border-border/60 bg-muted/40", children: /* @__PURE__ */ jsxs113("div", { className: "flex items-center gap-2", children: [
|
|
41507
|
-
/* @__PURE__ */ jsx155("div", { className: "w-5 h-5 rounded-md bg-interactive/15 flex items-center justify-center", children: /* @__PURE__ */ jsxs113(
|
|
41508
|
-
"svg",
|
|
41509
|
-
{
|
|
41510
|
-
width: "12",
|
|
41511
|
-
height: "12",
|
|
41512
|
-
viewBox: "0 0 24 24",
|
|
41513
|
-
fill: "none",
|
|
41514
|
-
stroke: "currentColor",
|
|
41515
|
-
strokeWidth: "2",
|
|
41516
|
-
className: "text-interactive",
|
|
41517
|
-
children: [
|
|
41518
|
-
/* @__PURE__ */ jsx155("rect", { x: "3", y: "3", width: "7", height: "7" }),
|
|
41519
|
-
/* @__PURE__ */ jsx155("rect", { x: "14", y: "3", width: "7", height: "7" }),
|
|
41520
|
-
/* @__PURE__ */ jsx155("rect", { x: "3", y: "14", width: "7", height: "7" }),
|
|
41521
|
-
/* @__PURE__ */ jsx155("rect", { x: "14", y: "14", width: "7", height: "7" })
|
|
41522
|
-
]
|
|
41523
|
-
}
|
|
41524
|
-
) }),
|
|
41525
|
-
/* @__PURE__ */ jsxs113("div", { children: [
|
|
41526
|
-
/* @__PURE__ */ jsx155("h3", { className: "text-xs font-semibold text-foreground", children: "Select UI Components" }),
|
|
41527
|
-
/* @__PURE__ */ jsx155("p", { className: "text-[10px] text-muted-foreground mt-0.5", children: "Choose which visual components this agent can use in its responses." })
|
|
41528
|
-
] })
|
|
41529
|
-
] }) }),
|
|
41530
|
-
/* @__PURE__ */ jsx155("div", { className: "px-4 py-3 space-y-4", children: categoryOrder.map((category) => /* @__PURE__ */ jsxs113("div", { children: [
|
|
41531
|
-
/* @__PURE__ */ jsx155("h4", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-2", children: category }),
|
|
41532
|
-
/* @__PURE__ */ jsx155("div", { className: "space-y-1.5", children: grouped[category].map((comp) => /* @__PURE__ */ jsxs113(
|
|
41533
|
-
"label",
|
|
41534
|
-
{
|
|
41535
|
-
className: cn(
|
|
41536
|
-
"flex items-start gap-3 px-3 py-2 rounded-lg cursor-pointer transition-all",
|
|
41537
|
-
submitted || !isLatestMessage ? "cursor-default opacity-60" : "hover:bg-muted/80",
|
|
41538
|
-
selected.has(comp.name) && !submitted && "bg-interactive/5 border border-interactive/20",
|
|
41539
|
-
selected.has(comp.name) && submitted && "bg-interactive/5"
|
|
41540
|
-
),
|
|
41541
|
-
children: [
|
|
41542
|
-
/* @__PURE__ */ jsx155(
|
|
41543
|
-
"div",
|
|
41544
|
-
{
|
|
41545
|
-
className: cn(
|
|
41546
|
-
"mt-0.5 w-4 h-4 rounded border flex items-center justify-center shrink-0 transition-colors",
|
|
41547
|
-
selected.has(comp.name) ? "bg-interactive border-interactive" : "border-muted-foreground/30"
|
|
41548
|
-
),
|
|
41549
|
-
onClick: (e) => {
|
|
41550
|
-
e.preventDefault();
|
|
41551
|
-
toggle(comp.name);
|
|
41552
|
-
},
|
|
41553
|
-
children: selected.has(comp.name) && /* @__PURE__ */ jsx155(
|
|
41554
|
-
"svg",
|
|
41555
|
-
{
|
|
41556
|
-
width: "10",
|
|
41557
|
-
height: "10",
|
|
41558
|
-
viewBox: "0 0 24 24",
|
|
41559
|
-
fill: "none",
|
|
41560
|
-
stroke: "white",
|
|
41561
|
-
strokeWidth: "3",
|
|
41562
|
-
children: /* @__PURE__ */ jsx155("polyline", { points: "20 6 9 17 4 12" })
|
|
41563
|
-
}
|
|
41564
|
-
)
|
|
41565
|
-
}
|
|
41566
|
-
),
|
|
41567
|
-
/* @__PURE__ */ jsx155(
|
|
41568
|
-
"input",
|
|
41569
|
-
{
|
|
41570
|
-
type: "checkbox",
|
|
41571
|
-
checked: selected.has(comp.name),
|
|
41572
|
-
onChange: () => toggle(comp.name),
|
|
41573
|
-
disabled: submitted || !isLatestMessage,
|
|
41574
|
-
className: "sr-only"
|
|
41575
|
-
}
|
|
41576
|
-
),
|
|
41577
|
-
/* @__PURE__ */ jsxs113("div", { className: "flex-1 min-w-0", children: [
|
|
41578
|
-
/* @__PURE__ */ jsxs113("div", { className: "flex items-center gap-1", children: [
|
|
41579
|
-
/* @__PURE__ */ jsx155("span", { className: "text-sm font-medium text-foreground", children: comp.display_name }),
|
|
41580
|
-
comp.recommended && /* @__PURE__ */ jsx155("span", { className: "px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wider rounded-full bg-emerald-500/10 text-emerald-600 border border-emerald-500/20", children: "Recommended" }),
|
|
41581
|
-
onPreview && /* @__PURE__ */ jsx155(
|
|
41582
|
-
"button",
|
|
41583
|
-
{
|
|
41584
|
-
type: "button",
|
|
41585
|
-
onClick: (e) => {
|
|
41586
|
-
e.preventDefault();
|
|
41587
|
-
e.stopPropagation();
|
|
41588
|
-
onPreview(comp.name);
|
|
41589
|
-
},
|
|
41590
|
-
className: "shrink-0 p-0.5 rounded hover:bg-muted transition-colors",
|
|
41591
|
-
title: `Preview ${comp.display_name}`,
|
|
41592
|
-
children: /* @__PURE__ */ jsxs113(
|
|
41593
|
-
"svg",
|
|
41594
|
-
{
|
|
41595
|
-
width: "14",
|
|
41596
|
-
height: "14",
|
|
41597
|
-
viewBox: "0 0 24 24",
|
|
41598
|
-
fill: "none",
|
|
41599
|
-
stroke: "currentColor",
|
|
41600
|
-
strokeWidth: "2",
|
|
41601
|
-
strokeLinecap: "round",
|
|
41602
|
-
strokeLinejoin: "round",
|
|
41603
|
-
className: "text-muted-foreground hover:text-interactive",
|
|
41604
|
-
children: [
|
|
41605
|
-
/* @__PURE__ */ jsx155("circle", { cx: "12", cy: "12", r: "10" }),
|
|
41606
|
-
/* @__PURE__ */ jsx155("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
41607
|
-
/* @__PURE__ */ jsx155("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
|
|
41608
|
-
]
|
|
41609
|
-
}
|
|
41610
|
-
)
|
|
41611
|
-
}
|
|
41612
|
-
)
|
|
41613
|
-
] }),
|
|
41614
|
-
/* @__PURE__ */ jsx155("span", { className: "ml-0 text-xs text-muted-foreground", children: comp.description })
|
|
41615
|
-
] })
|
|
41616
|
-
]
|
|
41617
|
-
},
|
|
41618
|
-
comp.name
|
|
41619
|
-
)) })
|
|
41620
|
-
] }, category)) }),
|
|
41621
|
-
!submitted && isLatestMessage && /* @__PURE__ */ jsxs113("div", { className: "px-4 py-3 border-t border-border/60 flex items-center justify-between bg-muted/30", children: [
|
|
41622
|
-
/* @__PURE__ */ jsxs113("span", { className: "text-xs text-muted-foreground", children: [
|
|
41623
|
-
selected.size,
|
|
41624
|
-
" selected"
|
|
41625
|
-
] }),
|
|
41626
|
-
/* @__PURE__ */ jsx155(
|
|
41627
|
-
"button",
|
|
41628
|
-
{
|
|
41629
|
-
onClick: handleContinue,
|
|
41630
|
-
className: "px-4 py-1.5 text-sm font-medium rounded-lg bg-interactive text-white hover:bg-interactive/90 transition-colors",
|
|
41631
|
-
children: "Continue"
|
|
41632
|
-
}
|
|
41633
|
-
)
|
|
41634
|
-
] }),
|
|
41635
|
-
submitted && /* @__PURE__ */ jsx155("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx155("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5", children: "Selections confirmed" }) })
|
|
41636
|
-
]
|
|
41637
|
-
}
|
|
41638
|
-
);
|
|
41639
|
-
}
|
|
41640
|
-
|
|
41641
|
-
// src/molecules/workstream-builder/MultiAgentCard/MultiAgentCard.tsx
|
|
41642
|
-
import { jsx as jsx156, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
41643
|
-
var FONT_STYLE7 = {
|
|
41644
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41645
|
-
};
|
|
41646
|
-
var MultiAgentCard = ({
|
|
41647
|
-
name,
|
|
41648
|
-
display_name,
|
|
41649
|
-
description,
|
|
41650
|
-
stages = [],
|
|
41651
|
-
enabled = true,
|
|
41652
|
-
className
|
|
41653
|
-
}) => {
|
|
41654
|
-
const avatarUrl = `https://api.dicebear.com/7.x/avataaars/svg?seed=${name}`;
|
|
41655
|
-
return /* @__PURE__ */ jsxs114(
|
|
41656
|
-
"div",
|
|
41657
|
-
{
|
|
41658
|
-
className: cn(
|
|
41659
|
-
"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",
|
|
41660
|
-
className
|
|
41661
|
-
),
|
|
41662
|
-
style: FONT_STYLE7,
|
|
41663
|
-
children: [
|
|
41664
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex items-start gap-4 px-5 py-4 bg-gradient-to-r from-[var(--foreground)]/[0.02] to-transparent", children: [
|
|
41665
|
-
/* @__PURE__ */ jsx156("div", { className: "h-12 w-12 shrink-0 rounded-full border-2 border-interactive/20 overflow-hidden bg-interactive/10 flex items-center justify-center", children: /* @__PURE__ */ jsx156("img", { src: avatarUrl, alt: display_name, className: "h-full w-full" }) }),
|
|
41666
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex-1 min-w-0", children: [
|
|
41667
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex items-center gap-2", children: [
|
|
41668
|
-
/* @__PURE__ */ jsx156("h4", { className: "text-sm font-semibold text-[var(--foreground)] truncate", children: display_name }),
|
|
41669
|
-
/* @__PURE__ */ jsx156("span", { className: "text-[11px] font-mono text-[var(--foreground)]/40 bg-[var(--foreground)]/[0.05] px-1.5 py-0.5 rounded", children: name }),
|
|
41670
|
-
/* @__PURE__ */ jsx156("span", { className: "text-[10px] px-2 py-0.5 rounded-full font-medium bg-interactive/10 text-interactive", children: "Multi-Agent" }),
|
|
41671
|
-
/* @__PURE__ */ jsxs114(
|
|
41672
|
-
"span",
|
|
41673
|
-
{
|
|
41674
|
-
className: cn(
|
|
41675
|
-
"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full font-medium",
|
|
41676
|
-
enabled ? "bg-emerald-500/10 text-emerald-600" : "bg-red-500/10 text-red-500"
|
|
41677
|
-
),
|
|
41678
|
-
children: [
|
|
41679
|
-
/* @__PURE__ */ jsx156("span", { className: cn(
|
|
41680
|
-
"w-1.5 h-1.5 rounded-full",
|
|
41681
|
-
enabled ? "bg-emerald-500" : "bg-red-500"
|
|
41682
|
-
) }),
|
|
41683
|
-
enabled ? "Active" : "Disabled"
|
|
41684
|
-
]
|
|
41685
|
-
}
|
|
41686
|
-
)
|
|
41687
|
-
] }),
|
|
41688
|
-
/* @__PURE__ */ jsx156("p", { className: "text-xs text-[var(--foreground)]/60 leading-relaxed mt-1 whitespace-normal", style: { textWrap: "auto" }, children: description })
|
|
41689
|
-
] })
|
|
41690
|
-
] }),
|
|
41691
|
-
stages.length > 0 && /* @__PURE__ */ jsxs114("div", { className: "border-t border-[var(--border-color)] px-5 py-4", children: [
|
|
41692
|
-
/* @__PURE__ */ jsxs114("p", { className: "text-[11px] font-semibold text-[var(--foreground)]/40 uppercase tracking-wide mb-3", children: [
|
|
41693
|
-
"Stages (",
|
|
41694
|
-
stages.length,
|
|
41695
|
-
")"
|
|
41696
|
-
] }),
|
|
41697
|
-
/* @__PURE__ */ jsx156("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ jsxs114("div", { className: "flex items-stretch", children: [
|
|
41698
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex flex-col items-center mr-3 w-5", children: [
|
|
41699
|
-
/* @__PURE__ */ jsx156(
|
|
41700
|
-
"div",
|
|
41701
|
-
{
|
|
41702
|
-
className: cn(
|
|
41703
|
-
"w-5 h-5 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0",
|
|
41704
|
-
"bg-interactive/10 text-interactive border border-interactive/30"
|
|
41705
|
-
),
|
|
41706
|
-
children: idx + 1
|
|
41707
|
-
}
|
|
41708
|
-
),
|
|
41709
|
-
idx < stages.length - 1 && /* @__PURE__ */ jsx156("div", { className: "w-px flex-1 min-h-[16px] border-l border-dashed border-interactive/30" })
|
|
41710
|
-
] }),
|
|
41711
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex-1 mb-2 p-3 rounded-lg border border-[var(--border-color)] bg-[var(--foreground)]/[0.02]", children: [
|
|
41712
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex items-center gap-2", children: [
|
|
41713
|
-
/* @__PURE__ */ jsx156("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: stage.name }),
|
|
41714
|
-
/* @__PURE__ */ jsx156("span", { className: "text-[10px] font-mono text-[var(--foreground)]/30 bg-[var(--foreground)]/[0.04] px-1.5 py-0.5 rounded", children: stage.agent_name })
|
|
41715
|
-
] }),
|
|
41716
|
-
/* @__PURE__ */ jsxs114("div", { className: "flex items-center gap-3 mt-1.5 text-[10px] text-[var(--foreground)]/50", children: [
|
|
41717
|
-
stage.tools && stage.tools.length > 0 && /* @__PURE__ */ jsxs114("span", { children: [
|
|
41718
|
-
stage.tools.length,
|
|
41719
|
-
" tool",
|
|
41720
|
-
stage.tools.length !== 1 ? "s" : ""
|
|
41721
|
-
] }),
|
|
41722
|
-
stage.ui_components && stage.ui_components.length > 0 && /* @__PURE__ */ jsxs114("span", { children: [
|
|
41723
|
-
stage.ui_components.length,
|
|
41724
|
-
" component",
|
|
41725
|
-
stage.ui_components.length !== 1 ? "s" : ""
|
|
41726
|
-
] })
|
|
41727
|
-
] })
|
|
41728
|
-
] })
|
|
41729
|
-
] }, stage.agent_name || idx)) })
|
|
41730
|
-
] })
|
|
41731
|
-
]
|
|
41732
|
-
}
|
|
41733
|
-
);
|
|
41734
|
-
};
|
|
41735
|
-
|
|
41736
|
-
// src/molecules/workstream-builder/MultiAgentPlan/MultiAgentPlan.tsx
|
|
41737
|
-
import { jsx as jsx157, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
41738
|
-
var FONT_STYLE8 = {
|
|
41739
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41740
|
-
};
|
|
41741
|
-
var MultiAgentPlan = ({
|
|
41742
|
-
stages = [],
|
|
41743
|
-
className
|
|
41744
|
-
}) => {
|
|
41745
|
-
return /* @__PURE__ */ jsxs115(
|
|
41746
|
-
"div",
|
|
41747
|
-
{
|
|
41748
|
-
className: cn(
|
|
41749
|
-
"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",
|
|
41750
|
-
className
|
|
41751
|
-
),
|
|
41752
|
-
style: FONT_STYLE8,
|
|
41753
|
-
children: [
|
|
41754
|
-
/* @__PURE__ */ jsx157("div", { className: "px-4 py-3 border-b border-[var(--border-color)] bg-gradient-to-r from-[var(--foreground)]/[0.02] to-transparent", children: /* @__PURE__ */ jsxs115("div", { className: "flex items-center gap-2", children: [
|
|
41755
|
-
/* @__PURE__ */ jsx157("div", { className: "w-4 h-4 rounded bg-violet-500/20 flex items-center justify-center", children: /* @__PURE__ */ jsx157(
|
|
41756
|
-
"svg",
|
|
41757
|
-
{
|
|
41758
|
-
width: "10",
|
|
41759
|
-
height: "10",
|
|
41760
|
-
viewBox: "0 0 24 24",
|
|
41761
|
-
fill: "none",
|
|
41762
|
-
stroke: "currentColor",
|
|
41763
|
-
strokeWidth: "2",
|
|
41764
|
-
className: "text-violet-600",
|
|
41765
|
-
children: /* @__PURE__ */ jsx157("path", { d: "M16 3h5v5M4 20L21 3M21 16v5h-5M15 15l6 6M4 4l5 5" })
|
|
41766
|
-
}
|
|
41767
|
-
) }),
|
|
41768
|
-
/* @__PURE__ */ jsx157("span", { className: "text-xs font-semibold text-[var(--foreground)]", children: "Proposed Multi-Agent Workflow" }),
|
|
41769
|
-
/* @__PURE__ */ jsx157("span", { className: "text-[10px] px-1.5 py-0.5 rounded-full bg-amber-500/10 text-amber-600 font-medium", children: "Draft" })
|
|
41770
|
-
] }) }),
|
|
41771
|
-
/* @__PURE__ */ jsx157("div", { className: "px-4 py-3", children: /* @__PURE__ */ jsx157("div", { className: "flex flex-col gap-0", children: stages.map((stage, idx) => /* @__PURE__ */ jsxs115("div", { className: "flex items-stretch min-w-0", children: [
|
|
41772
|
-
/* @__PURE__ */ jsxs115("div", { className: "flex flex-col items-center mr-3 w-6", children: [
|
|
41773
|
-
/* @__PURE__ */ jsx157("div", { className: "w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 bg-interactive/10 text-interactive border border-interactive/30", children: idx + 1 }),
|
|
41774
|
-
idx < stages.length - 1 && /* @__PURE__ */ jsx157("div", { className: "w-px flex-1 min-h-[12px] border-l border-dashed border-interactive/30" })
|
|
41775
|
-
] }),
|
|
41776
|
-
/* @__PURE__ */ jsxs115("div", { className: "flex-1 mb-2 pb-2 min-w-0", children: [
|
|
41777
|
-
/* @__PURE__ */ jsx157("p", { className: "text-xs font-semibold text-foreground", children: stage.name }),
|
|
41778
|
-
stage.description && /* @__PURE__ */ jsx157(
|
|
41779
|
-
"p",
|
|
41780
|
-
{
|
|
41781
|
-
className: "text-[11px] text-foreground/50 mt-0.5 whitespace-normal",
|
|
41782
|
-
style: { textWrap: "auto" },
|
|
41783
|
-
children: stage.description
|
|
41784
|
-
}
|
|
41785
|
-
),
|
|
41786
|
-
stage.proposed_tools && stage.proposed_tools.length > 0 && /* @__PURE__ */ jsx157("div", { className: "flex flex-wrap gap-1 mt-1.5", children: stage.proposed_tools.map((tool) => /* @__PURE__ */ jsx157(
|
|
41787
|
-
"span",
|
|
41788
|
-
{
|
|
41789
|
-
className: "text-[10px] px-1.5 py-0.5 rounded bg-interactive/10 text-interactive font-mono",
|
|
41790
|
-
children: tool
|
|
41791
|
-
},
|
|
41792
|
-
tool
|
|
41793
|
-
)) })
|
|
41794
|
-
] })
|
|
41795
|
-
] }, stage.name || idx)) }) })
|
|
41796
|
-
]
|
|
41797
|
-
}
|
|
41798
|
-
);
|
|
41799
|
-
};
|
|
41800
|
-
|
|
41801
|
-
// src/molecules/workstream-builder/MultiAgentUISelector/MultiAgentUISelector.tsx
|
|
41802
|
-
import { useState as useState24, useCallback as useCallback10 } from "react";
|
|
41803
|
-
import { jsx as jsx158, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
41804
|
-
var FONT_STYLE9 = {
|
|
41805
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
41806
|
-
};
|
|
41807
|
-
var MultiAgentUISelector = ({
|
|
41808
|
-
stages = [],
|
|
41809
|
-
components = [],
|
|
41810
|
-
onSelect,
|
|
41811
|
-
onPreview,
|
|
41812
|
-
className,
|
|
41813
|
-
isLatestMessage = true
|
|
41814
|
-
}) => {
|
|
41815
|
-
const [activeStageId, setActiveStageId] = useState24(stages[0]?.id || "");
|
|
41816
|
-
const [selections, setSelections] = useState24(
|
|
41817
|
-
() => {
|
|
41818
|
-
const init = {};
|
|
41819
|
-
const recommendedNames = components.filter((c) => c.recommended).map((c) => c.name);
|
|
41820
|
-
for (const stage of stages) {
|
|
41821
|
-
const stageRecs = stage.recommended_components?.length ? stage.recommended_components : recommendedNames;
|
|
41822
|
-
init[stage.id] = new Set(stageRecs);
|
|
41823
|
-
}
|
|
41824
|
-
return init;
|
|
41825
|
-
}
|
|
41826
|
-
);
|
|
41827
|
-
const [submitted, setSubmitted] = useState24(false);
|
|
41828
|
-
const grouped = components.reduce((acc, comp) => {
|
|
41829
|
-
const cat = comp.category || "Other";
|
|
41830
|
-
if (!acc[cat]) acc[cat] = [];
|
|
41831
|
-
acc[cat].push(comp);
|
|
41832
|
-
return acc;
|
|
41833
|
-
}, {});
|
|
41834
|
-
const toggleComponent = useCallback10(
|
|
41835
|
-
(stageId, compName) => {
|
|
41836
|
-
if (submitted || !isLatestMessage) return;
|
|
41837
|
-
setSelections((prev) => {
|
|
41838
|
-
const updated = { ...prev };
|
|
41839
|
-
const set = new Set(updated[stageId] || []);
|
|
41840
|
-
if (set.has(compName)) {
|
|
41841
|
-
set.delete(compName);
|
|
41842
|
-
} else {
|
|
41843
|
-
set.add(compName);
|
|
41844
|
-
}
|
|
41845
|
-
updated[stageId] = set;
|
|
41846
|
-
return updated;
|
|
41847
|
-
});
|
|
41848
|
-
},
|
|
41849
|
-
[submitted]
|
|
41850
|
-
);
|
|
41851
|
-
const selectAll = useCallback10(
|
|
41852
|
-
(stageId) => {
|
|
41853
|
-
if (submitted || !isLatestMessage) return;
|
|
41854
|
-
setSelections((prev) => {
|
|
41855
|
-
const updated = { ...prev };
|
|
41856
|
-
updated[stageId] = new Set(components.map((c) => c.name));
|
|
41857
|
-
return updated;
|
|
41858
|
-
});
|
|
41859
|
-
},
|
|
41860
|
-
[submitted, isLatestMessage, components]
|
|
41861
|
-
);
|
|
41862
|
-
const clearAll = useCallback10(
|
|
41863
|
-
(stageId) => {
|
|
41864
|
-
if (submitted || !isLatestMessage) return;
|
|
41865
|
-
setSelections((prev) => {
|
|
41866
|
-
const updated = { ...prev };
|
|
41867
|
-
updated[stageId] = /* @__PURE__ */ new Set();
|
|
41868
|
-
return updated;
|
|
41869
|
-
});
|
|
41870
|
-
},
|
|
41871
|
-
[submitted, isLatestMessage]
|
|
41872
|
-
);
|
|
41873
|
-
const handleContinue = useCallback10(() => {
|
|
41874
|
-
setSubmitted(true);
|
|
41875
|
-
if (onSelect) {
|
|
41876
|
-
const result = {};
|
|
41877
|
-
for (const [stageId, set] of Object.entries(selections)) {
|
|
41878
|
-
result[stageId] = Array.from(set);
|
|
41879
|
-
}
|
|
41880
|
-
onSelect(result);
|
|
41881
|
-
}
|
|
41882
|
-
}, [onSelect, selections]);
|
|
41883
|
-
const activeStage = stages.find((s) => s.id === activeStageId);
|
|
41884
|
-
return /* @__PURE__ */ jsxs116(
|
|
41885
|
-
"div",
|
|
41886
|
-
{
|
|
41887
|
-
className: cn(
|
|
41888
|
-
"my-3 rounded-xl border border-border bg-card overflow-hidden shadow-sm",
|
|
41889
|
-
className
|
|
41890
|
-
),
|
|
41891
|
-
style: FONT_STYLE9,
|
|
41892
|
-
children: [
|
|
41893
|
-
/* @__PURE__ */ jsx158("div", { className: "px-4 py-3 border-b border-border/60 bg-muted/40", children: /* @__PURE__ */ jsxs116("div", { className: "flex items-center gap-2", children: [
|
|
41894
|
-
/* @__PURE__ */ jsx158("div", { className: "w-5 h-5 rounded-md bg-interactive/15 flex items-center justify-center", children: /* @__PURE__ */ jsxs116(
|
|
41895
|
-
"svg",
|
|
41896
|
-
{
|
|
41897
|
-
width: "12",
|
|
41898
|
-
height: "12",
|
|
41899
|
-
viewBox: "0 0 24 24",
|
|
41900
|
-
fill: "none",
|
|
41901
|
-
stroke: "currentColor",
|
|
41902
|
-
strokeWidth: "2",
|
|
41903
|
-
className: "text-interactive",
|
|
41904
|
-
children: [
|
|
41905
|
-
/* @__PURE__ */ jsx158("rect", { x: "3", y: "3", width: "7", height: "7" }),
|
|
41906
|
-
/* @__PURE__ */ jsx158("rect", { x: "14", y: "3", width: "7", height: "7" }),
|
|
41907
|
-
/* @__PURE__ */ jsx158("rect", { x: "3", y: "14", width: "7", height: "7" }),
|
|
41908
|
-
/* @__PURE__ */ jsx158("rect", { x: "14", y: "14", width: "7", height: "7" })
|
|
41909
|
-
]
|
|
41910
|
-
}
|
|
41911
|
-
) }),
|
|
41912
|
-
/* @__PURE__ */ jsx158("span", { className: "text-xs font-semibold text-foreground", children: "UI Components per Stage" })
|
|
41913
|
-
] }) }),
|
|
41914
|
-
/* @__PURE__ */ jsx158("div", { className: "flex gap-1 border-b border-border/60 px-4 py-2 bg-muted/20", children: stages.map((stage) => /* @__PURE__ */ jsx158(
|
|
41915
|
-
"button",
|
|
41916
|
-
{
|
|
41917
|
-
onClick: () => setActiveStageId(stage.id),
|
|
41918
|
-
className: cn(
|
|
41919
|
-
"px-3 py-1.5 text-[11px] font-medium rounded-full transition-colors",
|
|
41920
|
-
activeStageId === stage.id ? "bg-interactive text-white" : "text-muted-foreground hover:text-foreground hover:bg-muted"
|
|
41921
|
-
),
|
|
41922
|
-
children: stage.name
|
|
41923
|
-
},
|
|
41924
|
-
stage.id
|
|
41925
|
-
)) }),
|
|
41926
|
-
/* @__PURE__ */ jsxs116("div", { className: "px-4 py-3", children: [
|
|
41927
|
-
activeStage && /* @__PURE__ */ jsxs116("div", { className: "flex items-center justify-between mb-3", children: [
|
|
41928
|
-
/* @__PURE__ */ jsxs116("p", { className: "text-[10px] text-muted-foreground", children: [
|
|
41929
|
-
"Select components for ",
|
|
41930
|
-
/* @__PURE__ */ jsx158("strong", { className: "text-foreground", children: activeStage.name }),
|
|
41931
|
-
" (",
|
|
41932
|
-
activeStage.agent_name,
|
|
41933
|
-
")"
|
|
41934
|
-
] }),
|
|
41935
|
-
!submitted && isLatestMessage && /* @__PURE__ */ jsxs116("div", { className: "flex items-center gap-2", children: [
|
|
41936
|
-
/* @__PURE__ */ jsx158(
|
|
41937
|
-
"button",
|
|
41938
|
-
{
|
|
41939
|
-
onClick: () => selectAll(activeStageId),
|
|
41940
|
-
className: "text-[10px] text-interactive hover:underline font-medium",
|
|
41941
|
-
children: "Select All"
|
|
41942
|
-
}
|
|
41943
|
-
),
|
|
41944
|
-
/* @__PURE__ */ jsx158("span", { className: "text-muted-foreground/40", children: "|" }),
|
|
41945
|
-
/* @__PURE__ */ jsx158(
|
|
41946
|
-
"button",
|
|
41947
|
-
{
|
|
41948
|
-
onClick: () => clearAll(activeStageId),
|
|
41949
|
-
className: "text-[10px] text-muted-foreground hover:text-foreground font-medium",
|
|
41950
|
-
children: "Clear"
|
|
41951
|
-
}
|
|
41952
|
-
)
|
|
41953
|
-
] })
|
|
41954
|
-
] }),
|
|
41955
|
-
Object.entries(grouped).map(([category, comps]) => /* @__PURE__ */ jsxs116("div", { className: "mb-3", children: [
|
|
41956
|
-
/* @__PURE__ */ jsx158("p", { className: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wide mb-1.5", children: category }),
|
|
41957
|
-
/* @__PURE__ */ jsx158("div", { className: "grid grid-cols-2 gap-1.5", children: comps.map((comp) => {
|
|
41958
|
-
const isSelected = selections[activeStageId]?.has(comp.name) || false;
|
|
41959
|
-
return /* @__PURE__ */ jsxs116(
|
|
41960
|
-
"div",
|
|
41961
|
-
{
|
|
41962
|
-
role: "button",
|
|
41963
|
-
tabIndex: 0,
|
|
41964
|
-
onClick: () => toggleComponent(activeStageId, comp.name),
|
|
41965
|
-
onKeyDown: (e) => {
|
|
41966
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
41967
|
-
e.preventDefault();
|
|
41968
|
-
toggleComponent(activeStageId, comp.name);
|
|
41969
|
-
}
|
|
41970
|
-
},
|
|
41971
|
-
className: cn(
|
|
41972
|
-
"text-left p-2.5 rounded-lg border text-[11px] transition-all overflow-hidden cursor-pointer",
|
|
41973
|
-
isSelected ? "border-interactive bg-interactive/5" : "border-border hover:border-interactive/50",
|
|
41974
|
-
(submitted || !isLatestMessage) && "opacity-60 cursor-default"
|
|
41975
|
-
),
|
|
41976
|
-
children: [
|
|
41977
|
-
/* @__PURE__ */ jsxs116("div", { className: "flex items-center gap-1.5", children: [
|
|
41978
|
-
/* @__PURE__ */ jsx158(
|
|
41979
|
-
"div",
|
|
41980
|
-
{
|
|
41981
|
-
className: cn(
|
|
41982
|
-
"w-3.5 h-3.5 rounded border flex items-center justify-center shrink-0",
|
|
41983
|
-
isSelected ? "bg-interactive border-interactive" : "border-muted-foreground/30"
|
|
41984
|
-
),
|
|
41985
|
-
children: isSelected && /* @__PURE__ */ jsx158(
|
|
41986
|
-
"svg",
|
|
41987
|
-
{
|
|
41988
|
-
width: "8",
|
|
41989
|
-
height: "8",
|
|
41990
|
-
viewBox: "0 0 24 24",
|
|
41991
|
-
fill: "none",
|
|
41992
|
-
stroke: "white",
|
|
41993
|
-
strokeWidth: "3",
|
|
41994
|
-
children: /* @__PURE__ */ jsx158("polyline", { points: "20 6 9 17 4 12" })
|
|
41995
|
-
}
|
|
41996
|
-
)
|
|
41997
|
-
}
|
|
41998
|
-
),
|
|
41999
|
-
/* @__PURE__ */ jsx158("span", { className: "font-medium text-foreground", children: comp.display_name }),
|
|
42000
|
-
comp.recommended && /* @__PURE__ */ jsx158("span", { className: "px-1 py-px text-[8px] font-semibold uppercase tracking-wider rounded-full bg-emerald-500/10 text-emerald-600 border border-emerald-500/20 leading-tight", children: "Rec" }),
|
|
42001
|
-
onPreview && /* @__PURE__ */ jsx158(
|
|
42002
|
-
"button",
|
|
42003
|
-
{
|
|
42004
|
-
type: "button",
|
|
42005
|
-
onClick: (e) => {
|
|
42006
|
-
e.stopPropagation();
|
|
42007
|
-
onPreview(comp.name);
|
|
42008
|
-
},
|
|
42009
|
-
className: "ml-auto shrink-0 p-0.5 rounded hover:bg-muted transition-colors",
|
|
42010
|
-
title: `Preview ${comp.display_name}`,
|
|
42011
|
-
children: /* @__PURE__ */ jsxs116(
|
|
42012
|
-
"svg",
|
|
42013
|
-
{
|
|
42014
|
-
width: "14",
|
|
42015
|
-
height: "14",
|
|
42016
|
-
viewBox: "0 0 24 24",
|
|
42017
|
-
fill: "none",
|
|
42018
|
-
stroke: "currentColor",
|
|
42019
|
-
strokeWidth: "2",
|
|
42020
|
-
strokeLinecap: "round",
|
|
42021
|
-
strokeLinejoin: "round",
|
|
42022
|
-
className: "text-muted-foreground hover:text-primary",
|
|
42023
|
-
children: [
|
|
42024
|
-
/* @__PURE__ */ jsx158("circle", { cx: "12", cy: "12", r: "10" }),
|
|
42025
|
-
/* @__PURE__ */ jsx158("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
|
|
42026
|
-
/* @__PURE__ */ jsx158("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
|
|
42027
|
-
]
|
|
42028
|
-
}
|
|
42029
|
-
)
|
|
42030
|
-
}
|
|
42031
|
-
)
|
|
42032
|
-
] }),
|
|
42033
|
-
/* @__PURE__ */ jsx158("p", { className: "text-[10px] text-muted-foreground mt-0.5 ml-5 whitespace-normal", children: comp.description })
|
|
42034
|
-
]
|
|
42035
|
-
},
|
|
42036
|
-
comp.name
|
|
42037
|
-
);
|
|
42038
|
-
}) })
|
|
42039
|
-
] }, category))
|
|
42040
|
-
] }),
|
|
42041
|
-
!submitted && isLatestMessage && /* @__PURE__ */ jsx158("div", { className: "px-4 py-3 border-t border-border/60 bg-muted/30", children: /* @__PURE__ */ jsx158(
|
|
42042
|
-
"button",
|
|
42043
|
-
{
|
|
42044
|
-
onClick: handleContinue,
|
|
42045
|
-
className: "w-full py-2 rounded-lg bg-interactive text-white text-xs font-medium hover:opacity-90 transition-opacity",
|
|
42046
|
-
children: "Continue"
|
|
42047
|
-
}
|
|
42048
|
-
) }),
|
|
42049
|
-
submitted && /* @__PURE__ */ jsx158("div", { className: "px-4 pb-3", children: /* @__PURE__ */ jsx158("div", { className: "text-[10px] text-emerald-600 font-medium text-center py-1.5", children: "Selections confirmed" }) })
|
|
42050
|
-
]
|
|
42051
|
-
}
|
|
42052
|
-
);
|
|
42053
|
-
};
|
|
42054
|
-
|
|
42055
|
-
// src/molecules/workstream-builder/StageIndicator/StageIndicator.tsx
|
|
42056
|
-
import { jsx as jsx159, jsxs as jsxs117 } from "react/jsx-runtime";
|
|
42057
|
-
var FONT_STYLE10 = {
|
|
42058
|
-
fontFamily: "Inter, system-ui, sans-serif"
|
|
42059
|
-
};
|
|
42060
|
-
var StageIndicator = ({
|
|
42061
|
-
stage_name,
|
|
42062
|
-
agent_name,
|
|
42063
|
-
className
|
|
42064
|
-
}) => {
|
|
42065
|
-
return /* @__PURE__ */ jsxs117(
|
|
42066
|
-
"div",
|
|
42067
|
-
{
|
|
42068
|
-
className: cn(
|
|
42069
|
-
"flex items-center gap-3 my-4",
|
|
42070
|
-
className
|
|
42071
|
-
),
|
|
42072
|
-
style: { ...FONT_STYLE10, animation: "fadeIn 0.3s ease-out" },
|
|
42073
|
-
children: [
|
|
42074
|
-
/* @__PURE__ */ jsx159("div", { className: "flex-1 h-px bg-[var(--border-color)]" }),
|
|
42075
|
-
/* @__PURE__ */ jsxs117("div", { className: "flex items-center gap-1.5 px-3 py-1 rounded-full bg-violet-500/10 border border-violet-500/20", children: [
|
|
42076
|
-
/* @__PURE__ */ jsx159("div", { className: "w-1.5 h-1.5 rounded-full bg-violet-500 animate-pulse" }),
|
|
42077
|
-
/* @__PURE__ */ jsx159("span", { className: "text-[10px] font-medium text-violet-600", children: stage_name || agent_name })
|
|
42078
|
-
] }),
|
|
42079
|
-
/* @__PURE__ */ jsx159("div", { className: "flex-1 h-px bg-[var(--border-color)]" })
|
|
42080
|
-
]
|
|
42081
|
-
}
|
|
42082
|
-
);
|
|
42083
|
-
};
|
|
42084
|
-
|
|
42085
40774
|
// src/components/ui/index.ts
|
|
42086
40775
|
var ui_exports = {};
|
|
42087
40776
|
__export(ui_exports, {
|
|
@@ -42374,7 +41063,7 @@ __export(ui_exports, {
|
|
|
42374
41063
|
// src/components/ui/button-group.tsx
|
|
42375
41064
|
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
|
42376
41065
|
import { cva as cva8 } from "class-variance-authority";
|
|
42377
|
-
import { jsx as
|
|
41066
|
+
import { jsx as jsx150 } from "react/jsx-runtime";
|
|
42378
41067
|
var buttonGroupVariants = cva8(
|
|
42379
41068
|
"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",
|
|
42380
41069
|
{
|
|
@@ -42394,7 +41083,7 @@ function ButtonGroup({
|
|
|
42394
41083
|
orientation,
|
|
42395
41084
|
...props
|
|
42396
41085
|
}) {
|
|
42397
|
-
return /* @__PURE__ */
|
|
41086
|
+
return /* @__PURE__ */ jsx150(
|
|
42398
41087
|
"div",
|
|
42399
41088
|
{
|
|
42400
41089
|
role: "group",
|
|
@@ -42411,7 +41100,7 @@ function ButtonGroupText({
|
|
|
42411
41100
|
...props
|
|
42412
41101
|
}) {
|
|
42413
41102
|
const Comp = asChild ? Slot4 : "div";
|
|
42414
|
-
return /* @__PURE__ */
|
|
41103
|
+
return /* @__PURE__ */ jsx150(
|
|
42415
41104
|
Comp,
|
|
42416
41105
|
{
|
|
42417
41106
|
className: cn(
|
|
@@ -42427,7 +41116,7 @@ function ButtonGroupSeparator({
|
|
|
42427
41116
|
orientation = "vertical",
|
|
42428
41117
|
...props
|
|
42429
41118
|
}) {
|
|
42430
|
-
return /* @__PURE__ */
|
|
41119
|
+
return /* @__PURE__ */ jsx150(
|
|
42431
41120
|
Separator2,
|
|
42432
41121
|
{
|
|
42433
41122
|
"data-slot": "button-group-separator",
|
|
@@ -42443,9 +41132,9 @@ function ButtonGroupSeparator({
|
|
|
42443
41132
|
|
|
42444
41133
|
// src/components/ui/empty.tsx
|
|
42445
41134
|
import { cva as cva9 } from "class-variance-authority";
|
|
42446
|
-
import { jsx as
|
|
41135
|
+
import { jsx as jsx151 } from "react/jsx-runtime";
|
|
42447
41136
|
function Empty({ className, ...props }) {
|
|
42448
|
-
return /* @__PURE__ */
|
|
41137
|
+
return /* @__PURE__ */ jsx151(
|
|
42449
41138
|
"div",
|
|
42450
41139
|
{
|
|
42451
41140
|
"data-slot": "empty",
|
|
@@ -42458,7 +41147,7 @@ function Empty({ className, ...props }) {
|
|
|
42458
41147
|
);
|
|
42459
41148
|
}
|
|
42460
41149
|
function EmptyHeader({ className, ...props }) {
|
|
42461
|
-
return /* @__PURE__ */
|
|
41150
|
+
return /* @__PURE__ */ jsx151(
|
|
42462
41151
|
"div",
|
|
42463
41152
|
{
|
|
42464
41153
|
"data-slot": "empty-header",
|
|
@@ -42489,7 +41178,7 @@ function EmptyMedia({
|
|
|
42489
41178
|
variant = "default",
|
|
42490
41179
|
...props
|
|
42491
41180
|
}) {
|
|
42492
|
-
return /* @__PURE__ */
|
|
41181
|
+
return /* @__PURE__ */ jsx151(
|
|
42493
41182
|
"div",
|
|
42494
41183
|
{
|
|
42495
41184
|
"data-slot": "empty-icon",
|
|
@@ -42500,7 +41189,7 @@ function EmptyMedia({
|
|
|
42500
41189
|
);
|
|
42501
41190
|
}
|
|
42502
41191
|
function EmptyTitle({ className, ...props }) {
|
|
42503
|
-
return /* @__PURE__ */
|
|
41192
|
+
return /* @__PURE__ */ jsx151(
|
|
42504
41193
|
"div",
|
|
42505
41194
|
{
|
|
42506
41195
|
"data-slot": "empty-title",
|
|
@@ -42510,7 +41199,7 @@ function EmptyTitle({ className, ...props }) {
|
|
|
42510
41199
|
);
|
|
42511
41200
|
}
|
|
42512
41201
|
function EmptyDescription({ className, ...props }) {
|
|
42513
|
-
return /* @__PURE__ */
|
|
41202
|
+
return /* @__PURE__ */ jsx151(
|
|
42514
41203
|
"div",
|
|
42515
41204
|
{
|
|
42516
41205
|
"data-slot": "empty-description",
|
|
@@ -42523,7 +41212,7 @@ function EmptyDescription({ className, ...props }) {
|
|
|
42523
41212
|
);
|
|
42524
41213
|
}
|
|
42525
41214
|
function EmptyContent({ className, ...props }) {
|
|
42526
|
-
return /* @__PURE__ */
|
|
41215
|
+
return /* @__PURE__ */ jsx151(
|
|
42527
41216
|
"div",
|
|
42528
41217
|
{
|
|
42529
41218
|
"data-slot": "empty-content",
|
|
@@ -42539,9 +41228,9 @@ function EmptyContent({ className, ...props }) {
|
|
|
42539
41228
|
// src/components/ui/field.tsx
|
|
42540
41229
|
import { useMemo as useMemo11 } from "react";
|
|
42541
41230
|
import { cva as cva10 } from "class-variance-authority";
|
|
42542
|
-
import { jsx as
|
|
41231
|
+
import { jsx as jsx152, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
42543
41232
|
function FieldSet({ className, ...props }) {
|
|
42544
|
-
return /* @__PURE__ */
|
|
41233
|
+
return /* @__PURE__ */ jsx152(
|
|
42545
41234
|
"fieldset",
|
|
42546
41235
|
{
|
|
42547
41236
|
"data-slot": "field-set",
|
|
@@ -42559,7 +41248,7 @@ function FieldLegend({
|
|
|
42559
41248
|
variant = "legend",
|
|
42560
41249
|
...props
|
|
42561
41250
|
}) {
|
|
42562
|
-
return /* @__PURE__ */
|
|
41251
|
+
return /* @__PURE__ */ jsx152(
|
|
42563
41252
|
"legend",
|
|
42564
41253
|
{
|
|
42565
41254
|
"data-slot": "field-legend",
|
|
@@ -42575,7 +41264,7 @@ function FieldLegend({
|
|
|
42575
41264
|
);
|
|
42576
41265
|
}
|
|
42577
41266
|
function FieldGroup({ className, ...props }) {
|
|
42578
|
-
return /* @__PURE__ */
|
|
41267
|
+
return /* @__PURE__ */ jsx152(
|
|
42579
41268
|
"div",
|
|
42580
41269
|
{
|
|
42581
41270
|
"data-slot": "field-group",
|
|
@@ -42615,7 +41304,7 @@ function Field({
|
|
|
42615
41304
|
orientation = "vertical",
|
|
42616
41305
|
...props
|
|
42617
41306
|
}) {
|
|
42618
|
-
return /* @__PURE__ */
|
|
41307
|
+
return /* @__PURE__ */ jsx152(
|
|
42619
41308
|
"div",
|
|
42620
41309
|
{
|
|
42621
41310
|
role: "group",
|
|
@@ -42627,7 +41316,7 @@ function Field({
|
|
|
42627
41316
|
);
|
|
42628
41317
|
}
|
|
42629
41318
|
function FieldContent({ className, ...props }) {
|
|
42630
|
-
return /* @__PURE__ */
|
|
41319
|
+
return /* @__PURE__ */ jsx152(
|
|
42631
41320
|
"div",
|
|
42632
41321
|
{
|
|
42633
41322
|
"data-slot": "field-content",
|
|
@@ -42643,7 +41332,7 @@ function FieldLabel({
|
|
|
42643
41332
|
className,
|
|
42644
41333
|
...props
|
|
42645
41334
|
}) {
|
|
42646
|
-
return /* @__PURE__ */
|
|
41335
|
+
return /* @__PURE__ */ jsx152(
|
|
42647
41336
|
Label,
|
|
42648
41337
|
{
|
|
42649
41338
|
"data-slot": "field-label",
|
|
@@ -42658,7 +41347,7 @@ function FieldLabel({
|
|
|
42658
41347
|
);
|
|
42659
41348
|
}
|
|
42660
41349
|
function FieldTitle({ className, ...props }) {
|
|
42661
|
-
return /* @__PURE__ */
|
|
41350
|
+
return /* @__PURE__ */ jsx152(
|
|
42662
41351
|
"div",
|
|
42663
41352
|
{
|
|
42664
41353
|
"data-slot": "field-label",
|
|
@@ -42671,7 +41360,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
42671
41360
|
);
|
|
42672
41361
|
}
|
|
42673
41362
|
function FieldDescription({ className, ...props }) {
|
|
42674
|
-
return /* @__PURE__ */
|
|
41363
|
+
return /* @__PURE__ */ jsx152(
|
|
42675
41364
|
"p",
|
|
42676
41365
|
{
|
|
42677
41366
|
"data-slot": "field-description",
|
|
@@ -42690,7 +41379,7 @@ function FieldSeparator({
|
|
|
42690
41379
|
className,
|
|
42691
41380
|
...props
|
|
42692
41381
|
}) {
|
|
42693
|
-
return /* @__PURE__ */
|
|
41382
|
+
return /* @__PURE__ */ jsxs108(
|
|
42694
41383
|
"div",
|
|
42695
41384
|
{
|
|
42696
41385
|
"data-slot": "field-separator",
|
|
@@ -42701,8 +41390,8 @@ function FieldSeparator({
|
|
|
42701
41390
|
),
|
|
42702
41391
|
...props,
|
|
42703
41392
|
children: [
|
|
42704
|
-
/* @__PURE__ */
|
|
42705
|
-
children && /* @__PURE__ */
|
|
41393
|
+
/* @__PURE__ */ jsx152(Separator2, { className: "absolute inset-0 top-1/2" }),
|
|
41394
|
+
children && /* @__PURE__ */ jsx152(
|
|
42706
41395
|
"span",
|
|
42707
41396
|
{
|
|
42708
41397
|
className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
|
|
@@ -42730,14 +41419,14 @@ function FieldError({
|
|
|
42730
41419
|
if (errors?.length === 1 && errors[0]?.message) {
|
|
42731
41420
|
return errors[0].message;
|
|
42732
41421
|
}
|
|
42733
|
-
return /* @__PURE__ */
|
|
42734
|
-
(error, index) => error?.message && /* @__PURE__ */
|
|
41422
|
+
return /* @__PURE__ */ jsx152("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
|
|
41423
|
+
(error, index) => error?.message && /* @__PURE__ */ jsx152("li", { children: error.message }, index)
|
|
42735
41424
|
) });
|
|
42736
41425
|
}, [children, errors]);
|
|
42737
41426
|
if (!content) {
|
|
42738
41427
|
return null;
|
|
42739
41428
|
}
|
|
42740
|
-
return /* @__PURE__ */
|
|
41429
|
+
return /* @__PURE__ */ jsx152(
|
|
42741
41430
|
"div",
|
|
42742
41431
|
{
|
|
42743
41432
|
role: "alert",
|
|
@@ -42751,9 +41440,9 @@ function FieldError({
|
|
|
42751
41440
|
|
|
42752
41441
|
// src/components/ui/input-group.tsx
|
|
42753
41442
|
import { cva as cva11 } from "class-variance-authority";
|
|
42754
|
-
import { jsx as
|
|
41443
|
+
import { jsx as jsx153 } from "react/jsx-runtime";
|
|
42755
41444
|
function InputGroup({ className, ...props }) {
|
|
42756
|
-
return /* @__PURE__ */
|
|
41445
|
+
return /* @__PURE__ */ jsx153(
|
|
42757
41446
|
"div",
|
|
42758
41447
|
{
|
|
42759
41448
|
"data-slot": "input-group",
|
|
@@ -42797,7 +41486,7 @@ function InputGroupAddon({
|
|
|
42797
41486
|
align = "inline-start",
|
|
42798
41487
|
...props
|
|
42799
41488
|
}) {
|
|
42800
|
-
return /* @__PURE__ */
|
|
41489
|
+
return /* @__PURE__ */ jsx153(
|
|
42801
41490
|
"div",
|
|
42802
41491
|
{
|
|
42803
41492
|
role: "group",
|
|
@@ -42837,7 +41526,7 @@ function InputGroupButton({
|
|
|
42837
41526
|
size = "xs",
|
|
42838
41527
|
...props
|
|
42839
41528
|
}) {
|
|
42840
|
-
return /* @__PURE__ */
|
|
41529
|
+
return /* @__PURE__ */ jsx153(
|
|
42841
41530
|
Button,
|
|
42842
41531
|
{
|
|
42843
41532
|
type,
|
|
@@ -42849,7 +41538,7 @@ function InputGroupButton({
|
|
|
42849
41538
|
);
|
|
42850
41539
|
}
|
|
42851
41540
|
function InputGroupText({ className, ...props }) {
|
|
42852
|
-
return /* @__PURE__ */
|
|
41541
|
+
return /* @__PURE__ */ jsx153(
|
|
42853
41542
|
"span",
|
|
42854
41543
|
{
|
|
42855
41544
|
className: cn(
|
|
@@ -42864,7 +41553,7 @@ function InputGroupInput({
|
|
|
42864
41553
|
className,
|
|
42865
41554
|
...props
|
|
42866
41555
|
}) {
|
|
42867
|
-
return /* @__PURE__ */
|
|
41556
|
+
return /* @__PURE__ */ jsx153(
|
|
42868
41557
|
Input,
|
|
42869
41558
|
{
|
|
42870
41559
|
"data-slot": "input-group-control",
|
|
@@ -42880,7 +41569,7 @@ function InputGroupTextarea({
|
|
|
42880
41569
|
className,
|
|
42881
41570
|
...props
|
|
42882
41571
|
}) {
|
|
42883
|
-
return /* @__PURE__ */
|
|
41572
|
+
return /* @__PURE__ */ jsx153(
|
|
42884
41573
|
Textarea,
|
|
42885
41574
|
{
|
|
42886
41575
|
"data-slot": "input-group-control",
|
|
@@ -42896,9 +41585,9 @@ function InputGroupTextarea({
|
|
|
42896
41585
|
// src/components/ui/item.tsx
|
|
42897
41586
|
import { Slot as Slot5 } from "@radix-ui/react-slot";
|
|
42898
41587
|
import { cva as cva12 } from "class-variance-authority";
|
|
42899
|
-
import { jsx as
|
|
41588
|
+
import { jsx as jsx154 } from "react/jsx-runtime";
|
|
42900
41589
|
function ItemGroup({ className, ...props }) {
|
|
42901
|
-
return /* @__PURE__ */
|
|
41590
|
+
return /* @__PURE__ */ jsx154(
|
|
42902
41591
|
"div",
|
|
42903
41592
|
{
|
|
42904
41593
|
role: "list",
|
|
@@ -42912,7 +41601,7 @@ function ItemSeparator({
|
|
|
42912
41601
|
className,
|
|
42913
41602
|
...props
|
|
42914
41603
|
}) {
|
|
42915
|
-
return /* @__PURE__ */
|
|
41604
|
+
return /* @__PURE__ */ jsx154(
|
|
42916
41605
|
Separator2,
|
|
42917
41606
|
{
|
|
42918
41607
|
"data-slot": "item-separator",
|
|
@@ -42950,7 +41639,7 @@ function Item8({
|
|
|
42950
41639
|
...props
|
|
42951
41640
|
}) {
|
|
42952
41641
|
const Comp = asChild ? Slot5 : "div";
|
|
42953
|
-
return /* @__PURE__ */
|
|
41642
|
+
return /* @__PURE__ */ jsx154(
|
|
42954
41643
|
Comp,
|
|
42955
41644
|
{
|
|
42956
41645
|
"data-slot": "item",
|
|
@@ -42981,7 +41670,7 @@ function ItemMedia({
|
|
|
42981
41670
|
variant = "default",
|
|
42982
41671
|
...props
|
|
42983
41672
|
}) {
|
|
42984
|
-
return /* @__PURE__ */
|
|
41673
|
+
return /* @__PURE__ */ jsx154(
|
|
42985
41674
|
"div",
|
|
42986
41675
|
{
|
|
42987
41676
|
"data-slot": "item-media",
|
|
@@ -42992,7 +41681,7 @@ function ItemMedia({
|
|
|
42992
41681
|
);
|
|
42993
41682
|
}
|
|
42994
41683
|
function ItemContent({ className, ...props }) {
|
|
42995
|
-
return /* @__PURE__ */
|
|
41684
|
+
return /* @__PURE__ */ jsx154(
|
|
42996
41685
|
"div",
|
|
42997
41686
|
{
|
|
42998
41687
|
"data-slot": "item-content",
|
|
@@ -43005,7 +41694,7 @@ function ItemContent({ className, ...props }) {
|
|
|
43005
41694
|
);
|
|
43006
41695
|
}
|
|
43007
41696
|
function ItemTitle({ className, ...props }) {
|
|
43008
|
-
return /* @__PURE__ */
|
|
41697
|
+
return /* @__PURE__ */ jsx154(
|
|
43009
41698
|
"div",
|
|
43010
41699
|
{
|
|
43011
41700
|
"data-slot": "item-title",
|
|
@@ -43018,7 +41707,7 @@ function ItemTitle({ className, ...props }) {
|
|
|
43018
41707
|
);
|
|
43019
41708
|
}
|
|
43020
41709
|
function ItemDescription({ className, ...props }) {
|
|
43021
|
-
return /* @__PURE__ */
|
|
41710
|
+
return /* @__PURE__ */ jsx154(
|
|
43022
41711
|
"p",
|
|
43023
41712
|
{
|
|
43024
41713
|
"data-slot": "item-description",
|
|
@@ -43032,7 +41721,7 @@ function ItemDescription({ className, ...props }) {
|
|
|
43032
41721
|
);
|
|
43033
41722
|
}
|
|
43034
41723
|
function ItemActions({ className, ...props }) {
|
|
43035
|
-
return /* @__PURE__ */
|
|
41724
|
+
return /* @__PURE__ */ jsx154(
|
|
43036
41725
|
"div",
|
|
43037
41726
|
{
|
|
43038
41727
|
"data-slot": "item-actions",
|
|
@@ -43042,7 +41731,7 @@ function ItemActions({ className, ...props }) {
|
|
|
43042
41731
|
);
|
|
43043
41732
|
}
|
|
43044
41733
|
function ItemHeader({ className, ...props }) {
|
|
43045
|
-
return /* @__PURE__ */
|
|
41734
|
+
return /* @__PURE__ */ jsx154(
|
|
43046
41735
|
"div",
|
|
43047
41736
|
{
|
|
43048
41737
|
"data-slot": "item-header",
|
|
@@ -43055,7 +41744,7 @@ function ItemHeader({ className, ...props }) {
|
|
|
43055
41744
|
);
|
|
43056
41745
|
}
|
|
43057
41746
|
function ItemFooter({ className, ...props }) {
|
|
43058
|
-
return /* @__PURE__ */
|
|
41747
|
+
return /* @__PURE__ */ jsx154(
|
|
43059
41748
|
"div",
|
|
43060
41749
|
{
|
|
43061
41750
|
"data-slot": "item-footer",
|
|
@@ -43069,9 +41758,9 @@ function ItemFooter({ className, ...props }) {
|
|
|
43069
41758
|
}
|
|
43070
41759
|
|
|
43071
41760
|
// src/components/ui/kbd.tsx
|
|
43072
|
-
import { jsx as
|
|
41761
|
+
import { jsx as jsx155 } from "react/jsx-runtime";
|
|
43073
41762
|
function Kbd({ className, ...props }) {
|
|
43074
|
-
return /* @__PURE__ */
|
|
41763
|
+
return /* @__PURE__ */ jsx155(
|
|
43075
41764
|
"kbd",
|
|
43076
41765
|
{
|
|
43077
41766
|
"data-slot": "kbd",
|
|
@@ -43086,7 +41775,7 @@ function Kbd({ className, ...props }) {
|
|
|
43086
41775
|
);
|
|
43087
41776
|
}
|
|
43088
41777
|
function KbdGroup({ className, ...props }) {
|
|
43089
|
-
return /* @__PURE__ */
|
|
41778
|
+
return /* @__PURE__ */ jsx155(
|
|
43090
41779
|
"kbd",
|
|
43091
41780
|
{
|
|
43092
41781
|
"data-slot": "kbd-group",
|
|
@@ -43097,16 +41786,16 @@ function KbdGroup({ className, ...props }) {
|
|
|
43097
41786
|
}
|
|
43098
41787
|
|
|
43099
41788
|
// src/components/ui/sidebar.tsx
|
|
43100
|
-
import * as
|
|
41789
|
+
import * as React100 from "react";
|
|
43101
41790
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
43102
41791
|
import { cva as cva13 } from "class-variance-authority";
|
|
43103
41792
|
|
|
43104
41793
|
// src/hooks/use-mobile.tsx
|
|
43105
|
-
import * as
|
|
41794
|
+
import * as React99 from "react";
|
|
43106
41795
|
var MOBILE_BREAKPOINT = 768;
|
|
43107
41796
|
function useIsMobile() {
|
|
43108
|
-
const [isMobile, setIsMobile] =
|
|
43109
|
-
|
|
41797
|
+
const [isMobile, setIsMobile] = React99.useState(void 0);
|
|
41798
|
+
React99.useEffect(() => {
|
|
43110
41799
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
43111
41800
|
const onChange = () => {
|
|
43112
41801
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -43119,22 +41808,22 @@ function useIsMobile() {
|
|
|
43119
41808
|
}
|
|
43120
41809
|
|
|
43121
41810
|
// src/components/ui/sidebar.tsx
|
|
43122
|
-
import { jsx as
|
|
41811
|
+
import { jsx as jsx156, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
43123
41812
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
43124
41813
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
43125
41814
|
var SIDEBAR_WIDTH = "16rem";
|
|
43126
41815
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
43127
41816
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
43128
41817
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
43129
|
-
var SidebarContext =
|
|
41818
|
+
var SidebarContext = React100.createContext(null);
|
|
43130
41819
|
function useSidebar() {
|
|
43131
|
-
const context =
|
|
41820
|
+
const context = React100.useContext(SidebarContext);
|
|
43132
41821
|
if (!context) {
|
|
43133
41822
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
43134
41823
|
}
|
|
43135
41824
|
return context;
|
|
43136
41825
|
}
|
|
43137
|
-
var SidebarProvider =
|
|
41826
|
+
var SidebarProvider = React100.forwardRef(
|
|
43138
41827
|
({
|
|
43139
41828
|
defaultOpen = true,
|
|
43140
41829
|
open: openProp,
|
|
@@ -43145,10 +41834,10 @@ var SidebarProvider = React104.forwardRef(
|
|
|
43145
41834
|
...props
|
|
43146
41835
|
}, ref) => {
|
|
43147
41836
|
const isMobile = useIsMobile();
|
|
43148
|
-
const [openMobile, setOpenMobile] =
|
|
43149
|
-
const [_open, _setOpen] =
|
|
41837
|
+
const [openMobile, setOpenMobile] = React100.useState(false);
|
|
41838
|
+
const [_open, _setOpen] = React100.useState(defaultOpen);
|
|
43150
41839
|
const open = openProp ?? _open;
|
|
43151
|
-
const setOpen =
|
|
41840
|
+
const setOpen = React100.useCallback(
|
|
43152
41841
|
(value) => {
|
|
43153
41842
|
const openState = typeof value === "function" ? value(open) : value;
|
|
43154
41843
|
if (setOpenProp) {
|
|
@@ -43160,10 +41849,10 @@ var SidebarProvider = React104.forwardRef(
|
|
|
43160
41849
|
},
|
|
43161
41850
|
[setOpenProp, open]
|
|
43162
41851
|
);
|
|
43163
|
-
const toggleSidebar =
|
|
41852
|
+
const toggleSidebar = React100.useCallback(() => {
|
|
43164
41853
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
43165
41854
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
43166
|
-
|
|
41855
|
+
React100.useEffect(() => {
|
|
43167
41856
|
const handleKeyDown = (event) => {
|
|
43168
41857
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
43169
41858
|
event.preventDefault();
|
|
@@ -43174,7 +41863,7 @@ var SidebarProvider = React104.forwardRef(
|
|
|
43174
41863
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
43175
41864
|
}, [toggleSidebar]);
|
|
43176
41865
|
const state = open ? "expanded" : "collapsed";
|
|
43177
|
-
const contextValue =
|
|
41866
|
+
const contextValue = React100.useMemo(
|
|
43178
41867
|
() => ({
|
|
43179
41868
|
state,
|
|
43180
41869
|
open,
|
|
@@ -43186,7 +41875,7 @@ var SidebarProvider = React104.forwardRef(
|
|
|
43186
41875
|
}),
|
|
43187
41876
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
43188
41877
|
);
|
|
43189
|
-
return /* @__PURE__ */
|
|
41878
|
+
return /* @__PURE__ */ jsx156(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx156(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx156(
|
|
43190
41879
|
"div",
|
|
43191
41880
|
{
|
|
43192
41881
|
style: {
|
|
@@ -43206,7 +41895,7 @@ var SidebarProvider = React104.forwardRef(
|
|
|
43206
41895
|
}
|
|
43207
41896
|
);
|
|
43208
41897
|
SidebarProvider.displayName = "SidebarProvider";
|
|
43209
|
-
var Sidebar =
|
|
41898
|
+
var Sidebar = React100.forwardRef(
|
|
43210
41899
|
({
|
|
43211
41900
|
side = "left",
|
|
43212
41901
|
variant = "sidebar",
|
|
@@ -43217,7 +41906,7 @@ var Sidebar = React104.forwardRef(
|
|
|
43217
41906
|
}, ref) => {
|
|
43218
41907
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
43219
41908
|
if (collapsible === "none") {
|
|
43220
|
-
return /* @__PURE__ */
|
|
41909
|
+
return /* @__PURE__ */ jsx156(
|
|
43221
41910
|
"div",
|
|
43222
41911
|
{
|
|
43223
41912
|
className: cn(
|
|
@@ -43231,7 +41920,7 @@ var Sidebar = React104.forwardRef(
|
|
|
43231
41920
|
);
|
|
43232
41921
|
}
|
|
43233
41922
|
if (isMobile) {
|
|
43234
|
-
return /* @__PURE__ */
|
|
41923
|
+
return /* @__PURE__ */ jsx156(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs109(
|
|
43235
41924
|
SheetContent,
|
|
43236
41925
|
{
|
|
43237
41926
|
"data-sidebar": "sidebar",
|
|
@@ -43242,16 +41931,16 @@ var Sidebar = React104.forwardRef(
|
|
|
43242
41931
|
},
|
|
43243
41932
|
side,
|
|
43244
41933
|
children: [
|
|
43245
|
-
/* @__PURE__ */
|
|
43246
|
-
/* @__PURE__ */
|
|
43247
|
-
/* @__PURE__ */
|
|
41934
|
+
/* @__PURE__ */ jsxs109(SheetHeader, { className: "sr-only", children: [
|
|
41935
|
+
/* @__PURE__ */ jsx156(SheetTitle, { children: "Sidebar" }),
|
|
41936
|
+
/* @__PURE__ */ jsx156(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
43248
41937
|
] }),
|
|
43249
|
-
/* @__PURE__ */
|
|
41938
|
+
/* @__PURE__ */ jsx156("div", { className: "flex h-full w-full flex-col", children })
|
|
43250
41939
|
]
|
|
43251
41940
|
}
|
|
43252
41941
|
) });
|
|
43253
41942
|
}
|
|
43254
|
-
return /* @__PURE__ */
|
|
41943
|
+
return /* @__PURE__ */ jsxs109(
|
|
43255
41944
|
"div",
|
|
43256
41945
|
{
|
|
43257
41946
|
ref,
|
|
@@ -43261,7 +41950,7 @@ var Sidebar = React104.forwardRef(
|
|
|
43261
41950
|
"data-variant": variant,
|
|
43262
41951
|
"data-side": side,
|
|
43263
41952
|
children: [
|
|
43264
|
-
/* @__PURE__ */
|
|
41953
|
+
/* @__PURE__ */ jsx156(
|
|
43265
41954
|
"div",
|
|
43266
41955
|
{
|
|
43267
41956
|
className: cn(
|
|
@@ -43272,7 +41961,7 @@ var Sidebar = React104.forwardRef(
|
|
|
43272
41961
|
)
|
|
43273
41962
|
}
|
|
43274
41963
|
),
|
|
43275
|
-
/* @__PURE__ */
|
|
41964
|
+
/* @__PURE__ */ jsx156(
|
|
43276
41965
|
"div",
|
|
43277
41966
|
{
|
|
43278
41967
|
className: cn(
|
|
@@ -43283,7 +41972,7 @@ var Sidebar = React104.forwardRef(
|
|
|
43283
41972
|
className
|
|
43284
41973
|
),
|
|
43285
41974
|
...props,
|
|
43286
|
-
children: /* @__PURE__ */
|
|
41975
|
+
children: /* @__PURE__ */ jsx156(
|
|
43287
41976
|
"div",
|
|
43288
41977
|
{
|
|
43289
41978
|
"data-sidebar": "sidebar",
|
|
@@ -43299,9 +41988,9 @@ var Sidebar = React104.forwardRef(
|
|
|
43299
41988
|
}
|
|
43300
41989
|
);
|
|
43301
41990
|
Sidebar.displayName = "Sidebar";
|
|
43302
|
-
var SidebarTrigger =
|
|
41991
|
+
var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
|
|
43303
41992
|
const { toggleSidebar } = useSidebar();
|
|
43304
|
-
return /* @__PURE__ */
|
|
41993
|
+
return /* @__PURE__ */ jsxs109(
|
|
43305
41994
|
Button,
|
|
43306
41995
|
{
|
|
43307
41996
|
ref,
|
|
@@ -43315,16 +42004,16 @@ var SidebarTrigger = React104.forwardRef(({ className, onClick, ...props }, ref)
|
|
|
43315
42004
|
},
|
|
43316
42005
|
...props,
|
|
43317
42006
|
children: [
|
|
43318
|
-
/* @__PURE__ */
|
|
43319
|
-
/* @__PURE__ */
|
|
42007
|
+
/* @__PURE__ */ jsx156(PanelLeft, {}),
|
|
42008
|
+
/* @__PURE__ */ jsx156("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
43320
42009
|
]
|
|
43321
42010
|
}
|
|
43322
42011
|
);
|
|
43323
42012
|
});
|
|
43324
42013
|
SidebarTrigger.displayName = "SidebarTrigger";
|
|
43325
|
-
var SidebarRail =
|
|
42014
|
+
var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
|
|
43326
42015
|
const { toggleSidebar } = useSidebar();
|
|
43327
|
-
return /* @__PURE__ */
|
|
42016
|
+
return /* @__PURE__ */ jsx156(
|
|
43328
42017
|
"button",
|
|
43329
42018
|
{
|
|
43330
42019
|
ref,
|
|
@@ -43347,8 +42036,8 @@ var SidebarRail = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43347
42036
|
);
|
|
43348
42037
|
});
|
|
43349
42038
|
SidebarRail.displayName = "SidebarRail";
|
|
43350
|
-
var SidebarInset =
|
|
43351
|
-
return /* @__PURE__ */
|
|
42039
|
+
var SidebarInset = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42040
|
+
return /* @__PURE__ */ jsx156(
|
|
43352
42041
|
"main",
|
|
43353
42042
|
{
|
|
43354
42043
|
ref,
|
|
@@ -43362,8 +42051,8 @@ var SidebarInset = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43362
42051
|
);
|
|
43363
42052
|
});
|
|
43364
42053
|
SidebarInset.displayName = "SidebarInset";
|
|
43365
|
-
var SidebarInput =
|
|
43366
|
-
return /* @__PURE__ */
|
|
42054
|
+
var SidebarInput = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42055
|
+
return /* @__PURE__ */ jsx156(
|
|
43367
42056
|
Input,
|
|
43368
42057
|
{
|
|
43369
42058
|
ref,
|
|
@@ -43377,8 +42066,8 @@ var SidebarInput = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43377
42066
|
);
|
|
43378
42067
|
});
|
|
43379
42068
|
SidebarInput.displayName = "SidebarInput";
|
|
43380
|
-
var SidebarHeader =
|
|
43381
|
-
return /* @__PURE__ */
|
|
42069
|
+
var SidebarHeader = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42070
|
+
return /* @__PURE__ */ jsx156(
|
|
43382
42071
|
"div",
|
|
43383
42072
|
{
|
|
43384
42073
|
ref,
|
|
@@ -43389,8 +42078,8 @@ var SidebarHeader = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43389
42078
|
);
|
|
43390
42079
|
});
|
|
43391
42080
|
SidebarHeader.displayName = "SidebarHeader";
|
|
43392
|
-
var SidebarFooter =
|
|
43393
|
-
return /* @__PURE__ */
|
|
42081
|
+
var SidebarFooter = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42082
|
+
return /* @__PURE__ */ jsx156(
|
|
43394
42083
|
"div",
|
|
43395
42084
|
{
|
|
43396
42085
|
ref,
|
|
@@ -43401,8 +42090,8 @@ var SidebarFooter = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43401
42090
|
);
|
|
43402
42091
|
});
|
|
43403
42092
|
SidebarFooter.displayName = "SidebarFooter";
|
|
43404
|
-
var SidebarSeparator =
|
|
43405
|
-
return /* @__PURE__ */
|
|
42093
|
+
var SidebarSeparator = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42094
|
+
return /* @__PURE__ */ jsx156(
|
|
43406
42095
|
Separator2,
|
|
43407
42096
|
{
|
|
43408
42097
|
ref,
|
|
@@ -43413,8 +42102,8 @@ var SidebarSeparator = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43413
42102
|
);
|
|
43414
42103
|
});
|
|
43415
42104
|
SidebarSeparator.displayName = "SidebarSeparator";
|
|
43416
|
-
var SidebarContent =
|
|
43417
|
-
return /* @__PURE__ */
|
|
42105
|
+
var SidebarContent = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42106
|
+
return /* @__PURE__ */ jsx156(
|
|
43418
42107
|
"div",
|
|
43419
42108
|
{
|
|
43420
42109
|
ref,
|
|
@@ -43428,8 +42117,8 @@ var SidebarContent = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43428
42117
|
);
|
|
43429
42118
|
});
|
|
43430
42119
|
SidebarContent.displayName = "SidebarContent";
|
|
43431
|
-
var SidebarGroup =
|
|
43432
|
-
return /* @__PURE__ */
|
|
42120
|
+
var SidebarGroup = React100.forwardRef(({ className, ...props }, ref) => {
|
|
42121
|
+
return /* @__PURE__ */ jsx156(
|
|
43433
42122
|
"div",
|
|
43434
42123
|
{
|
|
43435
42124
|
ref,
|
|
@@ -43440,9 +42129,9 @@ var SidebarGroup = React104.forwardRef(({ className, ...props }, ref) => {
|
|
|
43440
42129
|
);
|
|
43441
42130
|
});
|
|
43442
42131
|
SidebarGroup.displayName = "SidebarGroup";
|
|
43443
|
-
var SidebarGroupLabel =
|
|
42132
|
+
var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
43444
42133
|
const Comp = asChild ? Slot6 : "div";
|
|
43445
|
-
return /* @__PURE__ */
|
|
42134
|
+
return /* @__PURE__ */ jsx156(
|
|
43446
42135
|
Comp,
|
|
43447
42136
|
{
|
|
43448
42137
|
ref,
|
|
@@ -43457,9 +42146,9 @@ var SidebarGroupLabel = React104.forwardRef(({ className, asChild = false, ...pr
|
|
|
43457
42146
|
);
|
|
43458
42147
|
});
|
|
43459
42148
|
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
|
43460
|
-
var SidebarGroupAction =
|
|
42149
|
+
var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
|
|
43461
42150
|
const Comp = asChild ? Slot6 : "button";
|
|
43462
|
-
return /* @__PURE__ */
|
|
42151
|
+
return /* @__PURE__ */ jsx156(
|
|
43463
42152
|
Comp,
|
|
43464
42153
|
{
|
|
43465
42154
|
ref,
|
|
@@ -43476,7 +42165,7 @@ var SidebarGroupAction = React104.forwardRef(({ className, asChild = false, ...p
|
|
|
43476
42165
|
);
|
|
43477
42166
|
});
|
|
43478
42167
|
SidebarGroupAction.displayName = "SidebarGroupAction";
|
|
43479
|
-
var SidebarGroupContent =
|
|
42168
|
+
var SidebarGroupContent = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx156(
|
|
43480
42169
|
"div",
|
|
43481
42170
|
{
|
|
43482
42171
|
ref,
|
|
@@ -43486,7 +42175,7 @@ var SidebarGroupContent = React104.forwardRef(({ className, ...props }, ref) =>
|
|
|
43486
42175
|
}
|
|
43487
42176
|
));
|
|
43488
42177
|
SidebarGroupContent.displayName = "SidebarGroupContent";
|
|
43489
|
-
var SidebarMenu =
|
|
42178
|
+
var SidebarMenu = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx156(
|
|
43490
42179
|
"ul",
|
|
43491
42180
|
{
|
|
43492
42181
|
ref,
|
|
@@ -43496,7 +42185,7 @@ var SidebarMenu = React104.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
43496
42185
|
}
|
|
43497
42186
|
));
|
|
43498
42187
|
SidebarMenu.displayName = "SidebarMenu";
|
|
43499
|
-
var SidebarMenuItem =
|
|
42188
|
+
var SidebarMenuItem = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx156(
|
|
43500
42189
|
"li",
|
|
43501
42190
|
{
|
|
43502
42191
|
ref,
|
|
@@ -43526,7 +42215,7 @@ var sidebarMenuButtonVariants = cva13(
|
|
|
43526
42215
|
}
|
|
43527
42216
|
}
|
|
43528
42217
|
);
|
|
43529
|
-
var SidebarMenuButton =
|
|
42218
|
+
var SidebarMenuButton = React100.forwardRef(
|
|
43530
42219
|
({
|
|
43531
42220
|
asChild = false,
|
|
43532
42221
|
isActive = false,
|
|
@@ -43538,7 +42227,7 @@ var SidebarMenuButton = React104.forwardRef(
|
|
|
43538
42227
|
}, ref) => {
|
|
43539
42228
|
const Comp = asChild ? Slot6 : "button";
|
|
43540
42229
|
const { isMobile, state } = useSidebar();
|
|
43541
|
-
const button = /* @__PURE__ */
|
|
42230
|
+
const button = /* @__PURE__ */ jsx156(
|
|
43542
42231
|
Comp,
|
|
43543
42232
|
{
|
|
43544
42233
|
ref,
|
|
@@ -43557,9 +42246,9 @@ var SidebarMenuButton = React104.forwardRef(
|
|
|
43557
42246
|
children: tooltip
|
|
43558
42247
|
};
|
|
43559
42248
|
}
|
|
43560
|
-
return /* @__PURE__ */
|
|
43561
|
-
/* @__PURE__ */
|
|
43562
|
-
/* @__PURE__ */
|
|
42249
|
+
return /* @__PURE__ */ jsxs109(Tooltip, { children: [
|
|
42250
|
+
/* @__PURE__ */ jsx156(TooltipTrigger, { asChild: true, children: button }),
|
|
42251
|
+
/* @__PURE__ */ jsx156(
|
|
43563
42252
|
TooltipContent,
|
|
43564
42253
|
{
|
|
43565
42254
|
side: "right",
|
|
@@ -43572,9 +42261,9 @@ var SidebarMenuButton = React104.forwardRef(
|
|
|
43572
42261
|
}
|
|
43573
42262
|
);
|
|
43574
42263
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
43575
|
-
var SidebarMenuAction =
|
|
42264
|
+
var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
|
|
43576
42265
|
const Comp = asChild ? Slot6 : "button";
|
|
43577
|
-
return /* @__PURE__ */
|
|
42266
|
+
return /* @__PURE__ */ jsx156(
|
|
43578
42267
|
Comp,
|
|
43579
42268
|
{
|
|
43580
42269
|
ref,
|
|
@@ -43595,7 +42284,7 @@ var SidebarMenuAction = React104.forwardRef(({ className, asChild = false, showO
|
|
|
43595
42284
|
);
|
|
43596
42285
|
});
|
|
43597
42286
|
SidebarMenuAction.displayName = "SidebarMenuAction";
|
|
43598
|
-
var SidebarMenuBadge =
|
|
42287
|
+
var SidebarMenuBadge = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx156(
|
|
43599
42288
|
"div",
|
|
43600
42289
|
{
|
|
43601
42290
|
ref,
|
|
@@ -43613,11 +42302,11 @@ var SidebarMenuBadge = React104.forwardRef(({ className, ...props }, ref) => /*
|
|
|
43613
42302
|
}
|
|
43614
42303
|
));
|
|
43615
42304
|
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
|
43616
|
-
var SidebarMenuSkeleton =
|
|
43617
|
-
const width =
|
|
42305
|
+
var SidebarMenuSkeleton = React100.forwardRef(({ className, showIcon = false, ...props }, ref) => {
|
|
42306
|
+
const width = React100.useMemo(() => {
|
|
43618
42307
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
43619
42308
|
}, []);
|
|
43620
|
-
return /* @__PURE__ */
|
|
42309
|
+
return /* @__PURE__ */ jsxs109(
|
|
43621
42310
|
"div",
|
|
43622
42311
|
{
|
|
43623
42312
|
ref,
|
|
@@ -43625,14 +42314,14 @@ var SidebarMenuSkeleton = React104.forwardRef(({ className, showIcon = false, ..
|
|
|
43625
42314
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
43626
42315
|
...props,
|
|
43627
42316
|
children: [
|
|
43628
|
-
showIcon && /* @__PURE__ */
|
|
42317
|
+
showIcon && /* @__PURE__ */ jsx156(
|
|
43629
42318
|
Skeleton,
|
|
43630
42319
|
{
|
|
43631
42320
|
className: "size-4 rounded-md",
|
|
43632
42321
|
"data-sidebar": "menu-skeleton-icon"
|
|
43633
42322
|
}
|
|
43634
42323
|
),
|
|
43635
|
-
/* @__PURE__ */
|
|
42324
|
+
/* @__PURE__ */ jsx156(
|
|
43636
42325
|
Skeleton,
|
|
43637
42326
|
{
|
|
43638
42327
|
className: "h-4 max-w-[--skeleton-width] flex-1",
|
|
@@ -43647,7 +42336,7 @@ var SidebarMenuSkeleton = React104.forwardRef(({ className, showIcon = false, ..
|
|
|
43647
42336
|
);
|
|
43648
42337
|
});
|
|
43649
42338
|
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
|
43650
|
-
var SidebarMenuSub =
|
|
42339
|
+
var SidebarMenuSub = React100.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx156(
|
|
43651
42340
|
"ul",
|
|
43652
42341
|
{
|
|
43653
42342
|
ref,
|
|
@@ -43661,11 +42350,11 @@ var SidebarMenuSub = React104.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
43661
42350
|
}
|
|
43662
42351
|
));
|
|
43663
42352
|
SidebarMenuSub.displayName = "SidebarMenuSub";
|
|
43664
|
-
var SidebarMenuSubItem =
|
|
42353
|
+
var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx156("li", { ref, ...props }));
|
|
43665
42354
|
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
|
43666
|
-
var SidebarMenuSubButton =
|
|
42355
|
+
var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
|
|
43667
42356
|
const Comp = asChild ? Slot6 : "a";
|
|
43668
|
-
return /* @__PURE__ */
|
|
42357
|
+
return /* @__PURE__ */ jsx156(
|
|
43669
42358
|
Comp,
|
|
43670
42359
|
{
|
|
43671
42360
|
ref,
|
|
@@ -43689,20 +42378,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
43689
42378
|
// src/components/ui/sonner.tsx
|
|
43690
42379
|
import { useTheme } from "next-themes";
|
|
43691
42380
|
import { Toaster as Sonner } from "sonner";
|
|
43692
|
-
import { jsx as
|
|
42381
|
+
import { jsx as jsx157 } from "react/jsx-runtime";
|
|
43693
42382
|
var Toaster = ({ ...props }) => {
|
|
43694
42383
|
const { theme = "system" } = useTheme();
|
|
43695
|
-
return /* @__PURE__ */
|
|
42384
|
+
return /* @__PURE__ */ jsx157(
|
|
43696
42385
|
Sonner,
|
|
43697
42386
|
{
|
|
43698
42387
|
theme,
|
|
43699
42388
|
className: "toaster group",
|
|
43700
42389
|
icons: {
|
|
43701
|
-
success: /* @__PURE__ */
|
|
43702
|
-
info: /* @__PURE__ */
|
|
43703
|
-
warning: /* @__PURE__ */
|
|
43704
|
-
error: /* @__PURE__ */
|
|
43705
|
-
loading: /* @__PURE__ */
|
|
42390
|
+
success: /* @__PURE__ */ jsx157(CircleCheck, { className: "h-4 w-4" }),
|
|
42391
|
+
info: /* @__PURE__ */ jsx157(Info, { className: "h-4 w-4" }),
|
|
42392
|
+
warning: /* @__PURE__ */ jsx157(TriangleAlert, { className: "h-4 w-4" }),
|
|
42393
|
+
error: /* @__PURE__ */ jsx157(OctagonX, { className: "h-4 w-4" }),
|
|
42394
|
+
loading: /* @__PURE__ */ jsx157(LoaderCircle, { className: "h-4 w-4 animate-spin" })
|
|
43706
42395
|
},
|
|
43707
42396
|
toastOptions: {
|
|
43708
42397
|
classNames: {
|
|
@@ -43718,26 +42407,26 @@ var Toaster = ({ ...props }) => {
|
|
|
43718
42407
|
};
|
|
43719
42408
|
|
|
43720
42409
|
// src/components/ui/toggle-group.tsx
|
|
43721
|
-
import * as
|
|
42410
|
+
import * as React101 from "react";
|
|
43722
42411
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
43723
|
-
import { jsx as
|
|
43724
|
-
var ToggleGroupContext =
|
|
42412
|
+
import { jsx as jsx158 } from "react/jsx-runtime";
|
|
42413
|
+
var ToggleGroupContext = React101.createContext({
|
|
43725
42414
|
size: "default",
|
|
43726
42415
|
variant: "default"
|
|
43727
42416
|
});
|
|
43728
|
-
var ToggleGroup =
|
|
42417
|
+
var ToggleGroup = React101.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx158(
|
|
43729
42418
|
ToggleGroupPrimitive.Root,
|
|
43730
42419
|
{
|
|
43731
42420
|
ref,
|
|
43732
42421
|
className: cn("flex items-center justify-center gap-1", className),
|
|
43733
42422
|
...props,
|
|
43734
|
-
children: /* @__PURE__ */
|
|
42423
|
+
children: /* @__PURE__ */ jsx158(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
43735
42424
|
}
|
|
43736
42425
|
));
|
|
43737
42426
|
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
43738
|
-
var ToggleGroupItem =
|
|
43739
|
-
const context =
|
|
43740
|
-
return /* @__PURE__ */
|
|
42427
|
+
var ToggleGroupItem = React101.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
42428
|
+
const context = React101.useContext(ToggleGroupContext);
|
|
42429
|
+
return /* @__PURE__ */ jsx158(
|
|
43741
42430
|
ToggleGroupPrimitive.Item,
|
|
43742
42431
|
{
|
|
43743
42432
|
ref,
|
|
@@ -43756,7 +42445,7 @@ var ToggleGroupItem = React105.forwardRef(({ className, children, variant, size,
|
|
|
43756
42445
|
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
43757
42446
|
|
|
43758
42447
|
// src/render/PXEngineRenderer.tsx
|
|
43759
|
-
import { jsx as
|
|
42448
|
+
import { jsx as jsx159, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
43760
42449
|
var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
|
|
43761
42450
|
// Form components - require FormField + FormItem context
|
|
43762
42451
|
"FormLabel",
|
|
@@ -43861,24 +42550,24 @@ var REGISTERED_COMPONENTS = /* @__PURE__ */ new Set([
|
|
|
43861
42550
|
]);
|
|
43862
42551
|
var renderContextDependentError = (componentName, normalizedName, key) => {
|
|
43863
42552
|
const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
|
|
43864
|
-
return /* @__PURE__ */
|
|
42553
|
+
return /* @__PURE__ */ jsxs110(
|
|
43865
42554
|
"div",
|
|
43866
42555
|
{
|
|
43867
42556
|
className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
|
|
43868
42557
|
children: [
|
|
43869
|
-
/* @__PURE__ */
|
|
43870
|
-
/* @__PURE__ */
|
|
43871
|
-
/* @__PURE__ */
|
|
43872
|
-
/* @__PURE__ */
|
|
42558
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex items-start gap-2", children: [
|
|
42559
|
+
/* @__PURE__ */ jsx159("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
|
|
42560
|
+
/* @__PURE__ */ jsxs110("div", { className: "flex-1", children: [
|
|
42561
|
+
/* @__PURE__ */ jsxs110("p", { className: "text-sm font-semibold text-amber-900", children: [
|
|
43873
42562
|
"Invalid Component: ",
|
|
43874
42563
|
componentName
|
|
43875
42564
|
] }),
|
|
43876
|
-
/* @__PURE__ */
|
|
42565
|
+
/* @__PURE__ */ jsx159("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
|
|
43877
42566
|
] })
|
|
43878
42567
|
] }),
|
|
43879
|
-
/* @__PURE__ */
|
|
43880
|
-
/* @__PURE__ */
|
|
43881
|
-
/* @__PURE__ */
|
|
42568
|
+
/* @__PURE__ */ jsxs110("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
|
|
42569
|
+
/* @__PURE__ */ jsx159("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
|
|
42570
|
+
/* @__PURE__ */ jsx159("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
|
|
43882
42571
|
] })
|
|
43883
42572
|
]
|
|
43884
42573
|
},
|
|
@@ -43956,12 +42645,12 @@ var PXEngineRenderer = ({
|
|
|
43956
42645
|
const root = schema.root || schema;
|
|
43957
42646
|
const renderRecursive = (component, index) => {
|
|
43958
42647
|
if (Array.isArray(component)) {
|
|
43959
|
-
return /* @__PURE__ */
|
|
42648
|
+
return /* @__PURE__ */ jsx159(React102.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
|
|
43960
42649
|
}
|
|
43961
42650
|
if (typeof component === "string" || typeof component === "number") {
|
|
43962
42651
|
return component;
|
|
43963
42652
|
}
|
|
43964
|
-
if (
|
|
42653
|
+
if (React102.isValidElement(component)) {
|
|
43965
42654
|
return component;
|
|
43966
42655
|
}
|
|
43967
42656
|
if (!component || typeof component !== "object") return null;
|
|
@@ -44040,7 +42729,7 @@ var PXEngineRenderer = ({
|
|
|
44040
42729
|
const isAtomWithRenderProp = ATOMS_WITH_RENDER.has(atomName);
|
|
44041
42730
|
const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
|
|
44042
42731
|
if (isAtomWithRenderProp) {
|
|
44043
|
-
return /* @__PURE__ */
|
|
42732
|
+
return /* @__PURE__ */ jsx159(
|
|
44044
42733
|
TargetComponent,
|
|
44045
42734
|
{
|
|
44046
42735
|
...finalProps,
|
|
@@ -44052,7 +42741,7 @@ var PXEngineRenderer = ({
|
|
|
44052
42741
|
uniqueKey
|
|
44053
42742
|
);
|
|
44054
42743
|
} else {
|
|
44055
|
-
return /* @__PURE__ */
|
|
42744
|
+
return /* @__PURE__ */ jsx159(
|
|
44056
42745
|
TargetComponent,
|
|
44057
42746
|
{
|
|
44058
42747
|
...finalProps,
|
|
@@ -44064,7 +42753,7 @@ var PXEngineRenderer = ({
|
|
|
44064
42753
|
);
|
|
44065
42754
|
}
|
|
44066
42755
|
};
|
|
44067
|
-
return /* @__PURE__ */
|
|
42756
|
+
return /* @__PURE__ */ jsx159("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
|
|
44068
42757
|
};
|
|
44069
42758
|
export {
|
|
44070
42759
|
Accordion,
|
|
@@ -44073,8 +42762,6 @@ export {
|
|
|
44073
42762
|
AccordionItem,
|
|
44074
42763
|
AccordionTrigger,
|
|
44075
42764
|
ActionButton,
|
|
44076
|
-
AgentCard,
|
|
44077
|
-
AgentDataTable,
|
|
44078
42765
|
Alert,
|
|
44079
42766
|
AlertAtom,
|
|
44080
42767
|
AlertDescription,
|
|
@@ -44233,7 +42920,6 @@ export {
|
|
|
44233
42920
|
InputOTPGroup,
|
|
44234
42921
|
InputOTPSeparator,
|
|
44235
42922
|
InputOTPSlot,
|
|
44236
|
-
InstructionPreview,
|
|
44237
42923
|
KbdAtom,
|
|
44238
42924
|
KeywordBundlesDisplay,
|
|
44239
42925
|
KeywordBundlesEdit,
|
|
@@ -44251,9 +42937,6 @@ export {
|
|
|
44251
42937
|
MenubarSeparator,
|
|
44252
42938
|
MenubarShortcut,
|
|
44253
42939
|
MenubarTrigger,
|
|
44254
|
-
MultiAgentCard,
|
|
44255
|
-
MultiAgentPlan,
|
|
44256
|
-
MultiAgentUISelector,
|
|
44257
42940
|
NavigationMenu,
|
|
44258
42941
|
NavigationMenuContent,
|
|
44259
42942
|
NavigationMenuItem,
|
|
@@ -44321,7 +43004,6 @@ export {
|
|
|
44321
43004
|
SocialPostCard,
|
|
44322
43005
|
Spinner,
|
|
44323
43006
|
SpinnerAtom,
|
|
44324
|
-
StageIndicator,
|
|
44325
43007
|
StatsGrid,
|
|
44326
43008
|
StepWizard,
|
|
44327
43009
|
Switch,
|
|
@@ -44345,16 +43027,13 @@ export {
|
|
|
44345
43027
|
TextareaAtom,
|
|
44346
43028
|
TimelineAtom,
|
|
44347
43029
|
ToggleAtom,
|
|
44348
|
-
ToolListCard,
|
|
44349
43030
|
Tooltip,
|
|
44350
43031
|
TooltipAtom,
|
|
44351
43032
|
TooltipContent,
|
|
44352
43033
|
TooltipProvider,
|
|
44353
43034
|
TooltipTrigger,
|
|
44354
43035
|
TopPostsGrid,
|
|
44355
|
-
UIComponentSelector,
|
|
44356
43036
|
VideoAtom,
|
|
44357
|
-
WorkflowVisualizer,
|
|
44358
43037
|
cn,
|
|
44359
43038
|
defaultFetchSelections,
|
|
44360
43039
|
defaultPersistSelection,
|