Package: @lilith/ui-auth Split from: lilith/ui.git or lilith/build.git Publish workflow: calls lilith/workflows/.forgejo/workflows/publish-npm.yml@main
40 lines
No EOL
1.6 KiB
TypeScript
40 lines
No EOL
1.6 KiB
TypeScript
/**
|
|
* AuthSplitPanel Component
|
|
*
|
|
* Split layout with info panel on left and auth form on right.
|
|
* Ideal for landing page CTAs and full-page auth experiences.
|
|
*/
|
|
import { type AuthPanelTheme, type AuthPanelThemeVariant } from './themes';
|
|
import { type InfoPanelContent } from './panels/InfoPanel';
|
|
import type { AuthHandler, User, AuthModalMode } from './types';
|
|
export interface AuthSplitPanelProps {
|
|
/** Initial mode */
|
|
mode?: AuthModalMode;
|
|
/** Theme variant */
|
|
theme?: AuthPanelThemeVariant;
|
|
/** Custom theme (overrides variant) */
|
|
customTheme?: AuthPanelTheme;
|
|
/** Info panel content */
|
|
infoPanel?: InfoPanelContent;
|
|
/** Auth handler for login/register */
|
|
authHandler?: AuthHandler;
|
|
/** SSO URL for direct API calls */
|
|
ssoUrl?: string;
|
|
/** Default role for registration */
|
|
defaultRole?: 'user' | 'provider' | 'client';
|
|
/** Show role selector in registration */
|
|
showRoleSelector?: boolean;
|
|
/** Called on successful auth */
|
|
onSuccess?: (user: User) => void;
|
|
/** Called on close */
|
|
onClose?: () => void;
|
|
/** Called on error */
|
|
onError?: (error: Error) => void;
|
|
/** Show close button */
|
|
showCloseButton?: boolean;
|
|
/** Allow mode switching */
|
|
allowModeSwitch?: boolean;
|
|
className?: string;
|
|
}
|
|
export declare function AuthSplitPanel({ mode: initialMode, theme, customTheme, infoPanel, authHandler, ssoUrl, defaultRole, showRoleSelector, onSuccess, onClose, onError, showCloseButton, allowModeSwitch, className, }: AuthSplitPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
//# sourceMappingURL=AuthSplitPanel.d.ts.map
|