@mdxui/cockpit 0.2.0

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.
@@ -0,0 +1,154 @@
1
+ "use client";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+
34
+ // src/auth/login-page.tsx
35
+ import { LoginForm } from "@mdxui/primitives/auth/login-form";
36
+
37
+ // src/auth/auth-layout.tsx
38
+ import { cn } from "@mdxui/primitives/lib/utils";
39
+ import { jsx, jsxs } from "react/jsx-runtime";
40
+ function AuthLayout(_a) {
41
+ var _b = _a, {
42
+ className,
43
+ children,
44
+ title,
45
+ subtitle,
46
+ logo,
47
+ backgroundImage,
48
+ showTestimonial = false,
49
+ testimonial
50
+ } = _b, props = __objRest(_b, [
51
+ "className",
52
+ "children",
53
+ "title",
54
+ "subtitle",
55
+ "logo",
56
+ "backgroundImage",
57
+ "showTestimonial",
58
+ "testimonial"
59
+ ]);
60
+ return /* @__PURE__ */ jsxs("div", __spreadProps(__spreadValues({ className: cn("min-h-screen w-full lg:grid lg:grid-cols-2", className) }, props), { children: [
61
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-[400px] space-y-8 px-4", children: [
62
+ logo && /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: logo }),
63
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "space-y-2 text-center", children: [
64
+ title && /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold tracking-tight", children: title }),
65
+ subtitle && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: subtitle })
66
+ ] }),
67
+ /* @__PURE__ */ jsx("div", { children })
68
+ ] }) }),
69
+ /* @__PURE__ */ jsx(
70
+ "div",
71
+ {
72
+ className: "bg-muted hidden lg:block",
73
+ style: backgroundImage ? {
74
+ backgroundImage: `url(${backgroundImage})`,
75
+ backgroundSize: "cover",
76
+ backgroundPosition: "center"
77
+ } : void 0,
78
+ children: showTestimonial && testimonial && !backgroundImage && /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center p-12", children: /* @__PURE__ */ jsx("div", { className: "max-w-md space-y-6", children: /* @__PURE__ */ jsxs("blockquote", { className: "space-y-4", children: [
79
+ /* @__PURE__ */ jsxs("p", { className: "text-lg font-medium leading-relaxed", children: [
80
+ '"',
81
+ testimonial.quote,
82
+ '"'
83
+ ] }),
84
+ /* @__PURE__ */ jsxs("footer", { className: "flex items-center gap-3", children: [
85
+ testimonial.avatar && /* @__PURE__ */ jsx(
86
+ "img",
87
+ {
88
+ src: testimonial.avatar,
89
+ alt: testimonial.author,
90
+ className: "size-10 rounded-full"
91
+ }
92
+ ),
93
+ /* @__PURE__ */ jsxs("div", { children: [
94
+ /* @__PURE__ */ jsx("div", { className: "font-semibold", children: testimonial.author }),
95
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground text-sm", children: testimonial.role })
96
+ ] })
97
+ ] })
98
+ ] }) }) })
99
+ }
100
+ )
101
+ ] }));
102
+ }
103
+
104
+ // src/auth/login-page.tsx
105
+ import { jsx as jsx2 } from "react/jsx-runtime";
106
+ function LoginPage({
107
+ onSubmit,
108
+ onOAuthClick,
109
+ onMagicLinkClick,
110
+ onForgotPasswordClick,
111
+ onSignupClick,
112
+ isLoading,
113
+ showOAuth = true,
114
+ showMagicLink = false,
115
+ oauthProviders = ["google", "github"],
116
+ error,
117
+ logo,
118
+ title = "Welcome back",
119
+ subtitle = "Sign in to your account to continue",
120
+ backgroundImage,
121
+ showTestimonial = false,
122
+ testimonial
123
+ }) {
124
+ return /* @__PURE__ */ jsx2(
125
+ AuthLayout,
126
+ {
127
+ logo,
128
+ title,
129
+ subtitle,
130
+ backgroundImage,
131
+ showTestimonial,
132
+ testimonial,
133
+ children: /* @__PURE__ */ jsx2(
134
+ LoginForm,
135
+ {
136
+ onSubmit,
137
+ onOAuthClick,
138
+ onMagicLinkClick,
139
+ onForgotPasswordClick,
140
+ onSignupClick,
141
+ isLoading,
142
+ showOAuth,
143
+ showMagicLink,
144
+ oauthProviders,
145
+ error
146
+ }
147
+ )
148
+ }
149
+ );
150
+ }
151
+ export {
152
+ LoginPage
153
+ };
154
+ //# sourceMappingURL=login-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/login-page.tsx","../../src/auth/auth-layout.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { LoginForm } from \"@mdxui/primitives/auth/login-form\"\nimport { AuthLayout } from \"./auth-layout\"\n\nexport interface LoginPageProps {\n onSubmit?: (data: { email: string; password: string; rememberMe?: boolean }) => void | Promise<void>\n onOAuthClick?: (provider: \"google\" | \"github\" | \"microsoft\") => void | Promise<void>\n onMagicLinkClick?: (email: string) => void | Promise<void>\n onForgotPasswordClick?: () => void\n onSignupClick?: () => void\n isLoading?: boolean\n showOAuth?: boolean\n showMagicLink?: boolean\n oauthProviders?: Array<\"google\" | \"github\" | \"microsoft\">\n error?: string\n logo?: React.ReactNode\n title?: string\n subtitle?: string\n backgroundImage?: string\n showTestimonial?: boolean\n testimonial?: {\n quote: string\n author: string\n role: string\n avatar?: string\n }\n}\n\nfunction LoginPage({\n onSubmit,\n onOAuthClick,\n onMagicLinkClick,\n onForgotPasswordClick,\n onSignupClick,\n isLoading,\n showOAuth = true,\n showMagicLink = false,\n oauthProviders = [\"google\", \"github\"],\n error,\n logo,\n title = \"Welcome back\",\n subtitle = \"Sign in to your account to continue\",\n backgroundImage,\n showTestimonial = false,\n testimonial,\n}: LoginPageProps) {\n return (\n <AuthLayout\n logo={logo}\n title={title}\n subtitle={subtitle}\n backgroundImage={backgroundImage}\n showTestimonial={showTestimonial}\n testimonial={testimonial}\n >\n <LoginForm\n onSubmit={onSubmit}\n onOAuthClick={onOAuthClick}\n onMagicLinkClick={onMagicLinkClick}\n onForgotPasswordClick={onForgotPasswordClick}\n onSignupClick={onSignupClick}\n isLoading={isLoading}\n showOAuth={showOAuth}\n showMagicLink={showMagicLink}\n oauthProviders={oauthProviders}\n error={error}\n />\n </AuthLayout>\n )\n}\n\nexport { LoginPage }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"@mdxui/primitives/lib/utils\"\n\nexport interface AuthLayoutProps extends React.ComponentProps<\"div\"> {\n children: React.ReactNode\n title?: string\n subtitle?: string\n logo?: React.ReactNode\n backgroundImage?: string\n showTestimonial?: boolean\n testimonial?: {\n quote: string\n author: string\n role: string\n avatar?: string\n }\n}\n\nfunction AuthLayout({\n className,\n children,\n title,\n subtitle,\n logo,\n backgroundImage,\n showTestimonial = false,\n testimonial,\n ...props\n}: AuthLayoutProps) {\n return (\n <div className={cn(\"min-h-screen w-full lg:grid lg:grid-cols-2\", className)} {...props}>\n {/* Left side - Form */}\n <div className=\"flex items-center justify-center py-12\">\n <div className=\"mx-auto w-full max-w-[400px] space-y-8 px-4\">\n {logo && <div className=\"flex justify-center\">{logo}</div>}\n\n {(title || subtitle) && (\n <div className=\"space-y-2 text-center\">\n {title && (\n <h1 className=\"text-3xl font-bold tracking-tight\">{title}</h1>\n )}\n {subtitle && (\n <p className=\"text-muted-foreground text-sm\">{subtitle}</p>\n )}\n </div>\n )}\n\n <div>{children}</div>\n </div>\n </div>\n\n {/* Right side - Visual/Testimonial */}\n <div\n className=\"bg-muted hidden lg:block\"\n style={\n backgroundImage\n ? {\n backgroundImage: `url(${backgroundImage})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }\n : undefined\n }\n >\n {showTestimonial && testimonial && !backgroundImage && (\n <div className=\"flex h-full items-center justify-center p-12\">\n <div className=\"max-w-md space-y-6\">\n <blockquote className=\"space-y-4\">\n <p className=\"text-lg font-medium leading-relaxed\">\n \"{testimonial.quote}\"\n </p>\n <footer className=\"flex items-center gap-3\">\n {testimonial.avatar && (\n <img\n src={testimonial.avatar}\n alt={testimonial.author}\n className=\"size-10 rounded-full\"\n />\n )}\n <div>\n <div className=\"font-semibold\">{testimonial.author}</div>\n <div className=\"text-muted-foreground text-sm\">\n {testimonial.role}\n </div>\n </div>\n </footer>\n </blockquote>\n </div>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { AuthLayout }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,iBAAiB;;;ACA1B,SAAS,UAAU;AAiCA,cAGP,YAHO;AAhBnB,SAAS,WAAW,IAUA;AAVA,eAClB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,EA5BF,IAoBoB,IASf,kBATe,IASf;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,qBAAC,sCAAI,WAAW,GAAG,8CAA8C,SAAS,KAAO,QAAhF,EAEC;AAAA,wBAAC,SAAI,WAAU,0CACb,+BAAC,SAAI,WAAU,+CACZ;AAAA,cAAQ,oBAAC,SAAI,WAAU,uBAAuB,gBAAK;AAAA,OAElD,SAAS,aACT,qBAAC,SAAI,WAAU,yBACZ;AAAA,iBACC,oBAAC,QAAG,WAAU,qCAAqC,iBAAM;AAAA,QAE1D,YACC,oBAAC,OAAE,WAAU,iCAAiC,oBAAS;AAAA,SAE3D;AAAA,MAGF,oBAAC,SAAK,UAAS;AAAA,OACjB,GACF;AAAA,IAGA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OACE,kBACI;AAAA,UACE,iBAAiB,OAAO,eAAe;AAAA,UACvC,gBAAgB;AAAA,UAChB,oBAAoB;AAAA,QACtB,IACA;AAAA,QAGL,6BAAmB,eAAe,CAAC,mBAClC,oBAAC,SAAI,WAAU,gDACb,8BAAC,SAAI,WAAU,sBACb,+BAAC,gBAAW,WAAU,aACpB;AAAA,+BAAC,OAAE,WAAU,uCAAsC;AAAA;AAAA,YAC/C,YAAY;AAAA,YAAM;AAAA,aACtB;AAAA,UACA,qBAAC,YAAO,WAAU,2BACf;AAAA,wBAAY,UACX;AAAA,cAAC;AAAA;AAAA,gBACC,KAAK,YAAY;AAAA,gBACjB,KAAK,YAAY;AAAA,gBACjB,WAAU;AAAA;AAAA,YACZ;AAAA,YAEF,qBAAC,SACC;AAAA,kCAAC,SAAI,WAAU,iBAAiB,sBAAY,QAAO;AAAA,cACnD,oBAAC,SAAI,WAAU,iCACZ,sBAAY,MACf;AAAA,eACF;AAAA,aACF;AAAA,WACF,GACF,GACF;AAAA;AAAA,IAEJ;AAAA,MACF;AAEJ;;;ADtCM,gBAAAA,YAAA;AA3BN,SAAS,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,iBAAiB,CAAC,UAAU,QAAQ;AAAA,EACpC;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,WAAW;AAAA,EACX;AAAA,EACA,kBAAkB;AAAA,EAClB;AACF,GAAmB;AACjB,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["jsx"]}
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { OnboardingStep } from '@mdxui/primitives/auth/onboarding-wizard';
4
+
5
+ interface OnboardingPageProps {
6
+ steps: OnboardingStep[];
7
+ onComplete?: (data: Record<string, any>) => void | Promise<void>;
8
+ onSkip?: () => void;
9
+ allowSkip?: boolean;
10
+ isLoading?: boolean;
11
+ logo?: React.ReactNode;
12
+ title?: string;
13
+ subtitle?: string;
14
+ showProgress?: boolean;
15
+ className?: string;
16
+ }
17
+ declare function OnboardingPage({ steps, onComplete, onSkip, allowSkip, isLoading, logo, title, subtitle, showProgress, className, }: OnboardingPageProps): react_jsx_runtime.JSX.Element;
18
+
19
+ export { OnboardingPage, type OnboardingPageProps };
@@ -0,0 +1,39 @@
1
+ "use client";
2
+
3
+ // src/auth/onboarding-page.tsx
4
+ import { OnboardingWizard } from "@mdxui/primitives/auth/onboarding-wizard";
5
+ import { cn } from "@mdxui/primitives/lib/utils";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ function OnboardingPage({
8
+ steps,
9
+ onComplete,
10
+ onSkip,
11
+ allowSkip = false,
12
+ isLoading,
13
+ logo,
14
+ title = "Welcome! Let's get you set up",
15
+ subtitle = "This will only take a few minutes",
16
+ showProgress = true,
17
+ className
18
+ }) {
19
+ return /* @__PURE__ */ jsx("div", { className: cn("flex min-h-screen items-center justify-center p-4", className), children: /* @__PURE__ */ jsxs("div", { className: "w-full space-y-8", children: [
20
+ logo && /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: logo }),
21
+ /* @__PURE__ */ jsx(
22
+ OnboardingWizard,
23
+ {
24
+ steps,
25
+ onComplete,
26
+ onSkip,
27
+ allowSkip,
28
+ isLoading,
29
+ title,
30
+ subtitle,
31
+ showProgress
32
+ }
33
+ )
34
+ ] }) });
35
+ }
36
+ export {
37
+ OnboardingPage
38
+ };
39
+ //# sourceMappingURL=onboarding-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/onboarding-page.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { OnboardingWizard, type OnboardingStep } from \"@mdxui/primitives/auth/onboarding-wizard\"\nimport { cn } from \"@mdxui/primitives/lib/utils\"\n\nexport interface OnboardingPageProps {\n steps: OnboardingStep[]\n onComplete?: (data: Record<string, any>) => void | Promise<void>\n onSkip?: () => void\n allowSkip?: boolean\n isLoading?: boolean\n logo?: React.ReactNode\n title?: string\n subtitle?: string\n showProgress?: boolean\n className?: string\n}\n\nfunction OnboardingPage({\n steps,\n onComplete,\n onSkip,\n allowSkip = false,\n isLoading,\n logo,\n title = \"Welcome! Let's get you set up\",\n subtitle = \"This will only take a few minutes\",\n showProgress = true,\n className,\n}: OnboardingPageProps) {\n return (\n <div className={cn(\"flex min-h-screen items-center justify-center p-4\", className)}>\n <div className=\"w-full space-y-8\">\n {logo && <div className=\"flex justify-center\">{logo}</div>}\n\n <OnboardingWizard\n steps={steps}\n onComplete={onComplete}\n onSkip={onSkip}\n allowSkip={allowSkip}\n isLoading={isLoading}\n title={title}\n subtitle={subtitle}\n showProgress={showProgress}\n />\n </div>\n </div>\n )\n}\n\nexport { OnboardingPage }\n"],"mappings":";;;AAGA,SAAS,wBAA6C;AACtD,SAAS,UAAU;AA6Bb,SACW,KADX;AAdN,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,eAAe;AAAA,EACf;AACF,GAAwB;AACtB,SACE,oBAAC,SAAI,WAAW,GAAG,qDAAqD,SAAS,GAC/E,+BAAC,SAAI,WAAU,oBACZ;AAAA,YAAQ,oBAAC,SAAI,WAAU,uBAAuB,gBAAK;AAAA,IAEpD;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;","names":[]}
@@ -0,0 +1,21 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface OTPPageProps {
5
+ onSubmit?: (data: {
6
+ otp: string;
7
+ }) => void | Promise<void>;
8
+ onResend?: () => void | Promise<void>;
9
+ isLoading?: boolean;
10
+ error?: string;
11
+ canResend?: boolean;
12
+ resendTimeout?: number;
13
+ logo?: React.ReactNode;
14
+ title?: string;
15
+ subtitle?: string;
16
+ description?: string;
17
+ backgroundImage?: string;
18
+ }
19
+ declare function OTPPage({ onSubmit, onResend, isLoading, error, canResend, resendTimeout, logo, title, subtitle, description, backgroundImage, }: OTPPageProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { OTPPage, type OTPPageProps };
@@ -0,0 +1,136 @@
1
+ "use client";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+
34
+ // src/auth/otp-page.tsx
35
+ import { OTPInputForm } from "@mdxui/primitives/auth/otp-input";
36
+
37
+ // src/auth/auth-layout.tsx
38
+ import { cn } from "@mdxui/primitives/lib/utils";
39
+ import { jsx, jsxs } from "react/jsx-runtime";
40
+ function AuthLayout(_a) {
41
+ var _b = _a, {
42
+ className,
43
+ children,
44
+ title,
45
+ subtitle,
46
+ logo,
47
+ backgroundImage,
48
+ showTestimonial = false,
49
+ testimonial
50
+ } = _b, props = __objRest(_b, [
51
+ "className",
52
+ "children",
53
+ "title",
54
+ "subtitle",
55
+ "logo",
56
+ "backgroundImage",
57
+ "showTestimonial",
58
+ "testimonial"
59
+ ]);
60
+ return /* @__PURE__ */ jsxs("div", __spreadProps(__spreadValues({ className: cn("min-h-screen w-full lg:grid lg:grid-cols-2", className) }, props), { children: [
61
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-[400px] space-y-8 px-4", children: [
62
+ logo && /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: logo }),
63
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "space-y-2 text-center", children: [
64
+ title && /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold tracking-tight", children: title }),
65
+ subtitle && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: subtitle })
66
+ ] }),
67
+ /* @__PURE__ */ jsx("div", { children })
68
+ ] }) }),
69
+ /* @__PURE__ */ jsx(
70
+ "div",
71
+ {
72
+ className: "bg-muted hidden lg:block",
73
+ style: backgroundImage ? {
74
+ backgroundImage: `url(${backgroundImage})`,
75
+ backgroundSize: "cover",
76
+ backgroundPosition: "center"
77
+ } : void 0,
78
+ children: showTestimonial && testimonial && !backgroundImage && /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center p-12", children: /* @__PURE__ */ jsx("div", { className: "max-w-md space-y-6", children: /* @__PURE__ */ jsxs("blockquote", { className: "space-y-4", children: [
79
+ /* @__PURE__ */ jsxs("p", { className: "text-lg font-medium leading-relaxed", children: [
80
+ '"',
81
+ testimonial.quote,
82
+ '"'
83
+ ] }),
84
+ /* @__PURE__ */ jsxs("footer", { className: "flex items-center gap-3", children: [
85
+ testimonial.avatar && /* @__PURE__ */ jsx(
86
+ "img",
87
+ {
88
+ src: testimonial.avatar,
89
+ alt: testimonial.author,
90
+ className: "size-10 rounded-full"
91
+ }
92
+ ),
93
+ /* @__PURE__ */ jsxs("div", { children: [
94
+ /* @__PURE__ */ jsx("div", { className: "font-semibold", children: testimonial.author }),
95
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground text-sm", children: testimonial.role })
96
+ ] })
97
+ ] })
98
+ ] }) }) })
99
+ }
100
+ )
101
+ ] }));
102
+ }
103
+
104
+ // src/auth/otp-page.tsx
105
+ import { jsx as jsx2 } from "react/jsx-runtime";
106
+ function OTPPage({
107
+ onSubmit,
108
+ onResend,
109
+ isLoading,
110
+ error,
111
+ canResend = false,
112
+ resendTimeout = 60,
113
+ logo,
114
+ title = "Two-Factor Authentication",
115
+ subtitle = "Enter the code from your authenticator app",
116
+ description,
117
+ backgroundImage
118
+ }) {
119
+ return /* @__PURE__ */ jsx2(AuthLayout, { logo, backgroundImage, children: /* @__PURE__ */ jsx2(
120
+ OTPInputForm,
121
+ {
122
+ onSubmit,
123
+ onResend,
124
+ isLoading,
125
+ error,
126
+ title,
127
+ description: description || subtitle,
128
+ canResend,
129
+ resendTimeout
130
+ }
131
+ ) });
132
+ }
133
+ export {
134
+ OTPPage
135
+ };
136
+ //# sourceMappingURL=otp-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/otp-page.tsx","../../src/auth/auth-layout.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInputForm } from \"@mdxui/primitives/auth/otp-input\"\nimport { AuthLayout } from \"./auth-layout\"\n\nexport interface OTPPageProps {\n onSubmit?: (data: { otp: string }) => void | Promise<void>\n onResend?: () => void | Promise<void>\n isLoading?: boolean\n error?: string\n canResend?: boolean\n resendTimeout?: number\n logo?: React.ReactNode\n title?: string\n subtitle?: string\n description?: string\n backgroundImage?: string\n}\n\nfunction OTPPage({\n onSubmit,\n onResend,\n isLoading,\n error,\n canResend = false,\n resendTimeout = 60,\n logo,\n title = \"Two-Factor Authentication\",\n subtitle = \"Enter the code from your authenticator app\",\n description,\n backgroundImage,\n}: OTPPageProps) {\n return (\n <AuthLayout logo={logo} backgroundImage={backgroundImage}>\n <OTPInputForm\n onSubmit={onSubmit}\n onResend={onResend}\n isLoading={isLoading}\n error={error}\n title={title}\n description={description || subtitle}\n canResend={canResend}\n resendTimeout={resendTimeout}\n />\n </AuthLayout>\n )\n}\n\nexport { OTPPage }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"@mdxui/primitives/lib/utils\"\n\nexport interface AuthLayoutProps extends React.ComponentProps<\"div\"> {\n children: React.ReactNode\n title?: string\n subtitle?: string\n logo?: React.ReactNode\n backgroundImage?: string\n showTestimonial?: boolean\n testimonial?: {\n quote: string\n author: string\n role: string\n avatar?: string\n }\n}\n\nfunction AuthLayout({\n className,\n children,\n title,\n subtitle,\n logo,\n backgroundImage,\n showTestimonial = false,\n testimonial,\n ...props\n}: AuthLayoutProps) {\n return (\n <div className={cn(\"min-h-screen w-full lg:grid lg:grid-cols-2\", className)} {...props}>\n {/* Left side - Form */}\n <div className=\"flex items-center justify-center py-12\">\n <div className=\"mx-auto w-full max-w-[400px] space-y-8 px-4\">\n {logo && <div className=\"flex justify-center\">{logo}</div>}\n\n {(title || subtitle) && (\n <div className=\"space-y-2 text-center\">\n {title && (\n <h1 className=\"text-3xl font-bold tracking-tight\">{title}</h1>\n )}\n {subtitle && (\n <p className=\"text-muted-foreground text-sm\">{subtitle}</p>\n )}\n </div>\n )}\n\n <div>{children}</div>\n </div>\n </div>\n\n {/* Right side - Visual/Testimonial */}\n <div\n className=\"bg-muted hidden lg:block\"\n style={\n backgroundImage\n ? {\n backgroundImage: `url(${backgroundImage})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }\n : undefined\n }\n >\n {showTestimonial && testimonial && !backgroundImage && (\n <div className=\"flex h-full items-center justify-center p-12\">\n <div className=\"max-w-md space-y-6\">\n <blockquote className=\"space-y-4\">\n <p className=\"text-lg font-medium leading-relaxed\">\n \"{testimonial.quote}\"\n </p>\n <footer className=\"flex items-center gap-3\">\n {testimonial.avatar && (\n <img\n src={testimonial.avatar}\n alt={testimonial.author}\n className=\"size-10 rounded-full\"\n />\n )}\n <div>\n <div className=\"font-semibold\">{testimonial.author}</div>\n <div className=\"text-muted-foreground text-sm\">\n {testimonial.role}\n </div>\n </div>\n </footer>\n </blockquote>\n </div>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { AuthLayout }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,oBAAoB;;;ACA7B,SAAS,UAAU;AAiCA,cAGP,YAHO;AAhBnB,SAAS,WAAW,IAUA;AAVA,eAClB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,EA5BF,IAoBoB,IASf,kBATe,IASf;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,qBAAC,sCAAI,WAAW,GAAG,8CAA8C,SAAS,KAAO,QAAhF,EAEC;AAAA,wBAAC,SAAI,WAAU,0CACb,+BAAC,SAAI,WAAU,+CACZ;AAAA,cAAQ,oBAAC,SAAI,WAAU,uBAAuB,gBAAK;AAAA,OAElD,SAAS,aACT,qBAAC,SAAI,WAAU,yBACZ;AAAA,iBACC,oBAAC,QAAG,WAAU,qCAAqC,iBAAM;AAAA,QAE1D,YACC,oBAAC,OAAE,WAAU,iCAAiC,oBAAS;AAAA,SAE3D;AAAA,MAGF,oBAAC,SAAK,UAAS;AAAA,OACjB,GACF;AAAA,IAGA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OACE,kBACI;AAAA,UACE,iBAAiB,OAAO,eAAe;AAAA,UACvC,gBAAgB;AAAA,UAChB,oBAAoB;AAAA,QACtB,IACA;AAAA,QAGL,6BAAmB,eAAe,CAAC,mBAClC,oBAAC,SAAI,WAAU,gDACb,8BAAC,SAAI,WAAU,sBACb,+BAAC,gBAAW,WAAU,aACpB;AAAA,+BAAC,OAAE,WAAU,uCAAsC;AAAA;AAAA,YAC/C,YAAY;AAAA,YAAM;AAAA,aACtB;AAAA,UACA,qBAAC,YAAO,WAAU,2BACf;AAAA,wBAAY,UACX;AAAA,cAAC;AAAA;AAAA,gBACC,KAAK,YAAY;AAAA,gBACjB,KAAK,YAAY;AAAA,gBACjB,WAAU;AAAA;AAAA,YACZ;AAAA,YAEF,qBAAC,SACC;AAAA,kCAAC,SAAI,WAAU,iBAAiB,sBAAY,QAAO;AAAA,cACnD,oBAAC,SAAI,WAAU,iCACZ,sBAAY,MACf;AAAA,eACF;AAAA,aACF;AAAA,WACF,GACF,GACF;AAAA;AAAA,IAEJ;AAAA,MACF;AAEJ;;;AD5DM,gBAAAA,YAAA;AAfN,SAAS,QAAQ;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB;AAAA,EACA,QAAQ;AAAA,EACR,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAAiB;AACf,SACE,gBAAAA,KAAC,cAAW,MAAY,iBACtB,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B;AAAA,MACA;AAAA;AAAA,EACF,GACF;AAEJ;","names":["jsx"]}
@@ -0,0 +1,24 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface PasswordResetPageProps {
5
+ mode?: "request" | "confirm";
6
+ onRequestSubmit?: (data: {
7
+ email: string;
8
+ }) => void | Promise<void>;
9
+ onConfirmSubmit?: (data: {
10
+ password: string;
11
+ confirmPassword: string;
12
+ }) => void | Promise<void>;
13
+ onBackToLogin?: () => void;
14
+ isLoading?: boolean;
15
+ error?: string;
16
+ successMessage?: string;
17
+ logo?: React.ReactNode;
18
+ title?: string;
19
+ subtitle?: string;
20
+ backgroundImage?: string;
21
+ }
22
+ declare function PasswordResetPage({ mode, onRequestSubmit, onConfirmSubmit, onBackToLogin, isLoading, error, successMessage, logo, title, subtitle, backgroundImage, }: PasswordResetPageProps): react_jsx_runtime.JSX.Element;
23
+
24
+ export { PasswordResetPage, type PasswordResetPageProps };
@@ -0,0 +1,146 @@
1
+ "use client";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+
34
+ // src/auth/password-reset-page.tsx
35
+ import { PasswordResetForm } from "@mdxui/primitives/auth/password-reset-form";
36
+
37
+ // src/auth/auth-layout.tsx
38
+ import { cn } from "@mdxui/primitives/lib/utils";
39
+ import { jsx, jsxs } from "react/jsx-runtime";
40
+ function AuthLayout(_a) {
41
+ var _b = _a, {
42
+ className,
43
+ children,
44
+ title,
45
+ subtitle,
46
+ logo,
47
+ backgroundImage,
48
+ showTestimonial = false,
49
+ testimonial
50
+ } = _b, props = __objRest(_b, [
51
+ "className",
52
+ "children",
53
+ "title",
54
+ "subtitle",
55
+ "logo",
56
+ "backgroundImage",
57
+ "showTestimonial",
58
+ "testimonial"
59
+ ]);
60
+ return /* @__PURE__ */ jsxs("div", __spreadProps(__spreadValues({ className: cn("min-h-screen w-full lg:grid lg:grid-cols-2", className) }, props), { children: [
61
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-[400px] space-y-8 px-4", children: [
62
+ logo && /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: logo }),
63
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "space-y-2 text-center", children: [
64
+ title && /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold tracking-tight", children: title }),
65
+ subtitle && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: subtitle })
66
+ ] }),
67
+ /* @__PURE__ */ jsx("div", { children })
68
+ ] }) }),
69
+ /* @__PURE__ */ jsx(
70
+ "div",
71
+ {
72
+ className: "bg-muted hidden lg:block",
73
+ style: backgroundImage ? {
74
+ backgroundImage: `url(${backgroundImage})`,
75
+ backgroundSize: "cover",
76
+ backgroundPosition: "center"
77
+ } : void 0,
78
+ children: showTestimonial && testimonial && !backgroundImage && /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center p-12", children: /* @__PURE__ */ jsx("div", { className: "max-w-md space-y-6", children: /* @__PURE__ */ jsxs("blockquote", { className: "space-y-4", children: [
79
+ /* @__PURE__ */ jsxs("p", { className: "text-lg font-medium leading-relaxed", children: [
80
+ '"',
81
+ testimonial.quote,
82
+ '"'
83
+ ] }),
84
+ /* @__PURE__ */ jsxs("footer", { className: "flex items-center gap-3", children: [
85
+ testimonial.avatar && /* @__PURE__ */ jsx(
86
+ "img",
87
+ {
88
+ src: testimonial.avatar,
89
+ alt: testimonial.author,
90
+ className: "size-10 rounded-full"
91
+ }
92
+ ),
93
+ /* @__PURE__ */ jsxs("div", { children: [
94
+ /* @__PURE__ */ jsx("div", { className: "font-semibold", children: testimonial.author }),
95
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground text-sm", children: testimonial.role })
96
+ ] })
97
+ ] })
98
+ ] }) }) })
99
+ }
100
+ )
101
+ ] }));
102
+ }
103
+
104
+ // src/auth/password-reset-page.tsx
105
+ import { jsx as jsx2 } from "react/jsx-runtime";
106
+ function PasswordResetPage({
107
+ mode = "request",
108
+ onRequestSubmit,
109
+ onConfirmSubmit,
110
+ onBackToLogin,
111
+ isLoading,
112
+ error,
113
+ successMessage,
114
+ logo,
115
+ title,
116
+ subtitle,
117
+ backgroundImage
118
+ }) {
119
+ const defaultTitle = mode === "request" ? "Reset your password" : "Create new password";
120
+ const defaultSubtitle = mode === "request" ? "We'll send you a link to reset your password" : "Enter your new password below";
121
+ return /* @__PURE__ */ jsx2(
122
+ AuthLayout,
123
+ {
124
+ logo,
125
+ title: title || defaultTitle,
126
+ subtitle: subtitle || defaultSubtitle,
127
+ backgroundImage,
128
+ children: /* @__PURE__ */ jsx2(
129
+ PasswordResetForm,
130
+ {
131
+ mode,
132
+ onRequestSubmit,
133
+ onConfirmSubmit,
134
+ onBackToLogin,
135
+ isLoading,
136
+ error,
137
+ successMessage
138
+ }
139
+ )
140
+ }
141
+ );
142
+ }
143
+ export {
144
+ PasswordResetPage
145
+ };
146
+ //# sourceMappingURL=password-reset-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/password-reset-page.tsx","../../src/auth/auth-layout.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { PasswordResetForm } from \"@mdxui/primitives/auth/password-reset-form\"\nimport { AuthLayout } from \"./auth-layout\"\n\nexport interface PasswordResetPageProps {\n mode?: \"request\" | \"confirm\"\n onRequestSubmit?: (data: { email: string }) => void | Promise<void>\n onConfirmSubmit?: (data: { password: string; confirmPassword: string }) => void | Promise<void>\n onBackToLogin?: () => void\n isLoading?: boolean\n error?: string\n successMessage?: string\n logo?: React.ReactNode\n title?: string\n subtitle?: string\n backgroundImage?: string\n}\n\nfunction PasswordResetPage({\n mode = \"request\",\n onRequestSubmit,\n onConfirmSubmit,\n onBackToLogin,\n isLoading,\n error,\n successMessage,\n logo,\n title,\n subtitle,\n backgroundImage,\n}: PasswordResetPageProps) {\n const defaultTitle =\n mode === \"request\" ? \"Reset your password\" : \"Create new password\"\n const defaultSubtitle =\n mode === \"request\"\n ? \"We'll send you a link to reset your password\"\n : \"Enter your new password below\"\n\n return (\n <AuthLayout\n logo={logo}\n title={title || defaultTitle}\n subtitle={subtitle || defaultSubtitle}\n backgroundImage={backgroundImage}\n >\n <PasswordResetForm\n mode={mode}\n onRequestSubmit={onRequestSubmit}\n onConfirmSubmit={onConfirmSubmit}\n onBackToLogin={onBackToLogin}\n isLoading={isLoading}\n error={error}\n successMessage={successMessage}\n />\n </AuthLayout>\n )\n}\n\nexport { PasswordResetPage }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"@mdxui/primitives/lib/utils\"\n\nexport interface AuthLayoutProps extends React.ComponentProps<\"div\"> {\n children: React.ReactNode\n title?: string\n subtitle?: string\n logo?: React.ReactNode\n backgroundImage?: string\n showTestimonial?: boolean\n testimonial?: {\n quote: string\n author: string\n role: string\n avatar?: string\n }\n}\n\nfunction AuthLayout({\n className,\n children,\n title,\n subtitle,\n logo,\n backgroundImage,\n showTestimonial = false,\n testimonial,\n ...props\n}: AuthLayoutProps) {\n return (\n <div className={cn(\"min-h-screen w-full lg:grid lg:grid-cols-2\", className)} {...props}>\n {/* Left side - Form */}\n <div className=\"flex items-center justify-center py-12\">\n <div className=\"mx-auto w-full max-w-[400px] space-y-8 px-4\">\n {logo && <div className=\"flex justify-center\">{logo}</div>}\n\n {(title || subtitle) && (\n <div className=\"space-y-2 text-center\">\n {title && (\n <h1 className=\"text-3xl font-bold tracking-tight\">{title}</h1>\n )}\n {subtitle && (\n <p className=\"text-muted-foreground text-sm\">{subtitle}</p>\n )}\n </div>\n )}\n\n <div>{children}</div>\n </div>\n </div>\n\n {/* Right side - Visual/Testimonial */}\n <div\n className=\"bg-muted hidden lg:block\"\n style={\n backgroundImage\n ? {\n backgroundImage: `url(${backgroundImage})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }\n : undefined\n }\n >\n {showTestimonial && testimonial && !backgroundImage && (\n <div className=\"flex h-full items-center justify-center p-12\">\n <div className=\"max-w-md space-y-6\">\n <blockquote className=\"space-y-4\">\n <p className=\"text-lg font-medium leading-relaxed\">\n \"{testimonial.quote}\"\n </p>\n <footer className=\"flex items-center gap-3\">\n {testimonial.avatar && (\n <img\n src={testimonial.avatar}\n alt={testimonial.author}\n className=\"size-10 rounded-full\"\n />\n )}\n <div>\n <div className=\"font-semibold\">{testimonial.author}</div>\n <div className=\"text-muted-foreground text-sm\">\n {testimonial.role}\n </div>\n </div>\n </footer>\n </blockquote>\n </div>\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport { AuthLayout }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,yBAAyB;;;ACAlC,SAAS,UAAU;AAiCA,cAGP,YAHO;AAhBnB,SAAS,WAAW,IAUA;AAVA,eAClB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,EA5BF,IAoBoB,IASf,kBATe,IASf;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACE,qBAAC,sCAAI,WAAW,GAAG,8CAA8C,SAAS,KAAO,QAAhF,EAEC;AAAA,wBAAC,SAAI,WAAU,0CACb,+BAAC,SAAI,WAAU,+CACZ;AAAA,cAAQ,oBAAC,SAAI,WAAU,uBAAuB,gBAAK;AAAA,OAElD,SAAS,aACT,qBAAC,SAAI,WAAU,yBACZ;AAAA,iBACC,oBAAC,QAAG,WAAU,qCAAqC,iBAAM;AAAA,QAE1D,YACC,oBAAC,OAAE,WAAU,iCAAiC,oBAAS;AAAA,SAE3D;AAAA,MAGF,oBAAC,SAAK,UAAS;AAAA,OACjB,GACF;AAAA,IAGA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OACE,kBACI;AAAA,UACE,iBAAiB,OAAO,eAAe;AAAA,UACvC,gBAAgB;AAAA,UAChB,oBAAoB;AAAA,QACtB,IACA;AAAA,QAGL,6BAAmB,eAAe,CAAC,mBAClC,oBAAC,SAAI,WAAU,gDACb,8BAAC,SAAI,WAAU,sBACb,+BAAC,gBAAW,WAAU,aACpB;AAAA,+BAAC,OAAE,WAAU,uCAAsC;AAAA;AAAA,YAC/C,YAAY;AAAA,YAAM;AAAA,aACtB;AAAA,UACA,qBAAC,YAAO,WAAU,2BACf;AAAA,wBAAY,UACX;AAAA,cAAC;AAAA;AAAA,gBACC,KAAK,YAAY;AAAA,gBACjB,KAAK,YAAY;AAAA,gBACjB,WAAU;AAAA;AAAA,YACZ;AAAA,YAEF,qBAAC,SACC;AAAA,kCAAC,SAAI,WAAU,iBAAiB,sBAAY,QAAO;AAAA,cACnD,oBAAC,SAAI,WAAU,iCACZ,sBAAY,MACf;AAAA,eACF;AAAA,aACF;AAAA,WACF,GACF,GACF;AAAA;AAAA,IAEJ;AAAA,MACF;AAEJ;;;ADhDM,gBAAAA,YAAA;AA3BN,SAAS,kBAAkB;AAAA,EACzB,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,QAAM,eACJ,SAAS,YAAY,wBAAwB;AAC/C,QAAM,kBACJ,SAAS,YACL,iDACA;AAEN,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO,SAAS;AAAA,MAChB,UAAU,YAAY;AAAA,MACtB;AAAA,MAEA,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;","names":["jsx"]}
@@ -0,0 +1,33 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface SignupPageProps {
5
+ onSubmit?: (data: {
6
+ fullName: string;
7
+ email: string;
8
+ password: string;
9
+ confirmPassword: string;
10
+ agreeToTerms: boolean;
11
+ }) => void | Promise<void>;
12
+ onOAuthClick?: (provider: "google" | "github" | "microsoft") => void | Promise<void>;
13
+ onLoginClick?: () => void;
14
+ isLoading?: boolean;
15
+ showOAuth?: boolean;
16
+ oauthProviders?: Array<"google" | "github" | "microsoft">;
17
+ multiStep?: boolean;
18
+ error?: string;
19
+ logo?: React.ReactNode;
20
+ title?: string;
21
+ subtitle?: string;
22
+ backgroundImage?: string;
23
+ showTestimonial?: boolean;
24
+ testimonial?: {
25
+ quote: string;
26
+ author: string;
27
+ role: string;
28
+ avatar?: string;
29
+ };
30
+ }
31
+ declare function SignupPage({ onSubmit, onOAuthClick, onLoginClick, isLoading, showOAuth, oauthProviders, multiStep, error, logo, title, subtitle, backgroundImage, showTestimonial, testimonial, }: SignupPageProps): react_jsx_runtime.JSX.Element;
32
+
33
+ export { SignupPage, type SignupPageProps };