doct-ui-auth-kit 1.0.4 → 1.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.
- package/README.md +26 -0
- package/dist/doct-ui-auth-kit.css +1 -0
- package/dist/hooks/use-login-entry-form.d.ts +1 -1
- package/dist/index.d.ts +18 -9
- package/dist/index.js +18 -12
- package/dist/pages/index.d.ts +5 -5
- package/dist/pages/login-entry.d.ts +2 -2
- package/dist/pages/signup.d.ts +0 -41
- package/dist/pages.js +12 -6
- package/dist/signup-DeeuWsoF.js +1718 -0
- package/dist/types/login-form.d.ts +14 -4
- package/dist/types/otp-verification.d.ts +2 -0
- package/dist/types/pages.d.ts +5 -2
- package/dist/validations/schemas.d.ts +4 -3
- package/package.json +4 -4
- package/dist/signup-BpiNvZy4.js +0 -1714
package/README.md
CHANGED
|
@@ -14,6 +14,32 @@ Peer dependencies (install in your app if not already present):
|
|
|
14
14
|
npm install react react-dom docthub-core-components react-hook-form zod
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
## Global styles
|
|
18
|
+
|
|
19
|
+
Import the kit CSS once in your app (e.g. in `main.tsx` or `_app.tsx`) so Tailwind and base styles apply:
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import 'doct-ui-auth-kit/style.css';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
If you use `docthub-core-components`, import its styles first, then the auth kit:
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
import 'docthub-core-components/style.css';
|
|
29
|
+
import 'doct-ui-auth-kit/style.css';
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Required static assets
|
|
33
|
+
|
|
34
|
+
When using **`MainLoginPage`** or **`AuthLayoutWrapper`** with `layoutType="withSlider"`, the kit references static paths that are served from **your app’s** `public/` folder. The published npm package does not include these files, so you must add them yourself.
|
|
35
|
+
|
|
36
|
+
| Asset | Path in your app | Used for |
|
|
37
|
+
|-------|------------------|----------|
|
|
38
|
+
| Logo | `public/main-logo.svg` | Main login page logo (or pass a custom `logo` prop to `AuthLayoutWrapper`) |
|
|
39
|
+
| Slider images | `public/slider/slide-1.png` … `public/slider/slide-5.png` | Marketing slider on the left panel (or pass custom `sliderImages` to `AuthLayoutWrapper`) |
|
|
40
|
+
|
|
41
|
+
**To get the default assets:** copy from this repo’s `public/main-logo.svg` and `public/slider/*.png` into your app’s `public/` (and `public/slider/`) if you have the kit source. Otherwise use your own logo and slider images. You can also override at runtime by passing the `logo` and `sliderImages` props to `AuthLayoutWrapper` (or equivalent) where the API supports it.
|
|
42
|
+
|
|
17
43
|
## Consumer imports
|
|
18
44
|
|
|
19
45
|
Install the package and import components, layouts, and types from the library:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-inter),Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-10{top:-2.5rem}.left-1\/2{left:50%}.top-2\.5{top:.625rem}.top-\[152\.5px\]{top:152.5px}.z-10{z-index:10}.z-20{z-index:20}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-5{height:1.25rem}.h-\[100dvh\]{height:100dvh}.h-\[30px\]{height:30px}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-svh{min-height:100svh}.w-10{width:2.5rem}.w-2{width:.5rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[140px\]{width:140px}.w-\[328px\]{width:328px}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-full{min-width:100%}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[400px\]{max-width:400px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[12px\]{gap:12px}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.whitespace-pre-line{white-space:pre-line}.rounded-\[10px\]{border-radius:10px}.rounded-\[3px\]{border-radius:3px}.border{border-width:1px}.border-\[rgba\(0\,0\,0\,0\.12\)\]{border-color:#0000001f}.bg-\[\#002830\]{--tw-bg-opacity: 1;background-color:rgb(0 40 48 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/40{background-color:#fff6}.bg-white\/50{background-color:#ffffff80}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-2{padding:.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-12{padding-top:3rem;padding-bottom:3rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[14px\]{padding-top:14px;padding-bottom:14px}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-\[\#002830\]{--tw-text-opacity: 1;color:rgb(0 40 48 / var(--tw-text-opacity, 1))}.text-\[\#1e595a\]{--tw-text-opacity: 1;color:rgb(30 89 90 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-black\/80{color:#000c}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}:root{font-family:var( --font-inter, "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif );line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;width:100%}.hover\:bg-white\/60:hover{background-color:#fff9}@media(min-width:640px){.sm\:flex{display:flex}}@media(min-width:768px){.md\:mb-6{margin-bottom:1.5rem}.md\:px-\[20px\]{padding-left:20px;padding-right:20px}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:pt-\[20px\]{padding-top:20px}}@media(min-width:1024px){.lg\:block{display:block}.lg\:h-\[100dvh\]{height:100dvh}.lg\:w-\[432px\]{width:432px}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-row{flex-direction:row}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UseLoginEntryFormOptions, UseLoginEntryFormReturn } from '@/types';
|
|
2
|
-
export type { EmailFormValues, LoginEntryFormValues, LoginEntryMode, LoginEntrySubmitData, PhoneFormValues, UseLoginEntryFormOptions, UseLoginEntryFormReturn, } from '@/types';
|
|
2
|
+
export type { EmailFormValues, LoginEntryFormValues, LoginEntryMode, LoginEntrySubmitData, LoginEntrySuccessParams, PhoneFormValues, UseLoginEntryFormOptions, UseLoginEntryFormReturn, } from '@/types';
|
|
3
3
|
/**
|
|
4
4
|
* Form state and validation for the login entry screen (phone or email).
|
|
5
5
|
* Business logic: when submitApi is provided, hook runs validate → submitApi(data) → onSuccess() (e.g. redirect).
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auth SDK UI Kit – library entry point.
|
|
3
|
-
* Consumers can import components, layouts, hooks, core (SSO provider, flow, session), and auth methods.
|
|
3
|
+
* Consumers can import components, layouts (composition + preset), hooks, core (SSO provider, flow, session), and auth methods.
|
|
4
|
+
*
|
|
5
|
+
* Import the kit styles once globally in your app (e.g. in main.tsx):
|
|
6
|
+
* `import 'doct-ui-auth-kit/style.css';`
|
|
4
7
|
*
|
|
5
8
|
* @example
|
|
6
9
|
* ```ts
|
|
@@ -11,17 +14,23 @@
|
|
|
11
14
|
* useAuthSession,
|
|
12
15
|
* MainLayout,
|
|
13
16
|
* AuthLayout,
|
|
17
|
+
* ImageSlider,
|
|
18
|
+
* AuthLayoutWrapper,
|
|
14
19
|
* LoginEntry,
|
|
15
20
|
* OtpVerification,
|
|
16
21
|
* useGoogleAuth,
|
|
17
22
|
* } from 'doct-ui-auth-kit';
|
|
18
23
|
* ```
|
|
19
24
|
*/
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export * from '
|
|
25
|
+
import './index.css';
|
|
26
|
+
export { createHttpAuthAdapter } from '@/adapters';
|
|
27
|
+
export { Auth } from '@/auth';
|
|
28
|
+
export type { UseAppleSignInOptions, UseGoogleAuthOptions, UseGoogleAuthReturn, } from '@/auth-methods';
|
|
29
|
+
export { useAppleSignIn, useGoogleAuth } from '@/auth-methods';
|
|
30
|
+
export type { AuthLayoutPresetProps, AuthLayoutType, AuthLayoutWrapperProps, } from '@/components/layout';
|
|
31
|
+
export { AuthLayout, AuthLayoutPreset, AuthLayoutWrapper, ImageSlider, MainLayout, } from '@/components/layout';
|
|
32
|
+
export * from '@/core';
|
|
33
|
+
export * from '@/hooks';
|
|
34
|
+
export type { LoginEntryPageProps, LoginEntryProps, MainLoginPageProps, MainLoginPageProvidersConfig, OtpVerificationPageProps, OtpVerificationProps, RepeatLoginPageProps, RepeatLoginProps, SignupPageFullProps, SignupPageProps, } from '@/pages';
|
|
35
|
+
export { LoginEntry, LoginEntryPage, MainLogin, MainLoginPage, OtpVerification, OtpVerificationPage, RepeatLogin, RepeatLoginPage, Signup, SignupPage, } from '@/pages';
|
|
36
|
+
export * from '@/types';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as G, Fragment as Kt } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { D as a1, I as o1,
|
|
3
|
+
import { f as le, A as Zr, g as Xr, u as Jr, d as zr, e as Qr, c as ei, a as Yt, b as ti, O as ni, S as ri } from "./signup-DeeuWsoF.js";
|
|
4
|
+
import { D as a1, I as o1, L as d1, h as u1, M as l1, i as s1, j as c1, k as f1, R as $1, l as p1, m as y1, n as h1, o as m1, p as g1, q as v1 } from "./signup-DeeuWsoF.js";
|
|
4
5
|
import N, { createContext as ii, useContext as tr, useRef as nr, useCallback as ae, useMemo as We, useReducer as ai, useEffect as oi } from "react";
|
|
5
6
|
import { DoctCircularProgress as di } from "docthub-core-components";
|
|
6
7
|
function Ft(e) {
|
|
@@ -7128,15 +7129,20 @@ export {
|
|
|
7128
7129
|
a1 as DEFAULT_OTP_TITLES,
|
|
7129
7130
|
Bl as INITIAL_STEP,
|
|
7130
7131
|
o1 as ImageSlider,
|
|
7132
|
+
d1 as LoginEntry,
|
|
7131
7133
|
Yt as LoginEntryPage,
|
|
7132
|
-
|
|
7134
|
+
u1 as MainLayout,
|
|
7135
|
+
l1 as MainLogin,
|
|
7133
7136
|
ti as MainLoginPage,
|
|
7134
|
-
|
|
7137
|
+
s1 as OTP_LENGTH,
|
|
7138
|
+
ni as OtpVerification,
|
|
7135
7139
|
ei as OtpVerificationPage,
|
|
7136
|
-
|
|
7137
|
-
|
|
7140
|
+
c1 as RESEND_COOLDOWN_EMAIL_SECONDS,
|
|
7141
|
+
f1 as RESEND_COOLDOWN_PHONE_SECONDS,
|
|
7142
|
+
$1 as RepeatLogin,
|
|
7138
7143
|
zr as RepeatLoginPage,
|
|
7139
7144
|
Hl as SSOAuthProvider,
|
|
7145
|
+
ri as Signup,
|
|
7140
7146
|
Qr as SignupPage,
|
|
7141
7147
|
Wl as authFlowReducer,
|
|
7142
7148
|
kl as clearRepeatLoginInfo,
|
|
@@ -7147,13 +7153,13 @@ export {
|
|
|
7147
7153
|
Gl as localStorageTokenStorage,
|
|
7148
7154
|
e1 as serverCookieTokenStorage,
|
|
7149
7155
|
jl as setRepeatLoginInfo,
|
|
7150
|
-
|
|
7156
|
+
p1 as useAppleSignIn,
|
|
7151
7157
|
fi as useAuthFlow,
|
|
7152
7158
|
Ql as useAuthSession,
|
|
7153
7159
|
Jr as useGoogleAuth,
|
|
7154
|
-
|
|
7155
|
-
|
|
7156
|
-
|
|
7157
|
-
|
|
7158
|
-
|
|
7160
|
+
y1 as useLoginEntryForm,
|
|
7161
|
+
h1 as useMainAuthPageHandlers,
|
|
7162
|
+
m1 as useOtpVerification,
|
|
7163
|
+
g1 as useRepeatLogin,
|
|
7164
|
+
v1 as useSignupForm
|
|
7159
7165
|
};
|
package/dist/pages/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { type LoginEntryMode, LoginEntryPage, type LoginEntryPageProps, type LoginEntryProps, } from './login-entry';
|
|
2
|
-
export { type MainLoginAppleProviderConfig, type MainLoginGoogleProviderConfig, MainLoginPage, type MainLoginPageProps, type MainLoginPageProvidersConfig, } from './main-login';
|
|
3
|
-
export { type OtpVerificationMode, OtpVerificationPage, type OtpVerificationPageProps, type OtpVerificationProps, } from './otp-verification';
|
|
4
|
-
export { RepeatLoginPage, type RepeatLoginPageProps, type RepeatLoginProps, } from './repeat-login';
|
|
5
|
-
export { SignupPage, type SignupPageFullProps, type SignupPageProps, } from './signup';
|
|
1
|
+
export { LoginEntry, type LoginEntryMode, LoginEntryPage, type LoginEntryPageProps, type LoginEntryProps, } from './login-entry';
|
|
2
|
+
export { MainLogin, type MainLoginAppleProviderConfig, type MainLoginGoogleProviderConfig, MainLoginPage, type MainLoginPageProps, type MainLoginPageProvidersConfig, } from './main-login';
|
|
3
|
+
export { OtpVerification, type OtpVerificationMode, OtpVerificationPage, type OtpVerificationPageProps, type OtpVerificationProps, } from './otp-verification';
|
|
4
|
+
export { RepeatLogin, RepeatLoginPage, type RepeatLoginPageProps, type RepeatLoginProps, } from './repeat-login';
|
|
5
|
+
export { Signup, SignupPage, type SignupPageFullProps, type SignupPageProps, } from './signup';
|
|
@@ -4,13 +4,13 @@ export type { LoginEntryMode, LoginEntryPageProps, LoginEntryProps, } from '@/ty
|
|
|
4
4
|
* Full LoginEntry page with AuthLayoutWrapper, back button, and slider/standalone layout.
|
|
5
5
|
* Use when rendering the login entry screen as a standalone page.
|
|
6
6
|
*
|
|
7
|
-
* @example Next.js: API call in hook, redirect
|
|
7
|
+
* @example Next.js: API call in hook, redirect with mode + recipient for OTP page
|
|
8
8
|
* ```tsx
|
|
9
9
|
* <LoginEntryPage
|
|
10
10
|
* mode="phone"
|
|
11
11
|
* onBack={() => router.back()}
|
|
12
12
|
* submitApi={(data) => api.sendOtp(data)}
|
|
13
|
-
* onSuccess={() => router.push(
|
|
13
|
+
* onSuccess={(params) => router.push(`/otp?mode=${params.mode}&recipient=${encodeURIComponent(params.recipient)}`)}
|
|
14
14
|
* />
|
|
15
15
|
* ```
|
|
16
16
|
*
|
package/dist/pages/signup.d.ts
CHANGED
|
@@ -1,45 +1,4 @@
|
|
|
1
1
|
import type { SignupPageFullProps, SignupPageProps } from '@/types';
|
|
2
2
|
export type { SignupEntryMode, SignupPageFullProps, SignupPageProps, } from '@/types';
|
|
3
|
-
/**
|
|
4
|
-
* Full Signup page with AuthLayoutWrapper, logo, and default welcome copy.
|
|
5
|
-
* Use when rendering the signup screen as a standalone page.
|
|
6
|
-
*
|
|
7
|
-
* @example Next.js: API in hook, redirect from consumer
|
|
8
|
-
* ```tsx
|
|
9
|
-
* <SignupPage
|
|
10
|
-
* userType="INDIAN"
|
|
11
|
-
* loginMethod="phone"
|
|
12
|
-
* signupCollectField="email"
|
|
13
|
-
* submitApi={(data) => api.completeProfile(data)}
|
|
14
|
-
* onSuccess={() => router.push('/otp')}
|
|
15
|
-
* />
|
|
16
|
-
* ```
|
|
17
|
-
*
|
|
18
|
-
* @example Sync onSubmit (AuthFlow)
|
|
19
|
-
* ```tsx
|
|
20
|
-
* <SignupPage onSubmit={(data) => actions.submitSignupDetails(data)} ... />
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
3
|
export declare function SignupPage(props: Readonly<SignupPageFullProps>): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
/**
|
|
25
|
-
* Signup form body without layout wrapper.
|
|
26
|
-
* Full name plus phone/email (Indian) or full name + email + phone (Foreign).
|
|
27
|
-
* Validation per PRODUCT_PROTOCOLS #1, #25 and edge cases 9, 10, 16, 19; cursor focus on first field (#26).
|
|
28
|
-
* Use inside your own layout or AuthFlow.
|
|
29
|
-
*
|
|
30
|
-
* @example With submitApi + onSuccess (consumer redirect)
|
|
31
|
-
* ```tsx
|
|
32
|
-
* <Signup
|
|
33
|
-
* userType="INDIAN"
|
|
34
|
-
* signupCollectField="email"
|
|
35
|
-
* submitApi={(data) => api.completeProfile(data)}
|
|
36
|
-
* onSuccess={() => router.push('/otp')}
|
|
37
|
-
* />
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @example Sync onSubmit (AuthFlow)
|
|
41
|
-
* ```tsx
|
|
42
|
-
* <Signup onSubmit={(data) => actions.submitSignupDetails(data)} ... />
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
4
|
export declare function Signup(props: Readonly<SignupPageProps>): import("react/jsx-runtime").JSX.Element;
|
package/dist/pages.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { L as e, a as n, M as g, b as s, O as o, c as t, R as p, d as L, S as r, e as P } from "./signup-DeeuWsoF.js";
|
|
2
3
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
e as LoginEntry,
|
|
5
|
+
n as LoginEntryPage,
|
|
6
|
+
g as MainLogin,
|
|
7
|
+
s as MainLoginPage,
|
|
8
|
+
o as OtpVerification,
|
|
9
|
+
t as OtpVerificationPage,
|
|
10
|
+
p as RepeatLogin,
|
|
11
|
+
L as RepeatLoginPage,
|
|
12
|
+
r as Signup,
|
|
13
|
+
P as SignupPage
|
|
8
14
|
};
|