@vadimcomanescu/nadicode-design-system 4.0.4 → 4.0.6

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.
Files changed (63) hide show
  1. package/.agents/skills/seed/SKILL.md +24 -3
  2. package/dist/catalog/catalog.d.ts +168 -0
  3. package/dist/catalog/catalog.js +172 -0
  4. package/dist/catalog/components.d.ts +24 -0
  5. package/dist/catalog/components.js +61 -35
  6. package/dist/chunk-2LUDPRRG.js +24 -0
  7. package/dist/{chunk-RMGDDOCD.js → chunk-3ZPNIY2Z.js} +2 -2
  8. package/dist/chunk-4KZLCCIR.js +88 -0
  9. package/dist/{chunk-AWZFQQGN.js → chunk-6NCLYJAI.js} +2 -2
  10. package/dist/{chunk-K4U67BVG.js → chunk-7ALMTY6W.js} +1 -1
  11. package/dist/chunk-CZ7NGW7N.js +60 -0
  12. package/dist/chunk-FRGZSR2P.js +86 -0
  13. package/dist/{chunk-LGW7FVG5.js → chunk-HMFIUUYC.js} +1 -1
  14. package/dist/chunk-IC3BMFHV.js +86 -0
  15. package/dist/chunk-JVIRZNQ6.js +37 -0
  16. package/dist/chunk-K5AFXZDL.js +30 -0
  17. package/dist/{chunk-LK2L3C7D.js → chunk-LCMAB2BX.js} +3 -3
  18. package/dist/chunk-LIJYUSSE.js +152 -0
  19. package/dist/chunk-MB6TIORE.js +103 -0
  20. package/dist/chunk-PV62D7H6.js +75 -0
  21. package/dist/chunk-QVAV4MA2.js +60 -0
  22. package/dist/{chunk-QW5II6YK.js → chunk-TEWCCMRH.js} +2 -2
  23. package/dist/chunk-WVKJNHQM.js +120 -0
  24. package/dist/chunk-YQCDWJBT.js +184 -0
  25. package/dist/chunk-YZWC4EY4.js +101 -0
  26. package/dist/components/blocks/ApiKeysBlock.d.ts +18 -0
  27. package/dist/components/blocks/ApiKeysBlock.js +128 -0
  28. package/dist/components/blocks/BenchmarksBlock.d.ts +20 -0
  29. package/dist/components/blocks/BenchmarksBlock.js +11 -0
  30. package/dist/components/blocks/CheckEmailBlock.d.ts +9 -0
  31. package/dist/components/blocks/CheckEmailBlock.js +13 -0
  32. package/dist/components/blocks/CommandPaletteBlock.d.ts +9 -0
  33. package/dist/components/blocks/CommandPaletteBlock.js +125 -0
  34. package/dist/components/blocks/EmailVerifiedBlock.d.ts +10 -0
  35. package/dist/components/blocks/EmailVerifiedBlock.js +10 -0
  36. package/dist/components/blocks/ForgotPasswordBlock.d.ts +14 -0
  37. package/dist/components/blocks/ForgotPasswordBlock.js +15 -0
  38. package/dist/components/blocks/IntegrationsBlock.js +3 -3
  39. package/dist/components/blocks/MagicLinkBlock.d.ts +12 -0
  40. package/dist/components/blocks/MagicLinkBlock.js +18 -0
  41. package/dist/components/blocks/OTPBlock.d.ts +10 -0
  42. package/dist/components/blocks/OTPBlock.js +121 -0
  43. package/dist/components/blocks/PasswordChangedBlock.d.ts +10 -0
  44. package/dist/components/blocks/PasswordChangedBlock.js +10 -0
  45. package/dist/components/blocks/PricingTableBlock.d.ts +19 -0
  46. package/dist/components/blocks/PricingTableBlock.js +13 -0
  47. package/dist/components/blocks/SavingsCalculatorBlock.d.ts +30 -0
  48. package/dist/components/blocks/SavingsCalculatorBlock.js +22 -0
  49. package/dist/components/blocks/WorkspaceSwitcherBlock.d.ts +11 -0
  50. package/dist/components/blocks/WorkspaceSwitcherBlock.js +129 -0
  51. package/dist/components/logos/index.js +2 -2
  52. package/dist/components/page-kits/BlogContentPageKit.js +4 -4
  53. package/dist/components/page-kits/CheckoutPageKit.js +3 -3
  54. package/dist/components/page-kits/CompanySuitePageKit.js +4 -4
  55. package/dist/components/page-kits/LandingPageKit.js +5 -5
  56. package/dist/components/page-kits/MarketingShellPageKit.js +2 -2
  57. package/dist/components/page-kits/PricingPageKit.js +4 -4
  58. package/dist/components/page-kits/ServiceSuitePageKit.js +3 -3
  59. package/dist/components/ui/SearchCommand.js +4 -152
  60. package/dist/hooks/useHotkey.js +1 -37
  61. package/package.json +1 -1
  62. package/dist/{chunk-BSCC7OQK.js → chunk-4TUJJ3UI.js} +2 -2
  63. package/dist/{chunk-Z233ZQZE.js → chunk-E4L6LR6P.js} +1 -1
@@ -0,0 +1,184 @@
1
+ import { Heading } from './chunk-WI547C47.js';
2
+ import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-PXDHNGTG.js';
3
+ import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from './chunk-W73JAOHW.js';
4
+ import { Input } from './chunk-AP3XXYAY.js';
5
+ import { Card, CardContent } from './chunk-AH6YSYYT.js';
6
+ import { Button } from './chunk-7KIDDF3I.js';
7
+ import { Trash2Icon } from './chunk-S4GKGKON.js';
8
+ import { PlusIcon } from './chunk-E7RBK6ML.js';
9
+ import { KeyIcon } from './chunk-QSU23VYZ.js';
10
+ import { Badge } from './chunk-S4JAHKOP.js';
11
+ import { CopyIcon } from './chunk-TV4RSQH4.js';
12
+ import { cn } from './chunk-QYZT24TS.js';
13
+ import { useState, useMemo } from 'react';
14
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
15
+
16
+ var DEFAULT_KEYS = [];
17
+ function ApiKeysBlock({
18
+ keys = DEFAULT_KEYS,
19
+ onCreate,
20
+ onRevoke,
21
+ title = "API Keys",
22
+ description = "Manage your API keys",
23
+ className
24
+ }) {
25
+ const [dialogOpen, setDialogOpen] = useState(false);
26
+ const [newKeyName, setNewKeyName] = useState("");
27
+ const [creating, setCreating] = useState(false);
28
+ const [createdKey, setCreatedKey] = useState(null);
29
+ const [copied, setCopied] = useState(false);
30
+ const sortedKeys = useMemo(() => {
31
+ const active = keys.filter((k) => !k.revokedAt);
32
+ const revoked = keys.filter((k) => k.revokedAt);
33
+ return [...active, ...revoked];
34
+ }, [keys]);
35
+ const handleCreate = async () => {
36
+ if (!newKeyName.trim() || !onCreate) return;
37
+ setCreating(true);
38
+ try {
39
+ const result = await onCreate(newKeyName.trim());
40
+ if (typeof result === "string") {
41
+ setCreatedKey(result);
42
+ } else {
43
+ handleDialogClose();
44
+ }
45
+ } finally {
46
+ setCreating(false);
47
+ setNewKeyName("");
48
+ }
49
+ };
50
+ const handleCopy = async (text) => {
51
+ await navigator.clipboard.writeText(text);
52
+ setCopied(true);
53
+ setTimeout(() => setCopied(false), 2e3);
54
+ };
55
+ const handleDialogClose = () => {
56
+ setDialogOpen(false);
57
+ setCreatedKey(null);
58
+ setNewKeyName("");
59
+ };
60
+ return /* @__PURE__ */ jsx("section", { className: cn("py-16 md:py-24", className), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-4xl px-6", children: [
61
+ /* @__PURE__ */ jsxs("div", { className: "mb-8 flex items-center justify-between", children: [
62
+ /* @__PURE__ */ jsxs("div", { children: [
63
+ !!title && /* @__PURE__ */ jsx(Heading, { level: 2, size: "section", className: "text-text-primary", children: title }),
64
+ !!description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-text-secondary", children: description })
65
+ ] }),
66
+ /* @__PURE__ */ jsxs(
67
+ Dialog,
68
+ {
69
+ open: dialogOpen,
70
+ onOpenChange: (open) => {
71
+ if (!open) handleDialogClose();
72
+ else setDialogOpen(true);
73
+ },
74
+ children: [
75
+ /* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { children: [
76
+ /* @__PURE__ */ jsx(PlusIcon, { size: 16, className: "mr-2" }),
77
+ "Create API Key"
78
+ ] }) }),
79
+ /* @__PURE__ */ jsx(DialogContent, { children: createdKey ? /* @__PURE__ */ jsxs(Fragment, { children: [
80
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [
81
+ /* @__PURE__ */ jsx(DialogTitle, { children: "API Key Created" }),
82
+ /* @__PURE__ */ jsxs(DialogDescription, { children: [
83
+ "Copy this key now. You won",
84
+ "'",
85
+ "t be able to see it again."
86
+ ] })
87
+ ] }),
88
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
89
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 rounded-lg border border-border bg-surface/80 p-3 font-mono text-sm break-all", children: [
90
+ /* @__PURE__ */ jsx("span", { className: "flex-1", children: createdKey }),
91
+ /* @__PURE__ */ jsxs(
92
+ Button,
93
+ {
94
+ size: "sm",
95
+ variant: "outline",
96
+ onClick: () => handleCopy(createdKey),
97
+ children: [
98
+ /* @__PURE__ */ jsx(CopyIcon, { size: 14, className: "mr-1" }),
99
+ copied ? "Copied!" : "Copy"
100
+ ]
101
+ }
102
+ )
103
+ ] }),
104
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-destructive/80", children: "This key will not be shown again. Store it securely." })
105
+ ] }),
106
+ /* @__PURE__ */ jsx(DialogFooter, { children: /* @__PURE__ */ jsx(Button, { onClick: handleDialogClose, children: "Done" }) })
107
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
108
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [
109
+ /* @__PURE__ */ jsx(DialogTitle, { children: "Create API Key" }),
110
+ /* @__PURE__ */ jsx(DialogDescription, { children: "Give your key a name to identify it later." })
111
+ ] }),
112
+ /* @__PURE__ */ jsx("div", { className: "space-y-4 py-4", children: /* @__PURE__ */ jsx(
113
+ Input,
114
+ {
115
+ name: "name",
116
+ placeholder: "e.g., Production server",
117
+ value: newKeyName,
118
+ onChange: (e) => setNewKeyName(e.target.value),
119
+ onKeyDown: (e) => {
120
+ if (e.key === "Enter") handleCreate();
121
+ }
122
+ }
123
+ ) }),
124
+ /* @__PURE__ */ jsxs(DialogFooter, { children: [
125
+ /* @__PURE__ */ jsx(Button, { variant: "outline", onClick: handleDialogClose, children: "Cancel" }),
126
+ /* @__PURE__ */ jsx(
127
+ Button,
128
+ {
129
+ onClick: handleCreate,
130
+ disabled: creating || !newKeyName.trim(),
131
+ children: creating ? "Creating..." : "Create"
132
+ }
133
+ )
134
+ ] })
135
+ ] }) })
136
+ ]
137
+ }
138
+ )
139
+ ] }),
140
+ /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { className: "overflow-x-auto pt-6", children: keys.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "space-y-4 py-12 text-center", children: [
141
+ /* @__PURE__ */ jsx(KeyIcon, { size: 40, className: "mx-auto text-text-tertiary" }),
142
+ /* @__PURE__ */ jsx(Heading, { level: 3, size: "label", className: "text-text-primary", children: "No API keys yet" }),
143
+ /* @__PURE__ */ jsx("p", { className: "text-text-secondary", children: "Create your first API key to get started." })
144
+ ] }) : /* @__PURE__ */ jsxs(Table, { children: [
145
+ /* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsxs(TableRow, { children: [
146
+ /* @__PURE__ */ jsx(TableHead, { children: "Name" }),
147
+ /* @__PURE__ */ jsx(TableHead, { children: "Key" }),
148
+ /* @__PURE__ */ jsx(TableHead, { className: "hidden md:table-cell", children: "Created" }),
149
+ /* @__PURE__ */ jsx(TableHead, { className: "hidden md:table-cell", children: "Last Used" }),
150
+ /* @__PURE__ */ jsx(TableHead, { children: "Status" }),
151
+ /* @__PURE__ */ jsx(TableHead, { className: "text-right", children: "Action" })
152
+ ] }) }),
153
+ /* @__PURE__ */ jsx(TableBody, { children: sortedKeys.map((key) => /* @__PURE__ */ jsxs(TableRow, { children: [
154
+ /* @__PURE__ */ jsx(TableCell, { className: "font-medium", children: key.name }),
155
+ /* @__PURE__ */ jsx(TableCell, { className: "font-mono text-xs text-text-tertiary", children: key.prefix }),
156
+ /* @__PURE__ */ jsx(TableCell, { className: "hidden text-text-secondary md:table-cell", children: new Date(key.createdAt).toLocaleDateString() }),
157
+ /* @__PURE__ */ jsx(TableCell, { className: "hidden text-text-secondary md:table-cell", children: key.lastUsedAt ? new Date(key.lastUsedAt).toLocaleDateString() : "Never" }),
158
+ /* @__PURE__ */ jsx(TableCell, { children: key.revokedAt ? /* @__PURE__ */ jsx(
159
+ Badge,
160
+ {
161
+ variant: "outline",
162
+ className: "text-destructive/80",
163
+ children: "Revoked"
164
+ }
165
+ ) : /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "text-chart-4", children: "Active" }) }),
166
+ /* @__PURE__ */ jsx(TableCell, { className: "text-right", children: !key.revokedAt && onRevoke && /* @__PURE__ */ jsxs(
167
+ Button,
168
+ {
169
+ size: "sm",
170
+ variant: "outline",
171
+ className: "text-destructive/80 hover:text-destructive",
172
+ onClick: () => onRevoke(key.id),
173
+ children: [
174
+ /* @__PURE__ */ jsx(Trash2Icon, { size: 14, className: "mr-1" }),
175
+ "Revoke"
176
+ ]
177
+ }
178
+ ) })
179
+ ] }, key.id)) })
180
+ ] }) }) })
181
+ ] }) });
182
+ }
183
+
184
+ export { ApiKeysBlock };
@@ -0,0 +1,101 @@
1
+ import { StaggerChildren } from './chunk-DQPK2XRL.js';
2
+ import { Heading } from './chunk-WI547C47.js';
3
+ import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from './chunk-AH6YSYYT.js';
4
+ import { Button } from './chunk-7KIDDF3I.js';
5
+ import { CheckIcon } from './chunk-CXACRCZ4.js';
6
+ import { Badge } from './chunk-S4JAHKOP.js';
7
+ import { cn } from './chunk-QYZT24TS.js';
8
+ import { jsx, jsxs } from 'react/jsx-runtime';
9
+
10
+ var DEFAULT_PLANS = [
11
+ {
12
+ name: "Free",
13
+ price: "$0",
14
+ period: "mo",
15
+ description: "Per editor",
16
+ features: ["Basic Analytics Dashboard", "5GB Cloud Storage", "Email and Chat Support"],
17
+ buttonVariant: "outline"
18
+ },
19
+ {
20
+ name: "Pro",
21
+ price: "$19",
22
+ period: "mo",
23
+ description: "Per editor",
24
+ features: [
25
+ "Everything in Free Plan",
26
+ "5GB Cloud Storage",
27
+ "Email and Chat Support",
28
+ "Access to Community Forum",
29
+ "Single User Access",
30
+ "Access to Basic Templates",
31
+ "Mobile App Access",
32
+ "1 Custom Report Per Month",
33
+ "Monthly Product Updates",
34
+ "Standard Security Features"
35
+ ],
36
+ highlighted: true,
37
+ badge: "Popular"
38
+ },
39
+ {
40
+ name: "Startup",
41
+ price: "$29",
42
+ period: "mo",
43
+ description: "Per editor",
44
+ features: ["Everything in Pro Plan", "5GB Cloud Storage", "Email and Chat Support"],
45
+ buttonVariant: "outline"
46
+ }
47
+ ];
48
+ function PricingTableBlock({
49
+ heading = "Pricing that Scales with You",
50
+ subheading = "Gemini is evolving to be more than just the models. It supports an entire to the APIs and platforms helping developers and businesses innovate.",
51
+ plans = DEFAULT_PLANS,
52
+ onSelectPlan,
53
+ className
54
+ }) {
55
+ return /* @__PURE__ */ jsx("section", { className: cn("py-16 md:py-32", className), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-6xl px-6", children: [
56
+ /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-2xl space-y-6 text-center", children: [
57
+ /* @__PURE__ */ jsx(Heading, { level: 2, size: "section", className: "text-center", children: heading }),
58
+ /* @__PURE__ */ jsx("p", { className: "text-text-secondary", children: subheading })
59
+ ] }),
60
+ /* @__PURE__ */ jsx(StaggerChildren, { staggerMs: 120, className: "mt-8 grid gap-6 md:mt-20 md:grid-cols-3", children: plans.map((plan) => /* @__PURE__ */ jsxs(
61
+ Card,
62
+ {
63
+ className: plan.highlighted ? "relative" : "flex flex-col",
64
+ interactive: true,
65
+ children: [
66
+ !!plan.badge && /* @__PURE__ */ jsx(Badge, { className: "absolute inset-x-0 -top-3 mx-auto w-fit", children: plan.badge }),
67
+ /* @__PURE__ */ jsxs("div", { className: plan.highlighted ? "flex flex-col" : void 0, children: [
68
+ /* @__PURE__ */ jsxs(CardHeader, { children: [
69
+ /* @__PURE__ */ jsx(CardTitle, { className: "font-medium", children: plan.name }),
70
+ /* @__PURE__ */ jsxs("span", { className: "my-3 block text-2xl font-semibold tabular-nums", children: [
71
+ plan.price,
72
+ " / ",
73
+ plan.period
74
+ ] }),
75
+ /* @__PURE__ */ jsx(CardDescription, { className: "text-sm", children: plan.description })
76
+ ] }),
77
+ /* @__PURE__ */ jsxs(CardContent, { className: "space-y-4", children: [
78
+ /* @__PURE__ */ jsx("hr", { className: "border-dashed" }),
79
+ /* @__PURE__ */ jsx("ul", { className: "list-outside space-y-3 text-sm", children: plan.features.map((feature, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-2", children: [
80
+ /* @__PURE__ */ jsx(CheckIcon, { size: 12 }),
81
+ feature
82
+ ] }, index)) })
83
+ ] }),
84
+ /* @__PURE__ */ jsx(CardFooter, { className: plan.highlighted ? void 0 : "mt-auto", children: /* @__PURE__ */ jsx(
85
+ Button,
86
+ {
87
+ variant: plan.buttonVariant ?? "primary",
88
+ className: "w-full",
89
+ onClick: () => onSelectPlan?.(plan.name),
90
+ children: "Get Started"
91
+ }
92
+ ) })
93
+ ] })
94
+ ]
95
+ },
96
+ plan.name
97
+ )) })
98
+ ] }) });
99
+ }
100
+
101
+ export { PricingTableBlock };
@@ -0,0 +1,18 @@
1
+ interface ApiKey {
2
+ id: string;
3
+ name: string;
4
+ prefix: string;
5
+ createdAt: string;
6
+ lastUsedAt: string | null;
7
+ revokedAt: string | null;
8
+ }
9
+ interface ApiKeysBlockProps {
10
+ keys?: ApiKey[];
11
+ onCreate?: (name: string) => Promise<string | void> | string | void;
12
+ onRevoke?: (keyId: string) => void | Promise<void>;
13
+ title?: string;
14
+ description?: string;
15
+ className?: string;
16
+ }
17
+ export declare function ApiKeysBlock({ keys, onCreate, onRevoke, title, description, className, }: ApiKeysBlockProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,128 @@
1
+ 'use client';
2
+ export { ApiKeysBlock } from '../../chunk-YQCDWJBT.js';
3
+ import '../../chunk-WI547C47.js';
4
+ import '../../chunk-PXDHNGTG.js';
5
+ import '../../chunk-W73JAOHW.js';
6
+ import '../../chunk-AP3XXYAY.js';
7
+ import '../../chunk-LIBXYD5Q.js';
8
+ import '../../chunk-KRBLVZII.js';
9
+ import '../../chunk-AH6YSYYT.js';
10
+ import '../../chunk-7KIDDF3I.js';
11
+ import '../../chunk-6FOHUNXR.js';
12
+ import '../../chunk-PD2YEH3H.js';
13
+ import '../../chunk-CRY67BIF.js';
14
+ import '../../chunk-HJC6U46F.js';
15
+ import '../../chunk-GO35FTNJ.js';
16
+ import '../../chunk-WUO7OONN.js';
17
+ import '../../chunk-FLF5AMNO.js';
18
+ import '../../chunk-3CLXYQKB.js';
19
+ import '../../chunk-S4GKGKON.js';
20
+ import '../../chunk-LCDDAE7J.js';
21
+ import '../../chunk-R674XI7C.js';
22
+ import '../../chunk-HNY45VUQ.js';
23
+ import '../../chunk-BPCCTJSK.js';
24
+ import '../../chunk-CGUCH322.js';
25
+ import '../../chunk-ELKIUARM.js';
26
+ import '../../chunk-KSHJQ2VT.js';
27
+ import '../../chunk-GAKU7DFY.js';
28
+ import '../../chunk-T6BRD7TS.js';
29
+ import '../../chunk-TXGANOAX.js';
30
+ import '../../chunk-OITJWGFV.js';
31
+ import '../../chunk-Z74D6D2W.js';
32
+ import '../../chunk-7WDT2PRI.js';
33
+ import '../../chunk-IJJI4RQU.js';
34
+ import '../../chunk-E7RBK6ML.js';
35
+ import '../../chunk-UBIGDGOP.js';
36
+ import '../../chunk-ALMGJVMT.js';
37
+ import '../../chunk-QPXTBZWN.js';
38
+ import '../../chunk-4NXZIMYZ.js';
39
+ import '../../chunk-R5XP45PD.js';
40
+ import '../../chunk-G5EO5FWC.js';
41
+ import '../../chunk-NCULQXJE.js';
42
+ import '../../chunk-VDYPDMYR.js';
43
+ import '../../chunk-WDGIQDQG.js';
44
+ import '../../chunk-RYOTIXZO.js';
45
+ import '../../chunk-JZ4G2SJH.js';
46
+ import '../../chunk-KYGKJ553.js';
47
+ import '../../chunk-M7YSMMAC.js';
48
+ import '../../chunk-XQ2UDMPO.js';
49
+ import '../../chunk-JMCSAGZ3.js';
50
+ import '../../chunk-QUKDUSHD.js';
51
+ import '../../chunk-O74AEVHW.js';
52
+ import '../../chunk-ZUHIWALK.js';
53
+ import '../../chunk-2IZC7HSV.js';
54
+ import '../../chunk-2SDZMTB2.js';
55
+ import '../../chunk-IQEBXXB5.js';
56
+ import '../../chunk-AZUJNRQU.js';
57
+ import '../../chunk-W3B3UOEG.js';
58
+ import '../../chunk-ACRVOD7W.js';
59
+ import '../../chunk-QSU23VYZ.js';
60
+ import '../../chunk-BJYCQ2NV.js';
61
+ import '../../chunk-VM462WZC.js';
62
+ import '../../chunk-5UZDOF6V.js';
63
+ import '../../chunk-PKVTEDKO.js';
64
+ import '../../chunk-I3TH7PIB.js';
65
+ import '../../chunk-WGPK3FQ7.js';
66
+ import '../../chunk-JL4MVVFH.js';
67
+ import '../../chunk-4FEAWXJD.js';
68
+ import '../../chunk-JHQTKMKG.js';
69
+ import '../../chunk-WA45EC4Y.js';
70
+ import '../../chunk-2MOEOEOI.js';
71
+ import '../../chunk-5LCXASRW.js';
72
+ import '../../chunk-2ZJVU7NV.js';
73
+ import '../../chunk-5ESF6N36.js';
74
+ import '../../chunk-RBPLOM3A.js';
75
+ import '../../chunk-6BAV4TZ5.js';
76
+ import '../../chunk-SW6QPJM4.js';
77
+ import '../../chunk-2NT57K4U.js';
78
+ import '../../chunk-JRJGSNI4.js';
79
+ import '../../chunk-RF6ECFS5.js';
80
+ import '../../chunk-KYZT3RNW.js';
81
+ import '../../chunk-UEG2LI7Z.js';
82
+ import '../../chunk-CI7GPGCJ.js';
83
+ import '../../chunk-226EBOTK.js';
84
+ import '../../chunk-74RKVIBV.js';
85
+ import '../../chunk-V6WNRZT3.js';
86
+ import '../../chunk-JBK2LA6U.js';
87
+ import '../../chunk-55U27XY4.js';
88
+ import '../../chunk-LSPO6OBI.js';
89
+ import '../../chunk-Y56WBNCY.js';
90
+ import '../../chunk-JJTQOH7J.js';
91
+ import '../../chunk-72X6SXOX.js';
92
+ import '../../chunk-SR5U52V3.js';
93
+ import '../../chunk-AWIJHDNK.js';
94
+ import '../../chunk-MAUTIHQG.js';
95
+ import '../../chunk-S733NAYS.js';
96
+ import '../../chunk-666N6OTL.js';
97
+ import '../../chunk-FMH55OKV.js';
98
+ import '../../chunk-WXVNTJIB.js';
99
+ import '../../chunk-T7H53CK2.js';
100
+ import '../../chunk-TBKJ34BB.js';
101
+ import '../../chunk-BRP6D56U.js';
102
+ import '../../chunk-6G3RRWJT.js';
103
+ import '../../chunk-ZU2GYVAP.js';
104
+ import '../../chunk-CRZ2JE24.js';
105
+ import '../../chunk-PSVQ7ZNX.js';
106
+ import '../../chunk-WKRIKCJC.js';
107
+ import '../../chunk-JHQ5NMLZ.js';
108
+ import '../../chunk-WFJQ43SM.js';
109
+ import '../../chunk-AP5Y5M3R.js';
110
+ import '../../chunk-Q7LVUGFL.js';
111
+ import '../../chunk-G5YLGJXR.js';
112
+ import '../../chunk-G24VV5NO.js';
113
+ import '../../chunk-R3AO6AZM.js';
114
+ import '../../chunk-GCUTJI7M.js';
115
+ import '../../chunk-CXACRCZ4.js';
116
+ import '../../chunk-P6IRHPFM.js';
117
+ import '../../chunk-SXHYB7JB.js';
118
+ import '../../chunk-BFLN54VR.js';
119
+ import '../../chunk-ONGJ7AC2.js';
120
+ import '../../chunk-UHXGBV5N.js';
121
+ import '../../chunk-UIUMTURU.js';
122
+ import '../../chunk-PRUXIDBD.js';
123
+ import '../../chunk-NURPUVUV.js';
124
+ import '../../chunk-S4JAHKOP.js';
125
+ import '../../chunk-TV4RSQH4.js';
126
+ import '../../chunk-HJBXUXTD.js';
127
+ import '../../chunk-ASKFAYYR.js';
128
+ import '../../chunk-QYZT24TS.js';
@@ -0,0 +1,20 @@
1
+ interface BenchmarkRow {
2
+ cells: string[];
3
+ highlight?: boolean;
4
+ }
5
+ interface BenchmarkDataset {
6
+ name: string;
7
+ description: string;
8
+ columns: string[];
9
+ rows: BenchmarkRow[];
10
+ }
11
+ interface BenchmarksBlockProps {
12
+ badgeLabel?: string;
13
+ title?: string;
14
+ subtitle?: string;
15
+ datasets?: BenchmarkDataset[];
16
+ staggerMs?: number;
17
+ className?: string;
18
+ }
19
+ export declare function BenchmarksBlock({ badgeLabel, title, subtitle, datasets, staggerMs, className, }: BenchmarksBlockProps): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ export { BenchmarksBlock } from '../../chunk-MB6TIORE.js';
3
+ import '../../chunk-DQPK2XRL.js';
4
+ import '../../chunk-WI547C47.js';
5
+ import '../../chunk-PXDHNGTG.js';
6
+ import '../../chunk-AH6YSYYT.js';
7
+ import '../../chunk-PD2YEH3H.js';
8
+ import '../../chunk-CRY67BIF.js';
9
+ import '../../chunk-HJC6U46F.js';
10
+ import '../../chunk-S4JAHKOP.js';
11
+ import '../../chunk-QYZT24TS.js';
@@ -0,0 +1,9 @@
1
+ interface CheckEmailBlockProps {
2
+ className?: string;
3
+ email?: string;
4
+ type?: "verification" | "reset" | "magic-link";
5
+ onResend?: () => void;
6
+ onBackToLogin?: () => void;
7
+ }
8
+ export declare function CheckEmailBlock({ className, email, type, onResend, onBackToLogin, }: CheckEmailBlockProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ export { CheckEmailBlock } from '../../chunk-4KZLCCIR.js';
3
+ import '../../chunk-ZLSWCV55.js';
4
+ import '../../chunk-CUZJIDU7.js';
5
+ import '../../chunk-AH6YSYYT.js';
6
+ import '../../chunk-7KIDDF3I.js';
7
+ import '../../chunk-PD2YEH3H.js';
8
+ import '../../chunk-CRY67BIF.js';
9
+ import '../../chunk-HJC6U46F.js';
10
+ import '../../chunk-XQ2UDMPO.js';
11
+ import '../../chunk-S4JAHKOP.js';
12
+ import '../../chunk-ASKFAYYR.js';
13
+ import '../../chunk-QYZT24TS.js';
@@ -0,0 +1,9 @@
1
+ import type { SearchResult } from '../ui/SearchCommand';
2
+ interface CommandPaletteBlockProps {
3
+ items?: SearchResult[];
4
+ onSelect?: (result: SearchResult) => void;
5
+ placeholder?: string;
6
+ className?: string;
7
+ }
8
+ export declare function CommandPaletteBlock({ items, onSelect, placeholder, className, }: CommandPaletteBlockProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,125 @@
1
+ 'use client';
2
+ export { CommandPaletteBlock } from '../../chunk-FRGZSR2P.js';
3
+ import '../../chunk-JVIRZNQ6.js';
4
+ import '../../chunk-LIJYUSSE.js';
5
+ import '../../chunk-W73JAOHW.js';
6
+ import '../../chunk-KRBLVZII.js';
7
+ import '../../chunk-7KIDDF3I.js';
8
+ import '../../chunk-6FOHUNXR.js';
9
+ import '../../chunk-PD2YEH3H.js';
10
+ import '../../chunk-CRY67BIF.js';
11
+ import '../../chunk-HJC6U46F.js';
12
+ import '../../chunk-GO35FTNJ.js';
13
+ import '../../chunk-WUO7OONN.js';
14
+ import '../../chunk-FLF5AMNO.js';
15
+ import '../../chunk-3CLXYQKB.js';
16
+ import '../../chunk-S4GKGKON.js';
17
+ import '../../chunk-LCDDAE7J.js';
18
+ import '../../chunk-R674XI7C.js';
19
+ import '../../chunk-HNY45VUQ.js';
20
+ import '../../chunk-BPCCTJSK.js';
21
+ import '../../chunk-CGUCH322.js';
22
+ import '../../chunk-ELKIUARM.js';
23
+ import '../../chunk-KSHJQ2VT.js';
24
+ import '../../chunk-GAKU7DFY.js';
25
+ import '../../chunk-T6BRD7TS.js';
26
+ import '../../chunk-TXGANOAX.js';
27
+ import '../../chunk-OITJWGFV.js';
28
+ import '../../chunk-Z74D6D2W.js';
29
+ import '../../chunk-7WDT2PRI.js';
30
+ import '../../chunk-IJJI4RQU.js';
31
+ import '../../chunk-E7RBK6ML.js';
32
+ import '../../chunk-UBIGDGOP.js';
33
+ import '../../chunk-ALMGJVMT.js';
34
+ import '../../chunk-QPXTBZWN.js';
35
+ import '../../chunk-4NXZIMYZ.js';
36
+ import '../../chunk-R5XP45PD.js';
37
+ import '../../chunk-G5EO5FWC.js';
38
+ import '../../chunk-NCULQXJE.js';
39
+ import '../../chunk-VDYPDMYR.js';
40
+ import '../../chunk-WDGIQDQG.js';
41
+ import '../../chunk-RYOTIXZO.js';
42
+ import '../../chunk-JZ4G2SJH.js';
43
+ import '../../chunk-KYGKJ553.js';
44
+ import '../../chunk-M7YSMMAC.js';
45
+ import '../../chunk-XQ2UDMPO.js';
46
+ import '../../chunk-JMCSAGZ3.js';
47
+ import '../../chunk-QUKDUSHD.js';
48
+ import '../../chunk-O74AEVHW.js';
49
+ import '../../chunk-ZUHIWALK.js';
50
+ import '../../chunk-2IZC7HSV.js';
51
+ import '../../chunk-2SDZMTB2.js';
52
+ import '../../chunk-IQEBXXB5.js';
53
+ import '../../chunk-AZUJNRQU.js';
54
+ import '../../chunk-W3B3UOEG.js';
55
+ import '../../chunk-ACRVOD7W.js';
56
+ import '../../chunk-QSU23VYZ.js';
57
+ import '../../chunk-BJYCQ2NV.js';
58
+ import '../../chunk-VM462WZC.js';
59
+ import '../../chunk-5UZDOF6V.js';
60
+ import '../../chunk-PKVTEDKO.js';
61
+ import '../../chunk-I3TH7PIB.js';
62
+ import '../../chunk-WGPK3FQ7.js';
63
+ import '../../chunk-JL4MVVFH.js';
64
+ import '../../chunk-4FEAWXJD.js';
65
+ import '../../chunk-JHQTKMKG.js';
66
+ import '../../chunk-WA45EC4Y.js';
67
+ import '../../chunk-2MOEOEOI.js';
68
+ import '../../chunk-5LCXASRW.js';
69
+ import '../../chunk-2ZJVU7NV.js';
70
+ import '../../chunk-5ESF6N36.js';
71
+ import '../../chunk-RBPLOM3A.js';
72
+ import '../../chunk-6BAV4TZ5.js';
73
+ import '../../chunk-SW6QPJM4.js';
74
+ import '../../chunk-2NT57K4U.js';
75
+ import '../../chunk-JRJGSNI4.js';
76
+ import '../../chunk-RF6ECFS5.js';
77
+ import '../../chunk-KYZT3RNW.js';
78
+ import '../../chunk-UEG2LI7Z.js';
79
+ import '../../chunk-CI7GPGCJ.js';
80
+ import '../../chunk-226EBOTK.js';
81
+ import '../../chunk-74RKVIBV.js';
82
+ import '../../chunk-V6WNRZT3.js';
83
+ import '../../chunk-JBK2LA6U.js';
84
+ import '../../chunk-55U27XY4.js';
85
+ import '../../chunk-LSPO6OBI.js';
86
+ import '../../chunk-Y56WBNCY.js';
87
+ import '../../chunk-JJTQOH7J.js';
88
+ import '../../chunk-72X6SXOX.js';
89
+ import '../../chunk-SR5U52V3.js';
90
+ import '../../chunk-AWIJHDNK.js';
91
+ import '../../chunk-MAUTIHQG.js';
92
+ import '../../chunk-S733NAYS.js';
93
+ import '../../chunk-666N6OTL.js';
94
+ import '../../chunk-FMH55OKV.js';
95
+ import '../../chunk-WXVNTJIB.js';
96
+ import '../../chunk-T7H53CK2.js';
97
+ import '../../chunk-TBKJ34BB.js';
98
+ import '../../chunk-BRP6D56U.js';
99
+ import '../../chunk-6G3RRWJT.js';
100
+ import '../../chunk-ZU2GYVAP.js';
101
+ import '../../chunk-CRZ2JE24.js';
102
+ import '../../chunk-PSVQ7ZNX.js';
103
+ import '../../chunk-WKRIKCJC.js';
104
+ import '../../chunk-JHQ5NMLZ.js';
105
+ import '../../chunk-WFJQ43SM.js';
106
+ import '../../chunk-AP5Y5M3R.js';
107
+ import '../../chunk-Q7LVUGFL.js';
108
+ import '../../chunk-G5YLGJXR.js';
109
+ import '../../chunk-G24VV5NO.js';
110
+ import '../../chunk-R3AO6AZM.js';
111
+ import '../../chunk-GCUTJI7M.js';
112
+ import '../../chunk-CXACRCZ4.js';
113
+ import '../../chunk-P6IRHPFM.js';
114
+ import '../../chunk-SXHYB7JB.js';
115
+ import '../../chunk-BFLN54VR.js';
116
+ import '../../chunk-ONGJ7AC2.js';
117
+ import '../../chunk-UHXGBV5N.js';
118
+ import '../../chunk-UIUMTURU.js';
119
+ import '../../chunk-PRUXIDBD.js';
120
+ import '../../chunk-NURPUVUV.js';
121
+ import '../../chunk-S4JAHKOP.js';
122
+ import '../../chunk-TV4RSQH4.js';
123
+ import '../../chunk-HJBXUXTD.js';
124
+ import '../../chunk-ASKFAYYR.js';
125
+ import '../../chunk-QYZT24TS.js';
@@ -0,0 +1,10 @@
1
+ interface EmailVerifiedBlockProps {
2
+ className?: string;
3
+ title?: string;
4
+ description?: string;
5
+ buttonText?: string;
6
+ onContinue?: () => void;
7
+ autoRedirectSeconds?: number;
8
+ }
9
+ export declare function EmailVerifiedBlock({ className, title, description, buttonText, onContinue, autoRedirectSeconds, }: EmailVerifiedBlockProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ export { EmailVerifiedBlock } from '../../chunk-CZ7NGW7N.js';
3
+ import '../../chunk-AH6YSYYT.js';
4
+ import '../../chunk-7KIDDF3I.js';
5
+ import '../../chunk-PD2YEH3H.js';
6
+ import '../../chunk-CRY67BIF.js';
7
+ import '../../chunk-HJC6U46F.js';
8
+ import '../../chunk-CXACRCZ4.js';
9
+ import '../../chunk-ASKFAYYR.js';
10
+ import '../../chunk-QYZT24TS.js';