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.mjs CHANGED
@@ -5,7 +5,7 @@ var __export = (target, all) => {
5
5
  };
6
6
 
7
7
  // src/render/PXEngineRenderer.tsx
8
- import React106 from "react";
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 jsx160 } from "react/jsx-runtime";
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__ */ jsx160(
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__ */ jsx160(
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__ */ jsx160(
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 jsx161 } from "react/jsx-runtime";
41135
+ import { jsx as jsx151 } from "react/jsx-runtime";
42447
41136
  function Empty({ className, ...props }) {
42448
- return /* @__PURE__ */ jsx161(
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__ */ jsx161(
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__ */ jsx161(
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__ */ jsx161(
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__ */ jsx161(
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__ */ jsx161(
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 jsx162, jsxs as jsxs118 } from "react/jsx-runtime";
41231
+ import { jsx as jsx152, jsxs as jsxs108 } from "react/jsx-runtime";
42543
41232
  function FieldSet({ className, ...props }) {
42544
- return /* @__PURE__ */ jsx162(
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__ */ jsx162(
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__ */ jsx162(
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__ */ jsx162(
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__ */ jsx162(
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__ */ jsx162(
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__ */ jsx162(
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__ */ jsx162(
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__ */ jsxs118(
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__ */ jsx162(Separator2, { className: "absolute inset-0 top-1/2" }),
42705
- children && /* @__PURE__ */ jsx162(
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__ */ jsx162("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
42734
- (error, index) => error?.message && /* @__PURE__ */ jsx162("li", { children: error.message }, index)
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__ */ jsx162(
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 jsx163 } from "react/jsx-runtime";
41443
+ import { jsx as jsx153 } from "react/jsx-runtime";
42755
41444
  function InputGroup({ className, ...props }) {
42756
- return /* @__PURE__ */ jsx163(
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__ */ jsx163(
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__ */ jsx163(
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__ */ jsx163(
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__ */ jsx163(
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__ */ jsx163(
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 jsx164 } from "react/jsx-runtime";
41588
+ import { jsx as jsx154 } from "react/jsx-runtime";
42900
41589
  function ItemGroup({ className, ...props }) {
42901
- return /* @__PURE__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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__ */ jsx164(
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 jsx165 } from "react/jsx-runtime";
41761
+ import { jsx as jsx155 } from "react/jsx-runtime";
43073
41762
  function Kbd({ className, ...props }) {
43074
- return /* @__PURE__ */ jsx165(
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__ */ jsx165(
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 React104 from "react";
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 React103 from "react";
41794
+ import * as React99 from "react";
43106
41795
  var MOBILE_BREAKPOINT = 768;
43107
41796
  function useIsMobile() {
43108
- const [isMobile, setIsMobile] = React103.useState(void 0);
43109
- React103.useEffect(() => {
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 jsx166, jsxs as jsxs119 } from "react/jsx-runtime";
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 = React104.createContext(null);
41818
+ var SidebarContext = React100.createContext(null);
43130
41819
  function useSidebar() {
43131
- const context = React104.useContext(SidebarContext);
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 = React104.forwardRef(
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] = React104.useState(false);
43149
- const [_open, _setOpen] = React104.useState(defaultOpen);
41837
+ const [openMobile, setOpenMobile] = React100.useState(false);
41838
+ const [_open, _setOpen] = React100.useState(defaultOpen);
43150
41839
  const open = openProp ?? _open;
43151
- const setOpen = React104.useCallback(
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 = React104.useCallback(() => {
41852
+ const toggleSidebar = React100.useCallback(() => {
43164
41853
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
43165
41854
  }, [isMobile, setOpen, setOpenMobile]);
43166
- React104.useEffect(() => {
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 = React104.useMemo(
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__ */ jsx166(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx166(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx166(
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 = React104.forwardRef(
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__ */ jsx166(
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__ */ jsx166(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs119(
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__ */ jsxs119(SheetHeader, { className: "sr-only", children: [
43246
- /* @__PURE__ */ jsx166(SheetTitle, { children: "Sidebar" }),
43247
- /* @__PURE__ */ jsx166(SheetDescription, { children: "Displays the mobile sidebar." })
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__ */ jsx166("div", { className: "flex h-full w-full flex-col", children })
41938
+ /* @__PURE__ */ jsx156("div", { className: "flex h-full w-full flex-col", children })
43250
41939
  ]
43251
41940
  }
43252
41941
  ) });
43253
41942
  }
43254
- return /* @__PURE__ */ jsxs119(
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__ */ jsx166(
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__ */ jsx166(
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__ */ jsx166(
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 = React104.forwardRef(({ className, onClick, ...props }, ref) => {
41991
+ var SidebarTrigger = React100.forwardRef(({ className, onClick, ...props }, ref) => {
43303
41992
  const { toggleSidebar } = useSidebar();
43304
- return /* @__PURE__ */ jsxs119(
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__ */ jsx166(PanelLeft, {}),
43319
- /* @__PURE__ */ jsx166("span", { className: "sr-only", children: "Toggle Sidebar" })
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 = React104.forwardRef(({ className, ...props }, ref) => {
42014
+ var SidebarRail = React100.forwardRef(({ className, ...props }, ref) => {
43326
42015
  const { toggleSidebar } = useSidebar();
43327
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43351
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43366
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43381
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43393
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43405
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43417
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => {
43432
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, asChild = false, ...props }, ref) => {
42132
+ var SidebarGroupLabel = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
43444
42133
  const Comp = asChild ? Slot6 : "div";
43445
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, asChild = false, ...props }, ref) => {
42149
+ var SidebarGroupAction = React100.forwardRef(({ className, asChild = false, ...props }, ref) => {
43461
42150
  const Comp = asChild ? Slot6 : "button";
43462
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx166(
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 = React104.forwardRef(
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__ */ jsx166(
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__ */ jsxs119(Tooltip, { children: [
43561
- /* @__PURE__ */ jsx166(TooltipTrigger, { asChild: true, children: button }),
43562
- /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
42264
+ var SidebarMenuAction = React100.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
43576
42265
  const Comp = asChild ? Slot6 : "button";
43577
- return /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ className, showIcon = false, ...props }, ref) => {
43617
- const width = React104.useMemo(() => {
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__ */ jsxs119(
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__ */ jsx166(
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__ */ jsx166(
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 = React104.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx166(
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 = React104.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx166("li", { ref, ...props }));
42353
+ var SidebarMenuSubItem = React100.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx156("li", { ref, ...props }));
43665
42354
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
43666
- var SidebarMenuSubButton = React104.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
42355
+ var SidebarMenuSubButton = React100.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
43667
42356
  const Comp = asChild ? Slot6 : "a";
43668
- return /* @__PURE__ */ jsx166(
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 jsx167 } from "react/jsx-runtime";
42381
+ import { jsx as jsx157 } from "react/jsx-runtime";
43693
42382
  var Toaster = ({ ...props }) => {
43694
42383
  const { theme = "system" } = useTheme();
43695
- return /* @__PURE__ */ jsx167(
42384
+ return /* @__PURE__ */ jsx157(
43696
42385
  Sonner,
43697
42386
  {
43698
42387
  theme,
43699
42388
  className: "toaster group",
43700
42389
  icons: {
43701
- success: /* @__PURE__ */ jsx167(CircleCheck, { className: "h-4 w-4" }),
43702
- info: /* @__PURE__ */ jsx167(Info, { className: "h-4 w-4" }),
43703
- warning: /* @__PURE__ */ jsx167(TriangleAlert, { className: "h-4 w-4" }),
43704
- error: /* @__PURE__ */ jsx167(OctagonX, { className: "h-4 w-4" }),
43705
- loading: /* @__PURE__ */ jsx167(LoaderCircle, { className: "h-4 w-4 animate-spin" })
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 React105 from "react";
42410
+ import * as React101 from "react";
43722
42411
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
43723
- import { jsx as jsx168 } from "react/jsx-runtime";
43724
- var ToggleGroupContext = React105.createContext({
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 = React105.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx168(
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__ */ jsx168(ToggleGroupContext.Provider, { value: { variant, size }, children })
42423
+ children: /* @__PURE__ */ jsx158(ToggleGroupContext.Provider, { value: { variant, size }, children })
43735
42424
  }
43736
42425
  ));
43737
42426
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
43738
- var ToggleGroupItem = React105.forwardRef(({ className, children, variant, size, ...props }, ref) => {
43739
- const context = React105.useContext(ToggleGroupContext);
43740
- return /* @__PURE__ */ jsx168(
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 jsx169, jsxs as jsxs120 } from "react/jsx-runtime";
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__ */ jsxs120(
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__ */ jsxs120("div", { className: "flex items-start gap-2", children: [
43870
- /* @__PURE__ */ jsx169("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
43871
- /* @__PURE__ */ jsxs120("div", { className: "flex-1", children: [
43872
- /* @__PURE__ */ jsxs120("p", { className: "text-sm font-semibold text-amber-900", children: [
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__ */ jsx169("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
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__ */ jsxs120("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
43880
- /* @__PURE__ */ jsx169("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
43881
- /* @__PURE__ */ jsx169("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
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__ */ jsx169(React106.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
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 (React106.isValidElement(component)) {
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__ */ jsx169(
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__ */ jsx169(
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__ */ jsx169("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) });
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,