diff --git a/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.js b/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.js index 801f21ff7af..536b3b76da4 100644 --- a/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.js +++ b/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.js @@ -35,7 +35,7 @@ export default function BrandingSignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx b/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx index 61fcf280ade..f3d758e7263 100644 --- a/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx +++ b/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx @@ -35,7 +35,7 @@ export default function BrandingSignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx.preview b/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx.preview index 73da124c69b..3e0e5aa6efe 100644 --- a/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx.preview +++ b/docs/data/toolpad/core/components/sign-in-page/BrandingSignInPage.tsx.preview @@ -15,6 +15,6 @@ const BRANDING = { \ No newline at end of file diff --git a/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.js b/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.js index 379664289ff..01d5cfe3684 100644 --- a/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.js +++ b/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.js @@ -27,7 +27,7 @@ export default function CredentialsSignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx b/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx index 7ebe5d41a12..07e0fb1b9c4 100644 --- a/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx +++ b/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx @@ -30,7 +30,7 @@ export default function CredentialsSignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx.preview b/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx.preview index 636373e5404..16fd91f00e2 100644 --- a/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx.preview +++ b/docs/data/toolpad/core/components/sign-in-page/CredentialsSignInPage.tsx.preview @@ -6,6 +6,6 @@ const providers = [{ id: 'credentials', name: 'Email and Password' }]; \ No newline at end of file diff --git a/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.js b/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.js index f9c46a79762..73800c4d07b 100644 --- a/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.js +++ b/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.js @@ -27,7 +27,7 @@ export default function MagicLinkAlertSignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx b/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx index 1097b0bda9f..f7e674890a2 100644 --- a/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx +++ b/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx @@ -36,7 +36,7 @@ export default function MagicLinkAlertSignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx.preview b/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx.preview index 9de4b1c4e93..0c70a80c4b8 100644 --- a/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx.preview +++ b/docs/data/toolpad/core/components/sign-in-page/MagicLinkAlertSignInPage.tsx.preview @@ -8,6 +8,6 @@ resolve({ \ No newline at end of file diff --git a/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.js b/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.js index 326abcc3c64..575370713a5 100644 --- a/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.js +++ b/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.js @@ -32,7 +32,7 @@ export default function NotificationsSignInPageError() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx b/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx index 8035b294386..373d8f60c03 100644 --- a/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx +++ b/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx @@ -39,7 +39,7 @@ export default function NotificationsSignInPageError() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx.preview b/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx.preview index 30677d0d20c..e6e444e2beb 100644 --- a/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx.preview +++ b/docs/data/toolpad/core/components/sign-in-page/NotificationsSignInPageError.tsx.preview @@ -9,6 +9,6 @@ resolve({ \ No newline at end of file diff --git a/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.js b/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.js index f15f1cceded..ec39c35ddda 100644 --- a/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.js +++ b/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.js @@ -24,7 +24,7 @@ export default function PasskeySignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx b/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx index c69a3758ecf..352bdc93677 100644 --- a/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx +++ b/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx @@ -24,7 +24,7 @@ export default function PasskeySignInPage() { // preview-end diff --git a/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx.preview b/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx.preview index 5c2239d907e..6d8ac519206 100644 --- a/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx.preview +++ b/docs/data/toolpad/core/components/sign-in-page/PasskeySignInPage.tsx.preview @@ -6,6 +6,6 @@ const providers = [{ id: 'passkey', name: 'Passkey' }]; \ No newline at end of file diff --git a/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.js b/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.js index 38d573b4453..14d3091fd3a 100644 --- a/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.js +++ b/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.js @@ -44,6 +44,7 @@ export default function ThemeSignInPage() { .MuiStack-root': { marginTop: '2rem', diff --git a/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx b/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx index d9ce9dc1702..675906f8dae 100644 --- a/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx +++ b/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx @@ -50,6 +50,7 @@ export default function ThemeSignInPage() { .MuiStack-root': { marginTop: '2rem', diff --git a/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx.preview b/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx.preview index 511c40e2811..493c55d7468 100644 --- a/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx.preview +++ b/docs/data/toolpad/core/components/sign-in-page/ThemeSignInPage.tsx.preview @@ -15,6 +15,7 @@ const THEME = createTheme({ .MuiStack-root': { marginTop: '2rem', diff --git a/docs/pages/toolpad/core/api/sign-in-page.json b/docs/pages/toolpad/core/api/sign-in-page.json index 132fb1607bc..faa0e595d41 100644 --- a/docs/pages/toolpad/core/api/sign-in-page.json +++ b/docs/pages/toolpad/core/api/sign-in-page.json @@ -15,7 +15,7 @@ "slotProps": { "type": { "name": "shape", - "description": "{ emailField?: object, forgotPasswordLink?: object, passwordField?: object, rememberMe?: object, signUpLink?: object, submitButton?: object }" + "description": "{ emailField?: object, forgotPasswordLink?: object, form?: object, oAuthButton?: object, passwordField?: object, rememberMe?: object, signUpLink?: object, submitButton?: object }" }, "default": "{}" }, diff --git a/packages/toolpad-core/src/SignInPage/SignInPage.tsx b/packages/toolpad-core/src/SignInPage/SignInPage.tsx index 8789ced513c..3a9696e9bb6 100644 --- a/packages/toolpad-core/src/SignInPage/SignInPage.tsx +++ b/packages/toolpad-core/src/SignInPage/SignInPage.tsx @@ -255,6 +255,8 @@ export interface SignInPageProps { forgotPasswordLink?: LinkProps; signUpLink?: LinkProps; rememberMe?: Partial; + form?: Partial>; + oAuthButton?: LoadingButtonProps; }; /** * The prop used to customize the styles on the `SignInPage` container @@ -375,6 +377,7 @@ function SignInPage(props: SignInPageProps) { error: oauthResponse?.error, })); }} + {...slotProps?.form} > Sign in with {provider.name} @@ -424,6 +428,7 @@ function SignInPage(props: SignInPageProps) { error: passkeyResponse?.error, })); }} + {...slotProps?.form} > {slots?.emailField ? ( @@ -498,6 +503,7 @@ function SignInPage(props: SignInPageProps) { success: emailResponse?.success, })); }} + {...slotProps?.form} > {slots?.emailField ? ( @@ -570,6 +576,7 @@ function SignInPage(props: SignInPageProps) { error: credentialsResponse?.error, })); }} + {...slotProps?.form} > {slots?.emailField ? ( @@ -711,6 +718,8 @@ SignInPage.propTypes /* remove-proptypes */ = { slotProps: PropTypes.shape({ emailField: PropTypes.object, forgotPasswordLink: PropTypes.object, + form: PropTypes.object, + oAuthButton: PropTypes.object, passwordField: PropTypes.object, rememberMe: PropTypes.object, signUpLink: PropTypes.object,