amplify-material-ui
Version:
A Material-UI based implementation of aws amplify
87 lines (86 loc) • 3.13 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import * as React from 'react';
import { Notification } from '../notification';
import { AuthProvider } from './auth-provider';
import { ForgotPassword } from './forgot-password';
import { Greetings } from './greetings';
import { Loading } from './loading';
import { SignIn } from './sign-in';
import { SignUp } from './sign-up';
import { RequireNewPassword } from './require-new-password';
import { ConfirmSignIn } from './confirm-sign-in';
import { ConfirmSignUp } from './confirm-sign-up';
import { VerifyContact } from './verify-contact';
import { AuthRoute } from './auth-route';
var defaultChildren = [
{
validAuthStates: ['*'],
component: Notification,
},
{
validAuthStates: ['loading'],
component: Loading,
},
{
validAuthStates: ['forgotPassword'],
component: ForgotPassword,
},
{
validAuthStates: ['signedIn'],
component: Greetings,
},
{
validAuthStates: ['signIn', 'signedOut', 'signedUp'],
component: SignIn,
},
{
validAuthStates: ['signUp'],
component: SignUp,
},
{
validAuthStates: ['requireNewPassword'],
component: RequireNewPassword,
},
{
validAuthStates: ['verifyContact'],
component: VerifyContact,
},
{
validAuthStates: ['confirmSignIn'],
component: ConfirmSignIn,
},
{
validAuthStates: ['confirmSignUp'],
component: ConfirmSignUp,
},
];
export var AuthRouter = function (props) {
var _a = props.hide, hide = _a === void 0 ? [] : _a, children = props.children, initialAuthState = props.initialAuthState, onStateChange = props.onStateChange, authConfig = __rest(props, ["hide", "children", "initialAuthState", "onStateChange"]);
var renderChildren = defaultChildren
.filter(function (item) { return !hide.includes(item.component); })
.map(function (item, index) { return (React.createElement(AuthRoute, __assign({ key: "amplify-material-ui-authenticator-default-children-".concat(index) }, item, authConfig))); });
return (React.createElement(AuthProvider, { initialAuthState: initialAuthState, onStateChange: onStateChange },
renderChildren,
children));
};