@compose-market/theme 0.0.2 → 0.0.4
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/css/dark.css +38 -0
- package/dist/css/index.css +10 -0
- package/dist/css/index.d.ts +16 -0
- package/dist/css/index.d.ts.map +1 -0
- package/dist/css/index.js +97 -0
- package/dist/css/index.js.map +1 -0
- package/dist/css/light.css +70 -0
- package/dist/css/shell.css +414 -0
- package/dist/css/tokens.css +24 -0
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/shell/index.d.ts +67 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/shell/index.js +45 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/styles.d.ts +2 -0
- package/dist/shell/styles.d.ts.map +1 -0
- package/dist/shell/styles.js +416 -0
- package/dist/shell/styles.js.map +1 -0
- package/dist/tailwind/preset.d.ts +282 -0
- package/dist/tailwind/preset.d.ts.map +1 -0
- package/dist/tailwind/preset.js +144 -0
- package/dist/tailwind/preset.js.map +1 -0
- package/package.json +16 -41
- package/dist/components/brand/Logo.d.ts +0 -25
- package/dist/components/brand/Logo.d.ts.map +0 -1
- package/dist/components/brand/Logo.js +0 -20
- package/dist/components/brand/Logo.js.map +0 -1
- package/dist/components/brand/index.d.ts +0 -2
- package/dist/components/brand/index.d.ts.map +0 -1
- package/dist/components/brand/index.js +0 -2
- package/dist/components/brand/index.js.map +0 -1
- package/dist/components/session.d.ts +0 -58
- package/dist/components/session.d.ts.map +0 -1
- package/dist/components/session.js +0 -280
- package/dist/components/session.js.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -10
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/badge.js +0 -24
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/button.js +0 -43
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/card.d.ts +0 -13
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.js +0 -18
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -20
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dialog.js +0 -23
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -28
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.js +0 -37
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/index.d.ts +0 -7
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/ui/index.js +0 -7
- package/dist/components/ui/index.js.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -5
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/progress.js +0 -9
- package/dist/components/ui/progress.js.map +0 -1
- package/dist/components/ui/surface-variant.d.ts +0 -4
- package/dist/components/ui/surface-variant.d.ts.map +0 -1
- package/dist/components/ui/surface-variant.js +0 -10
- package/dist/components/ui/surface-variant.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -6
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/visual-system.d.ts +0 -39
- package/dist/lib/visual-system.d.ts.map +0 -1
- package/dist/lib/visual-system.js +0 -129
- package/dist/lib/visual-system.js.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -2
- package/dist/utils/index.js.map +0 -1
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useMemo, useState } from "react";
|
|
4
|
-
import { BUDGET_PRESETS, useSession } from "@compose-market/session/hooks";
|
|
5
|
-
import { Button } from "./ui/button";
|
|
6
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card";
|
|
7
|
-
import { Progress } from "./ui/progress";
|
|
8
|
-
import { Badge } from "./ui/badge";
|
|
9
|
-
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, } from "./ui/dialog";
|
|
10
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "./ui/dropdown-menu";
|
|
11
|
-
import { Check, ChevronDown, Clock, Copy, Key, Plus, Shield, Trash2, Wallet, X, Zap } from "lucide-react";
|
|
12
|
-
export { BUDGET_PRESETS };
|
|
13
|
-
function parseWei(value) {
|
|
14
|
-
if (value === undefined || value === null)
|
|
15
|
-
return 0;
|
|
16
|
-
const parsed = Number.parseInt(String(value), 10);
|
|
17
|
-
return Number.isFinite(parsed) ? Math.max(0, parsed) : 0;
|
|
18
|
-
}
|
|
19
|
-
function readString(source, ...keys) {
|
|
20
|
-
if (!source || typeof source !== "object")
|
|
21
|
-
return null;
|
|
22
|
-
const record = source;
|
|
23
|
-
for (const key of keys) {
|
|
24
|
-
const value = record[key];
|
|
25
|
-
if (typeof value === "string" && value.length > 0)
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
function readNumber(source, ...keys) {
|
|
31
|
-
if (!source || typeof source !== "object")
|
|
32
|
-
return 0;
|
|
33
|
-
const record = source;
|
|
34
|
-
for (const key of keys) {
|
|
35
|
-
const value = record[key];
|
|
36
|
-
if (typeof value === "number" && Number.isFinite(value))
|
|
37
|
-
return value;
|
|
38
|
-
if (typeof value === "string") {
|
|
39
|
-
const parsed = Number.parseInt(value, 10);
|
|
40
|
-
if (Number.isFinite(parsed))
|
|
41
|
-
return parsed;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return 0;
|
|
45
|
-
}
|
|
46
|
-
function resolveApiBaseUrl(override) {
|
|
47
|
-
if (override && override.trim().length > 0)
|
|
48
|
-
return override.replace(/\/+$/, "");
|
|
49
|
-
return "https://api.compose.market";
|
|
50
|
-
}
|
|
51
|
-
function formatTimeRemaining(expiresAt) {
|
|
52
|
-
const remaining = expiresAt - Date.now();
|
|
53
|
-
if (remaining <= 0)
|
|
54
|
-
return "Expired";
|
|
55
|
-
const hours = Math.floor(remaining / (1000 * 60 * 60));
|
|
56
|
-
const minutes = Math.floor((remaining % (1000 * 60 * 60)) / (1000 * 60));
|
|
57
|
-
if (hours > 24) {
|
|
58
|
-
const days = Math.floor(hours / 24);
|
|
59
|
-
return `${days}d ${hours % 24}h`;
|
|
60
|
-
}
|
|
61
|
-
if (hours > 0)
|
|
62
|
-
return `${hours}h ${minutes}m`;
|
|
63
|
-
return `${minutes}m`;
|
|
64
|
-
}
|
|
65
|
-
export function SessionBudgetDialog({ open: controlledOpen, onOpenChange: controlledOnOpenChange, showTrigger = true, } = {}) {
|
|
66
|
-
const { session, isCreating, error, createSession, budgetPresets } = useSession();
|
|
67
|
-
const presets = budgetPresets.length > 0 ? budgetPresets : BUDGET_PRESETS;
|
|
68
|
-
const [selectedBudget, setSelectedBudget] = useState(presets[1]?.value ?? presets[0]?.value ?? 10_000_000);
|
|
69
|
-
const [duration, setDuration] = useState(24);
|
|
70
|
-
const [internalOpen, setInternalOpen] = useState(false);
|
|
71
|
-
const isControlled = controlledOpen !== undefined;
|
|
72
|
-
const open = isControlled ? controlledOpen : internalOpen;
|
|
73
|
-
const setOpen = isControlled ? (controlledOnOpenChange || (() => { })) : setInternalOpen;
|
|
74
|
-
const handleCreate = async () => {
|
|
75
|
-
const budgetUSDC = selectedBudget / 1_000_000;
|
|
76
|
-
const success = await createSession(budgetUSDC, duration);
|
|
77
|
-
if (success) {
|
|
78
|
-
setOpen(false);
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
return (_jsxs(Dialog, { open: open, onOpenChange: setOpen, children: [showTrigger && (_jsx(DialogTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", className: "border-cyan-500/30 bg-cyan-500/5 text-cyan-400 hover:bg-cyan-500/10 font-mono", children: [_jsx(Zap, { className: "w-4 h-4 mr-2" }), session.isActive ? "Session Active" : "Start Session"] }) })), _jsxs(DialogContent, { className: "bg-card border-sidebar-border max-w-md", children: [_jsxs(DialogHeader, { children: [_jsxs(DialogTitle, { className: "font-display text-cyan-400 flex items-center gap-2", children: [_jsx(Shield, { className: "w-5 h-5" }), "Session Budget"] }), _jsx(DialogDescription, { className: "text-muted-foreground", children: "Create a payment session from your Compose Key authority. No wallet signature or on-chain approval prompt is required." })] }), _jsxs("div", { className: "space-y-6 py-4", children: [_jsxs("div", { className: "space-y-3", children: [_jsx("label", { className: "text-sm font-medium text-muted-foreground font-mono", children: "Budget Limit (USDC)" }), _jsx("div", { className: "grid grid-cols-4 gap-2", children: presets.map((preset) => (_jsx(Button, { variant: selectedBudget === preset.value ? "default" : "outline", size: "sm", onClick: () => setSelectedBudget(preset.value), className: selectedBudget === preset.value
|
|
82
|
-
? "bg-cyan-500 text-black font-mono"
|
|
83
|
-
: "border-sidebar-border hover:border-cyan-500/50 font-mono", children: preset.label }, preset.value))) })] }), _jsxs("div", { className: "space-y-3", children: [_jsxs("label", { className: "text-sm font-medium text-muted-foreground flex items-center gap-2 font-mono", children: [_jsx(Clock, { className: "w-4 h-4" }), "Session Duration"] }), _jsx("div", { className: "grid grid-cols-4 gap-2", children: [1, 6, 12, 24].map((hours) => (_jsxs(Button, { variant: duration === hours ? "default" : "outline", size: "sm", onClick: () => setDuration(hours), className: duration === hours
|
|
84
|
-
? "bg-cyan-500 text-black font-mono"
|
|
85
|
-
: "border-sidebar-border hover:border-cyan-500/50 font-mono", children: [hours, "h"] }, hours))) })] }), _jsxs("div", { className: "bg-sidebar-accent rounded-sm p-4 space-y-2 border border-sidebar-border", children: [_jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Max Spend" }), _jsxs("span", { className: "font-mono text-cyan-400", children: ["$", (selectedBudget / 1_000_000).toFixed(2), " USDC"] })] }), _jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Expires After" }), _jsxs("span", { className: "font-mono text-foreground", children: [duration, " hours"] })] }), _jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Approvals Required" }), _jsx("span", { className: "font-mono text-fuchsia-400", children: "0" })] })] }), error ? (_jsx("div", { className: "bg-destructive/10 border border-destructive/30 rounded-sm p-3 text-sm text-destructive", children: error })) : null, _jsx(Button, { onClick: handleCreate, disabled: isCreating, className: "w-full bg-cyan-500 text-black hover:bg-cyan-400 font-mono font-bold", children: isCreating ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-4 h-4 border-2 border-black/30 border-t-black rounded-full animate-spin mr-2" }), "Creating Session..."] })) : (_jsxs(_Fragment, { children: [_jsx(Wallet, { className: "w-4 h-4 mr-2" }), "Create Payment Session"] })) })] })] })] }));
|
|
86
|
-
}
|
|
87
|
-
export function SessionStatusCard({ className } = {}) {
|
|
88
|
-
const { session, endSession } = useSession();
|
|
89
|
-
const budgetLimit = readNumber(session, "budgetLimitWei");
|
|
90
|
-
const budgetUsed = readNumber(session, "budgetUsedWei");
|
|
91
|
-
const budgetRemaining = readNumber(session, "budgetRemainingWei");
|
|
92
|
-
if (!session.isActive || budgetLimit <= 0)
|
|
93
|
-
return null;
|
|
94
|
-
const usagePercent = (budgetUsed / budgetLimit) * 100;
|
|
95
|
-
const remainingUSDC = budgetRemaining / 1_000_000;
|
|
96
|
-
const totalUSDC = budgetLimit / 1_000_000;
|
|
97
|
-
const timeRemaining = session.expiresAt ? Math.max(0, session.expiresAt - Date.now()) : 0;
|
|
98
|
-
const hoursRemaining = Math.floor(timeRemaining / (1000 * 60 * 60));
|
|
99
|
-
const minutesRemaining = Math.floor((timeRemaining % (1000 * 60 * 60)) / (1000 * 60));
|
|
100
|
-
return (_jsxs(Card, { className: `glass-panel border-cyan-500/20 ${className ?? ""}`, children: [_jsxs(CardHeader, { className: "pb-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs(CardTitle, { className: "text-sm font-display flex items-center gap-2", children: [_jsx(Zap, { className: "w-4 h-4 text-cyan-400" }), "Fast Mode Active"] }), _jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-muted-foreground hover:text-destructive", onClick: endSession, children: _jsx(X, { className: "w-4 h-4" }) })] }), _jsxs(CardDescription, { className: "text-xs font-mono", children: ["No signatures needed \u2022 ", hoursRemaining, "h ", minutesRemaining, "m remaining"] })] }), _jsxs(CardContent, { className: "space-y-3", children: [_jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex justify-between text-xs font-mono", children: [_jsx("span", { className: "text-muted-foreground", children: "Budget Used" }), _jsxs("span", { children: ["$", (budgetUsed / 1_000_000).toFixed(4), " / $", totalUSDC.toFixed(2)] })] }), _jsx(Progress, { value: usagePercent, className: "h-2" })] }), _jsx("div", { className: "flex items-center justify-between", children: _jsxs(Badge, { variant: "outline", className: "text-xs border-cyan-500/30 text-cyan-400 font-mono", children: ["$", remainingUSDC.toFixed(4), " remaining"] }) })] })] }));
|
|
101
|
-
}
|
|
102
|
-
export function SessionIndicator({ apiBaseUrl } = {}) {
|
|
103
|
-
const { session } = useSession();
|
|
104
|
-
const [keyDialogOpen, setKeyDialogOpen] = useState(false);
|
|
105
|
-
const [manageDialogOpen, setManageDialogOpen] = useState(false);
|
|
106
|
-
const sessionToken = readString(session, "composeKeyToken");
|
|
107
|
-
if (!sessionToken) {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
if (!session.isActive) {
|
|
111
|
-
return _jsx(SessionBudgetDialog, {});
|
|
112
|
-
}
|
|
113
|
-
const remainingUSDC = readNumber(session, "budgetRemainingWei") / 1_000_000;
|
|
114
|
-
const timeRemaining = session.expiresAt ? formatTimeRemaining(session.expiresAt) : "";
|
|
115
|
-
return (_jsxs("div", { className: "flex items-center gap-1 md:gap-2", children: [_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "sm", className: "border-cyan-500/30 bg-cyan-500/5 text-cyan-400 hover:bg-cyan-500/10 font-mono h-8 px-2 md:px-3", children: [_jsx(Zap, { className: "w-4 h-4 md:mr-2" }), _jsx("span", { className: "hidden md:inline", children: "Session" }), _jsxs("span", { className: "md:hidden text-xs", children: ["$", remainingUSDC.toFixed(0)] }), _jsx(ChevronDown, { className: "w-3 h-3 ml-1" })] }) }), _jsxs(DropdownMenuContent, { align: "end", className: "w-56", children: [_jsxs("div", { className: "px-2 py-2 border-b border-sidebar-border mb-1", children: [_jsxs("div", { className: "flex items-center justify-between text-xs", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Budget" }), _jsxs("span", { className: "text-cyan-400 font-mono font-medium", children: ["$", remainingUSDC.toFixed(2)] })] }), _jsxs("div", { className: "flex items-center justify-between text-xs mt-1", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Expires" }), _jsx("span", { className: "text-foreground font-mono", children: timeRemaining })] })] }), _jsxs(DropdownMenuItem, { onClick: () => setKeyDialogOpen(true), children: [_jsx(Key, { className: "w-4 h-4 mr-2" }), "Generate API Key"] }), _jsx(DropdownMenuSeparator, {}), _jsxs(DropdownMenuItem, { onClick: () => setManageDialogOpen(true), children: [_jsx(Wallet, { className: "w-4 h-4 mr-2" }), "Manage Sessions"] })] })] }), _jsx(ComposeKeyDialog, { open: keyDialogOpen, onOpenChange: setKeyDialogOpen, apiBaseUrl: apiBaseUrl }), _jsx(SessionManageDialog, { open: manageDialogOpen, onOpenChange: setManageDialogOpen, apiBaseUrl: apiBaseUrl })] }));
|
|
116
|
-
}
|
|
117
|
-
function SessionManageDialog({ open, onOpenChange, apiBaseUrl }) {
|
|
118
|
-
const { session, ensureToken } = useSession();
|
|
119
|
-
const sessionBudgetRemaining = readNumber(session, "budgetRemainingWei");
|
|
120
|
-
const [sessions, setSessions] = useState([]);
|
|
121
|
-
const [isLoading, setIsLoading] = useState(false);
|
|
122
|
-
const [createDialogOpen, setCreateDialogOpen] = useState(false);
|
|
123
|
-
const [copiedKeyId, setCopiedKeyId] = useState(null);
|
|
124
|
-
const [error, setError] = useState(null);
|
|
125
|
-
const composeKeyToken = readString(session, "composeKeyToken");
|
|
126
|
-
const baseUrl = resolveApiBaseUrl(apiBaseUrl);
|
|
127
|
-
const fetchSessions = async () => {
|
|
128
|
-
setIsLoading(true);
|
|
129
|
-
setError(null);
|
|
130
|
-
try {
|
|
131
|
-
const activeToken = composeKeyToken || (await ensureToken());
|
|
132
|
-
if (!activeToken) {
|
|
133
|
-
setSessions([]);
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
const response = await fetch(`${baseUrl}/api/v2/compose-keys`, {
|
|
137
|
-
headers: {
|
|
138
|
-
Authorization: `Bearer ${activeToken}`,
|
|
139
|
-
},
|
|
140
|
-
});
|
|
141
|
-
if (!response.ok) {
|
|
142
|
-
setError("Failed to fetch sessions");
|
|
143
|
-
setSessions([]);
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
const payload = (await response.json());
|
|
147
|
-
const mapped = (payload.composeKeys || []).map((item) => ({
|
|
148
|
-
composeKeyId: String(item.composeKeyId || ""),
|
|
149
|
-
budgetLimitWei: parseWei(item.budgetLimitWei),
|
|
150
|
-
budgetUsedWei: parseWei(item.budgetUsedWei),
|
|
151
|
-
budgetRemainingWei: parseWei(item.budgetRemainingWei),
|
|
152
|
-
createdAt: Number(item.createdAt || 0),
|
|
153
|
-
expiresAt: Number(item.expiresAt || 0),
|
|
154
|
-
revokedAt: item.revokedAt ? Number(item.revokedAt) : undefined,
|
|
155
|
-
name: item.name,
|
|
156
|
-
lastUsedAt: item.lastUsedAt ? Number(item.lastUsedAt) : undefined,
|
|
157
|
-
chainId: item.chainId ? Number(item.chainId) : undefined,
|
|
158
|
-
}));
|
|
159
|
-
setSessions(mapped.filter((item) => !item.revokedAt && item.expiresAt > Date.now()));
|
|
160
|
-
}
|
|
161
|
-
catch {
|
|
162
|
-
setError("Failed to fetch sessions");
|
|
163
|
-
setSessions([]);
|
|
164
|
-
}
|
|
165
|
-
finally {
|
|
166
|
-
setIsLoading(false);
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
useEffect(() => {
|
|
170
|
-
if (open) {
|
|
171
|
-
void fetchSessions();
|
|
172
|
-
}
|
|
173
|
-
}, [open, composeKeyToken]);
|
|
174
|
-
const handleRevoke = async (composeKeyId) => {
|
|
175
|
-
const activeToken = composeKeyToken || (await ensureToken());
|
|
176
|
-
if (!activeToken) {
|
|
177
|
-
setError("Compose key token not available");
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
const response = await fetch(`${baseUrl}/api/v2/compose-keys/${encodeURIComponent(composeKeyId)}`, {
|
|
181
|
-
method: "DELETE",
|
|
182
|
-
headers: {
|
|
183
|
-
Authorization: `Bearer ${activeToken}`,
|
|
184
|
-
},
|
|
185
|
-
});
|
|
186
|
-
if (!response.ok) {
|
|
187
|
-
setError("Failed to revoke session");
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
setError(null);
|
|
191
|
-
await fetchSessions();
|
|
192
|
-
};
|
|
193
|
-
const handleCopyKey = async (composeKeyId) => {
|
|
194
|
-
const maskedKey = `compose-${composeKeyId.slice(0, 8)}***`;
|
|
195
|
-
await navigator.clipboard.writeText(maskedKey);
|
|
196
|
-
setCopiedKeyId(composeKeyId);
|
|
197
|
-
setTimeout(() => setCopiedKeyId(null), 2000);
|
|
198
|
-
};
|
|
199
|
-
const handleCreateClose = (nextOpen) => {
|
|
200
|
-
setCreateDialogOpen(nextOpen);
|
|
201
|
-
if (!nextOpen) {
|
|
202
|
-
void fetchSessions();
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
return (_jsxs(_Fragment, { children: [_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: "bg-card border-sidebar-border max-w-md max-h-[80vh] overflow-y-auto", children: [_jsxs(DialogHeader, { children: [_jsxs(DialogTitle, { className: "font-display text-cyan-400 flex items-center gap-2", children: [_jsx(Wallet, { className: "w-5 h-5" }), "Manage Sessions"] }), _jsx(DialogDescription, { className: "text-muted-foreground", children: "View and manage your active API sessions and keys." })] }), _jsxs("div", { className: "space-y-4 py-4", children: [session.isActive ? (_jsxs("div", { className: "bg-cyan-500/10 border border-cyan-500/30 rounded-sm p-3", children: [_jsxs("div", { className: "flex items-center gap-2 mb-2", children: [_jsx(Zap, { className: "w-4 h-4 text-cyan-400" }), _jsx("span", { className: "text-sm font-medium text-cyan-400 font-mono", children: "Current Session" })] }), _jsxs("div", { className: "grid grid-cols-2 gap-2 text-xs", children: [_jsxs("div", { children: [_jsx("span", { className: "text-muted-foreground", children: "Remaining" }), _jsxs("p", { className: "font-mono text-foreground", children: ["$", (sessionBudgetRemaining / 1_000_000).toFixed(2)] })] }), _jsxs("div", { children: [_jsx("span", { className: "text-muted-foreground", children: "Expires" }), _jsx("p", { className: "font-mono text-foreground", children: session.expiresAt ? formatTimeRemaining(session.expiresAt) : "Never" })] })] })] })) : null, _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm font-medium text-muted-foreground font-mono", children: "API Keys" }), _jsxs(Button, { variant: "ghost", size: "sm", onClick: () => setCreateDialogOpen(true), className: "h-7 text-cyan-400 hover:text-cyan-300 hover:bg-cyan-500/10", children: [_jsx(Plus, { className: "w-4 h-4 mr-1" }), "New Key"] })] }), isLoading ? (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsx("div", { className: "w-6 h-6 border-2 border-cyan-500/30 border-t-cyan-500 rounded-full animate-spin" }) })) : sessions.length === 0 ? (_jsxs("div", { className: "text-center py-6 text-muted-foreground text-sm", children: ["No API keys created yet.", _jsx("br", {}), _jsx("button", { onClick: () => setCreateDialogOpen(true), className: "text-cyan-400 hover:underline mt-1", children: "Generate your first key" })] })) : (_jsx("div", { className: "space-y-2", children: sessions.map((item) => {
|
|
206
|
-
const budgetRemainingWei = parseWei(item.budgetRemainingWei);
|
|
207
|
-
const budgetLimitWei = parseWei(item.budgetLimitWei);
|
|
208
|
-
return (_jsxs("div", { className: "bg-sidebar-accent border border-sidebar-border rounded-sm p-3", children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx("span", { className: "font-mono text-sm text-foreground truncate", children: item.name || "Unnamed Key" }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { onClick: () => void handleCopyKey(item.composeKeyId), className: "p-1 text-muted-foreground hover:text-cyan-400 transition-colors", title: "Copy key ID", children: copiedKeyId === item.composeKeyId ? (_jsx(Check, { className: "w-3.5 h-3.5 text-green-400" })) : (_jsx(Copy, { className: "w-3.5 h-3.5" })) }), _jsx("button", { onClick: () => void handleRevoke(item.composeKeyId), className: "p-1 text-muted-foreground hover:text-destructive transition-colors", title: "Revoke key", children: _jsx(Trash2, { className: "w-3.5 h-3.5" }) })] })] }), _jsx("div", { className: "flex items-center gap-3 text-xs text-muted-foreground", children: _jsxs("span", { className: "font-mono", children: ["compose-", item.composeKeyId.slice(0, 8), "***"] }) }), _jsxs("div", { className: "grid grid-cols-2 gap-2 mt-2 text-xs", children: [_jsxs("div", { children: [_jsx("span", { className: "text-muted-foreground", children: "Budget" }), _jsxs("p", { className: "font-mono text-cyan-400", children: ["$", (budgetRemainingWei / 1_000_000).toFixed(2), " / $", (budgetLimitWei / 1_000_000).toFixed(2)] })] }), _jsxs("div", { children: [_jsx("span", { className: "text-muted-foreground", children: "Expires" }), _jsx("p", { className: "font-mono text-foreground", children: formatTimeRemaining(item.expiresAt) })] })] })] }, item.composeKeyId));
|
|
209
|
-
}) }))] }), error ? (_jsx("div", { className: "bg-destructive/10 border border-destructive/30 rounded-sm p-3 text-sm text-destructive", children: error })) : null] })] }) }), _jsx(ComposeKeyDialog, { open: createDialogOpen, onOpenChange: handleCreateClose, apiBaseUrl: apiBaseUrl })] }));
|
|
210
|
-
}
|
|
211
|
-
function ComposeKeyDialog({ open, onOpenChange, apiBaseUrl }) {
|
|
212
|
-
const { session, ensureToken } = useSession();
|
|
213
|
-
const sessionToken = readString(session, "composeKeyToken");
|
|
214
|
-
const sessionBudgetRemaining = readNumber(session, "budgetRemainingWei");
|
|
215
|
-
const [isGenerating, setIsGenerating] = useState(false);
|
|
216
|
-
const [generatedKey, setGeneratedKey] = useState(null);
|
|
217
|
-
const [copied, setCopied] = useState(false);
|
|
218
|
-
const [keyName, setKeyName] = useState("Desktop");
|
|
219
|
-
const [error, setError] = useState(null);
|
|
220
|
-
const baseUrl = useMemo(() => resolveApiBaseUrl(apiBaseUrl), [apiBaseUrl]);
|
|
221
|
-
const handleGenerate = async () => {
|
|
222
|
-
setIsGenerating(true);
|
|
223
|
-
setError(null);
|
|
224
|
-
try {
|
|
225
|
-
const activeToken = sessionToken || (await ensureToken());
|
|
226
|
-
if (!activeToken) {
|
|
227
|
-
setError("Compose key token not available");
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
const budgetLimitWei = String(Math.max(sessionBudgetRemaining || 0, 1_000_000));
|
|
231
|
-
const expiresAt = session.expiresAt || (Date.now() + 24 * 60 * 60 * 1000);
|
|
232
|
-
const response = await fetch(`${baseUrl}/api/v2/compose-keys`, {
|
|
233
|
-
method: "POST",
|
|
234
|
-
headers: {
|
|
235
|
-
"Content-Type": "application/json",
|
|
236
|
-
Authorization: `Bearer ${activeToken}`,
|
|
237
|
-
},
|
|
238
|
-
body: JSON.stringify({
|
|
239
|
-
budgetLimitWei,
|
|
240
|
-
expiresAt,
|
|
241
|
-
chainId: session.chainId || undefined,
|
|
242
|
-
name: keyName,
|
|
243
|
-
}),
|
|
244
|
-
});
|
|
245
|
-
if (!response.ok) {
|
|
246
|
-
setError(`Failed to generate key (${response.status})`);
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
const data = (await response.json());
|
|
250
|
-
const nextToken = data.composeKeyToken || null;
|
|
251
|
-
setGeneratedKey(nextToken);
|
|
252
|
-
if (!nextToken) {
|
|
253
|
-
setError("Key generated but token was not returned");
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
catch {
|
|
257
|
-
setError("Failed to generate API key");
|
|
258
|
-
}
|
|
259
|
-
finally {
|
|
260
|
-
setIsGenerating(false);
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
const handleCopy = async () => {
|
|
264
|
-
if (!generatedKey)
|
|
265
|
-
return;
|
|
266
|
-
await navigator.clipboard.writeText(generatedKey);
|
|
267
|
-
setCopied(true);
|
|
268
|
-
setTimeout(() => setCopied(false), 2000);
|
|
269
|
-
};
|
|
270
|
-
const handleClose = (nextOpen) => {
|
|
271
|
-
if (!nextOpen) {
|
|
272
|
-
setGeneratedKey(null);
|
|
273
|
-
setCopied(false);
|
|
274
|
-
setError(null);
|
|
275
|
-
}
|
|
276
|
-
onOpenChange(nextOpen);
|
|
277
|
-
};
|
|
278
|
-
return (_jsx(Dialog, { open: open, onOpenChange: handleClose, children: _jsxs(DialogContent, { className: "bg-card border-sidebar-border max-w-md", children: [_jsxs(DialogHeader, { children: [_jsxs(DialogTitle, { className: "font-display text-fuchsia-400 flex items-center gap-2", children: [_jsx(Key, { className: "w-5 h-5" }), "Generate API Key"] }), _jsx(DialogDescription, { className: "text-muted-foreground", children: "Create a key for external tools. Uses your Compose Key authority, no wallet signature required." })] }), _jsx("div", { className: "space-y-4 py-4", children: !generatedKey ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-sm font-medium text-muted-foreground font-mono", children: "Key Name" }), _jsx("input", { type: "text", value: keyName, onChange: (event) => setKeyName(event.target.value), placeholder: "e.g., Cursor, OpenCode", className: "w-full px-3 py-2 bg-sidebar-accent border border-sidebar-border rounded-sm font-mono text-sm focus:border-fuchsia-500 focus:outline-none" })] }), _jsxs("div", { className: "bg-sidebar-accent rounded-sm p-4 space-y-2 border border-sidebar-border", children: [_jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Budget" }), _jsxs("span", { className: "font-mono text-fuchsia-400", children: ["$", (sessionBudgetRemaining / 1_000_000).toFixed(2), " USDC"] })] }), _jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsx("span", { className: "text-muted-foreground font-mono", children: "Expires" }), _jsx("span", { className: "font-mono text-foreground", children: session.expiresAt ? new Date(session.expiresAt).toLocaleString() : "Never" })] })] }), error ? (_jsx("div", { className: "bg-destructive/10 border border-destructive/30 rounded-sm p-3 text-sm text-destructive", children: error })) : null, _jsx(Button, { onClick: handleGenerate, disabled: isGenerating, className: "w-full bg-fuchsia-500 text-white hover:bg-fuchsia-400 font-mono font-bold", children: isGenerating ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin mr-2" }), "Generating..."] })) : (_jsxs(_Fragment, { children: [_jsx(Key, { className: "w-4 h-4 mr-2" }), "Generate Key"] })) })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-sm font-medium text-muted-foreground font-mono", children: "Your API Key" }), _jsxs("div", { className: "relative", children: [_jsx("input", { type: "text", readOnly: true, value: generatedKey, className: "w-full px-3 py-2 pr-10 bg-sidebar-accent border border-fuchsia-500/50 rounded-sm font-mono text-xs focus:outline-none" }), _jsx("button", { onClick: () => void handleCopy(), className: "absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-fuchsia-400 transition-colors", children: copied ? _jsx(Check, { className: "w-4 h-4 text-green-400" }) : _jsx(Copy, { className: "w-4 h-4" }) })] })] }), _jsx("div", { className: "bg-amber-500/10 border border-amber-500/30 rounded-sm p-3 text-sm text-amber-400", children: "Save this key now. You will not be able to see it again." }), _jsxs("div", { className: "bg-sidebar-accent rounded-sm p-4 space-y-2 border border-sidebar-border", children: [_jsx("p", { className: "text-sm text-muted-foreground font-mono", children: "Use in external tool settings:" }), _jsxs("code", { className: "block text-xs bg-black/50 p-2 rounded font-mono text-fuchsia-400 break-all", children: ["Authorization: Bearer ", generatedKey.slice(0, 20), "..."] })] }), _jsx(Button, { onClick: () => void handleCopy(), className: "w-full bg-fuchsia-500 text-white hover:bg-fuchsia-400 font-mono font-bold", children: copied ? (_jsxs(_Fragment, { children: [_jsx(Check, { className: "w-4 h-4 mr-2" }), "Copied!"] })) : (_jsxs(_Fragment, { children: [_jsx(Copy, { className: "w-4 h-4 mr-2" }), "Copy to Clipboard"] })) })] })) })] }) }));
|
|
279
|
-
}
|
|
280
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/components/session.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type VariantProps } from "class-variance-authority";
|
|
3
|
-
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
|
|
5
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
-
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
7
|
-
}
|
|
8
|
-
declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export { Badge, badgeVariants };
|
|
10
|
-
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/ui/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa;;8EAoBlB,CAAA;AAED,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAI1D;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cva } from "class-variance-authority";
|
|
3
|
-
import { cn } from "@/lib/utils";
|
|
4
|
-
const badgeVariants = cva(
|
|
5
|
-
// Whitespace-nowrap: Badges should never wrap.
|
|
6
|
-
"whitespace-nowrap inline-flex items-center rounded-sm border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2" +
|
|
7
|
-
" hover-elevate ", {
|
|
8
|
-
variants: {
|
|
9
|
-
variant: {
|
|
10
|
-
default: "border-transparent bg-primary text-primary-foreground shadow-xs",
|
|
11
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground",
|
|
12
|
-
destructive: "border-transparent bg-destructive text-destructive-foreground shadow-xs",
|
|
13
|
-
outline: "text-foreground border [border-color:var(--badge-outline)]",
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
defaultVariants: {
|
|
17
|
-
variant: "default",
|
|
18
|
-
},
|
|
19
|
-
});
|
|
20
|
-
function Badge({ className, variant, ...props }) {
|
|
21
|
-
return (_jsx("div", { className: cn(badgeVariants({ variant }), className), ...props }));
|
|
22
|
-
}
|
|
23
|
-
export { Badge, badgeVariants };
|
|
24
|
-
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/ui/badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,MAAM,aAAa,GAAG,GAAG;AACvB,+CAA+C;AAC/C,wLAAwL;IACxL,iBAAiB,EACjB;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,iEAAiE;YACnE,SAAS,EACP,2DAA2D;YAC7D,WAAW,EACT,yEAAyE;YAC3E,OAAO,EAAE,4DAA4D;SACtE;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAA;AAMD,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAc;IACzD,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzE,CAAA;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type VariantProps } from "class-variance-authority";
|
|
3
|
-
import { type SurfaceVariant } from "@/components/ui/surface-variant";
|
|
4
|
-
declare const buttonVariants: (props?: ({
|
|
5
|
-
variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | null | undefined;
|
|
6
|
-
size?: "sm" | "lg" | "default" | "icon" | null | undefined;
|
|
7
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
-
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
9
|
-
asChild?: boolean;
|
|
10
|
-
surface?: SurfaceVariant;
|
|
11
|
-
}
|
|
12
|
-
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
13
|
-
export { Button, buttonVariants };
|
|
14
|
-
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAExF,QAAA,MAAM,cAAc;;;8EAkCnB,CAAA;AAED,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
-
import { cva } from "class-variance-authority";
|
|
5
|
-
import { cn } from "@/lib/utils";
|
|
6
|
-
import { getSurfaceClasses } from "@/components/ui/surface-variant";
|
|
7
|
-
const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0" +
|
|
8
|
-
" hover-elevate active-elevate-2", {
|
|
9
|
-
variants: {
|
|
10
|
-
variant: {
|
|
11
|
-
default: "bg-primary text-primary-foreground border border-primary-border",
|
|
12
|
-
destructive: "bg-destructive text-destructive-foreground shadow-sm border-destructive-border",
|
|
13
|
-
outline:
|
|
14
|
-
// Inherits the current text color. Uses shadow-xs. no shadow on active
|
|
15
|
-
// No hover state
|
|
16
|
-
" border [border-color:var(--button-outline)] shadow-xs active:shadow-none ",
|
|
17
|
-
secondary:
|
|
18
|
-
// border, no hover, no shadow, secondary border.
|
|
19
|
-
"border bg-secondary text-secondary-foreground border border-secondary-border ",
|
|
20
|
-
// no hover, transparent border
|
|
21
|
-
ghost: "border border-transparent",
|
|
22
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
23
|
-
},
|
|
24
|
-
size: {
|
|
25
|
-
// changed sizes
|
|
26
|
-
default: "min-h-9 px-4 py-2",
|
|
27
|
-
sm: "min-h-8 rounded-sm px-3 text-xs",
|
|
28
|
-
lg: "min-h-10 rounded-sm px-8",
|
|
29
|
-
icon: "h-9 w-9",
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
defaultVariants: {
|
|
33
|
-
variant: "default",
|
|
34
|
-
size: "default",
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
const Button = React.forwardRef(({ className, variant, size, surface = "default", asChild = false, ...props }, ref) => {
|
|
38
|
-
const Comp = asChild ? Slot : "button";
|
|
39
|
-
return (_jsx(Comp, { className: cn(buttonVariants({ variant, size }), getSurfaceClasses(surface), className), ref: ref, ...props }));
|
|
40
|
-
});
|
|
41
|
-
Button.displayName = "Button";
|
|
42
|
-
export { Button, buttonVariants };
|
|
43
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,iCAAiC,CAAA;AAExF,MAAM,cAAc,GAAG,GAAG,CACxB,uSAAuS;IACzS,iCAAiC,EAC/B;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACJ,iEAAiE;YACpE,WAAW,EACT,gFAAgF;YAClF,OAAO;YACL,uEAAuE;YACvE,iBAAiB;YACjB,4EAA4E;YAC9E,SAAS;YACP,iDAAiD;YACjD,+EAA+E;YACjF,+BAA+B;YAC/B,KAAK,EAAE,2BAA2B;YAClC,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,gBAAgB;YAChB,OAAO,EAAE,mBAAmB;YAC5B,EAAE,EAAE,iCAAiC;YACrC,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,SAAS;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AASD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EACvF,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AACD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { type SurfaceVariant } from "@/components/ui/surface-variant";
|
|
3
|
-
interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
surface?: SurfaceVariant;
|
|
5
|
-
}
|
|
6
|
-
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
-
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
-
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
-
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
-
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
|
|
13
|
-
//# sourceMappingURL=card.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAExF,UAAU,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9D,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED,QAAA,MAAM,IAAI,kFAaR,CAAA;AAGF,QAAA,MAAM,UAAU,6GASd,CAAA;AAGF,QAAA,MAAM,SAAS,6GASb,CAAA;AAGF,QAAA,MAAM,eAAe,6GASnB,CAAA;AAGF,QAAA,MAAM,WAAW,6GAKf,CAAA;AAGF,QAAA,MAAM,UAAU,6GASd,CAAA;AAGF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { cn } from "@/lib/utils";
|
|
4
|
-
import { getSurfaceClasses } from "@/components/ui/surface-variant";
|
|
5
|
-
const Card = React.forwardRef(({ className, surface = "default", ...props }, ref) => (_jsx("div", { ref: ref, className: cn("rounded-sm border bg-card/85 text-card-foreground shadow backdrop-blur-md", getSurfaceClasses(surface), className), ...props })));
|
|
6
|
-
Card.displayName = "Card";
|
|
7
|
-
const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })));
|
|
8
|
-
CardHeader.displayName = "CardHeader";
|
|
9
|
-
const CardTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })));
|
|
10
|
-
CardTitle.displayName = "CardTitle";
|
|
11
|
-
const CardDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
|
|
12
|
-
CardDescription.displayName = "CardDescription";
|
|
13
|
-
const CardContent = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("p-6 pt-0", className), ...props })));
|
|
14
|
-
CardContent.displayName = "CardContent";
|
|
15
|
-
const CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex items-center p-6 pt-0", className), ...props })));
|
|
16
|
-
CardFooter.displayName = "CardFooter";
|
|
17
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
|
|
18
|
-
//# sourceMappingURL=card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAuB,MAAM,iCAAiC,CAAA;AAMxF,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAG3B,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvD,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,2EAA2E,EAC3E,iBAAiB,CAAC,OAAO,CAAC,EAC1B,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;AAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAA;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAGhC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,KACjE,KAAK,GACT,CACH,CAAC,CAAA;AACF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAGtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC,CAAA;AACF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnE,CAAC,CAAA;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAClD,KAAK,GACT,CACH,CAAC,CAAA;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
3
|
-
declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
|
|
4
|
-
declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
-
declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
|
|
6
|
-
declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
7
|
-
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
-
declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
-
declare const DialogHeader: {
|
|
10
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
displayName: string;
|
|
12
|
-
};
|
|
13
|
-
declare const DialogFooter: {
|
|
14
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
displayName: string;
|
|
16
|
-
};
|
|
17
|
-
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
18
|
-
declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
19
|
-
export { Dialog, DialogPortal, DialogOverlay, DialogTrigger, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
|
|
20
|
-
//# sourceMappingURL=dialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,QAAA,MAAM,MAAM,uCAAuB,CAAA;AAEnC,QAAA,MAAM,aAAa,8GAA0B,CAAA;AAE7C,QAAA,MAAM,YAAY,6CAAyB,CAAA;AAE3C,QAAA,MAAM,WAAW,4GAAwB,CAAA;AAEzC,QAAA,MAAM,aAAa,8JAYjB,CAAA;AAGF,QAAA,MAAM,aAAa,8JAqBjB,CAAA;AAGF,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAA;AAGD,QAAA,MAAM,WAAW,oKAYf,CAAA;AAGF,QAAA,MAAM,iBAAiB,8KASrB,CAAA;AAGF,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAA"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
4
|
-
import { X } from "lucide-react";
|
|
5
|
-
import { cn } from "@/lib/utils";
|
|
6
|
-
const Dialog = DialogPrimitive.Root;
|
|
7
|
-
const DialogTrigger = DialogPrimitive.Trigger;
|
|
8
|
-
const DialogPortal = DialogPrimitive.Portal;
|
|
9
|
-
const DialogClose = DialogPrimitive.Close;
|
|
10
|
-
const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props })));
|
|
11
|
-
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
12
|
-
const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg", className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsx(X, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
|
|
13
|
-
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
14
|
-
const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props }));
|
|
15
|
-
DialogHeader.displayName = "DialogHeader";
|
|
16
|
-
const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
|
|
17
|
-
DialogFooter.displayName = "DialogFooter";
|
|
18
|
-
const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props })));
|
|
19
|
-
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
20
|
-
const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
|
|
21
|
-
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
22
|
-
export { Dialog, DialogPortal, DialogOverlay, DialogTrigger, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
|
|
23
|
-
//# sourceMappingURL=dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
3
|
-
declare const DropdownMenu: React.FC<DropdownMenuPrimitive.DropdownMenuProps>;
|
|
4
|
-
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
-
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
-
declare const DropdownMenuPortal: React.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
|
|
7
|
-
declare const DropdownMenuSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
|
|
8
|
-
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
-
declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
10
|
-
inset?: boolean;
|
|
11
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
-
declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
-
declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
15
|
-
inset?: boolean;
|
|
16
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
-
declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
-
declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
19
|
-
declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
20
|
-
inset?: boolean;
|
|
21
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
-
declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
23
|
-
declare const DropdownMenuShortcut: {
|
|
24
|
-
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
|
|
25
|
-
displayName: string;
|
|
26
|
-
};
|
|
27
|
-
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, };
|
|
28
|
-
//# sourceMappingURL=dropdown-menu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/dropdown-menu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAA;AAKtE,QAAA,MAAM,YAAY,mDAA6B,CAAA;AAE/C,QAAA,MAAM,mBAAmB,0HAAgC,CAAA;AAEzD,QAAA,MAAM,iBAAiB,qHAA8B,CAAA;AAErD,QAAA,MAAM,kBAAkB,yDAA+B,CAAA;AAEvD,QAAA,MAAM,eAAe,sDAA4B,CAAA;AAEjD,QAAA,MAAM,sBAAsB,0HAAmC,CAAA;AAE/D,QAAA,MAAM,sBAAsB;YAGhB,OAAO;wCAejB,CAAA;AAIF,QAAA,MAAM,sBAAsB,6KAY1B,CAAA;AAIF,QAAA,MAAM,mBAAmB,0KAgBvB,CAAA;AAGF,QAAA,MAAM,gBAAgB;YAGV,OAAO;wCAYjB,CAAA;AAGF,QAAA,MAAM,wBAAwB,+KAoB5B,CAAA;AAIF,QAAA,MAAM,qBAAqB,4KAmBzB,CAAA;AAGF,QAAA,MAAM,iBAAiB;YAGX,OAAO;wCAYjB,CAAA;AAGF,QAAA,MAAM,qBAAqB,4KASzB,CAAA;AAGF,QAAA,MAAM,oBAAoB;8BAGvB,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAOvC,CAAA;AAGD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,CAAA"}
|