@webiny/app-admin-cognito 5.40.0-beta.5 → 5.40.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.
package/index.js CHANGED
@@ -93,7 +93,8 @@ var createAuthentication = exports.createAuthentication = function createAuthent
93
93
  loadingIdentity = _useState2[0],
94
94
  setLoadingIdentity = _useState2[1];
95
95
  var _useSecurity = (0, _appSecurity.useSecurity)(),
96
- setIdentity = _useSecurity.setIdentity;
96
+ setIdentity = _useSecurity.setIdentity,
97
+ setIdTokenProvider = _useSecurity.setIdTokenProvider;
97
98
  var client = (0, _reactHooks.useApolloClient)();
98
99
  var onToken = (0, _react.useCallback)(async function (token) {
99
100
  var payload = token.payload,
@@ -132,6 +133,15 @@ var createAuthentication = exports.createAuthentication = function createAuthent
132
133
  }
133
134
  }, []);
134
135
  (0, _react.useEffect)(function () {
136
+ /**
137
+ * We need to give the security layer a way to fetch the `idToken`, so other network clients can use
138
+ * it when sending requests to external services (APIs, websockets,...).
139
+ */
140
+ setIdTokenProvider(async function () {
141
+ var user = await _auth.Auth.currentSession();
142
+ var idToken = user.getIdToken();
143
+ return idToken ? idToken.getJwtToken() : undefined;
144
+ });
135
145
  _plugins.plugins.register(createApolloLinkPlugin());
136
146
  }, []);
137
147
  return /*#__PURE__*/_react.default.createElement(_Authenticator.Authenticator, {
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_auth","_reactHooks","_apolloLinkContext","_plugins","_ApolloLinkPlugin","_Authenticator","_appSecurity","_config","_SignIn","_RequireNewPassword","_ForgotPassword","_SetNewPassword","_SignedIn","_LoggingIn","_FederatedProviders","_View","_excluded","_excluded2","Components","exports","View","FederatedProviders","SignIn","createApolloLinkPlugin","ApolloLinkPlugin","setContext","_","_ref","headers","user","Auth","currentSession","idToken","getIdToken","Authorization","_objectSpread2","default","concat","getJwtToken","validatePermissions","permissions","appPermissions","filter","p","name","length","Error","defaultOptions","region","appConfig","getKey","process","env","REACT_APP_USER_POOL_REGION","userPoolId","REACT_APP_USER_POOL_ID","userPoolWebClientId","REACT_APP_USER_POOL_WEB_CLIENT_ID","createAuthentication","_ref2","_ref2$allowSignInWith","allowSignInWithCredentials","getIdentityData","onError","config","_objectWithoutProperties2","Object","keys","forEach","key","undefined","configure","Authentication","props","children","_useState","useState","_useState2","_slicedToArray2","loadingIdentity","setLoadingIdentity","_useSecurity","useSecurity","setIdentity","client","useApolloClient","onToken","useCallback","token","payload","logout","_await$getIdentityDat","id","displayName","type","data","err","console","log","error","useEffect","plugins","register","createElement","Authenticator","LoggingIn","federatedProviders","RequireNewPassword","ForgotPassword","SetNewPassword","SignedIn"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { Auth } from \"@aws-amplify/auth\";\nimport { AuthOptions } from \"@aws-amplify/auth/lib-esm/types\";\nimport ApolloClient from \"apollo-client\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { setContext } from \"apollo-link-context\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ApolloLinkPlugin } from \"@webiny/app/plugins/ApolloLinkPlugin\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { CognitoIdToken } from \"@webiny/app-cognito-authenticator/types\";\nimport { Authenticator } from \"@webiny/app-cognito-authenticator/Authenticator\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { SignIn } from \"~/views/SignIn\";\nimport { RequireNewPassword } from \"~/views/RequireNewPassword\";\nimport { ForgotPassword } from \"~/views/ForgotPassword\";\nimport { SetNewPassword } from \"~/views/SetNewPassword\";\nimport { SignedIn } from \"~/views/SignedIn\";\nimport { LoggingIn } from \"~/views/LoggingIn\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\nimport { FederatedProviders } from \"~/components/FederatedProviders\";\nimport { View } from \"~/components/View\";\n\nexport const Components = {\n View,\n FederatedProviders,\n SignIn\n};\n\nconst createApolloLinkPlugin = (): ApolloLinkPlugin => {\n return new ApolloLinkPlugin(() => {\n return setContext(async (_, { headers }) => {\n const user = await Auth.currentSession();\n const idToken = user.getIdToken();\n\n if (!idToken) {\n return { headers };\n }\n\n // If \"Authorization\" header is already set, don't overwrite it.\n if (headers && headers.Authorization) {\n return { headers };\n }\n\n return {\n headers: {\n ...headers,\n Authorization: `Bearer ${idToken.getJwtToken()}`\n }\n };\n });\n });\n};\n\nconst validatePermissions = (permissions: SecurityPermission[]) => {\n const appPermissions = permissions.filter(p => p.name !== \"aacl\");\n if (appPermissions.length === 0) {\n throw new Error(\"You have no permissions on this tenant!\");\n }\n};\n\nconst defaultOptions = {\n region: appConfig.getKey(\"USER_POOL_REGION\", process.env.REACT_APP_USER_POOL_REGION),\n userPoolId: appConfig.getKey(\"USER_POOL_ID\", process.env.REACT_APP_USER_POOL_ID),\n userPoolWebClientId: appConfig.getKey(\n \"USER_POOL_WEB_CLIENT_ID\",\n process.env.REACT_APP_USER_POOL_WEB_CLIENT_ID\n )\n};\n\nexport interface AuthenticationProps {\n children: React.ReactNode;\n}\n\nexport interface AuthenticationFactoryConfig extends AuthOptions {\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n onError?: (error: Error) => void;\n getIdentityData: (params: {\n client: ApolloClient<any>;\n payload: { [key: string]: any };\n }) => Promise<{ [key: string]: any }>;\n}\n\ninterface AuthenticationFactory {\n (params: AuthenticationFactoryConfig): React.ComponentType<AuthenticationProps>;\n}\n\nexport const createAuthentication: AuthenticationFactory = ({\n allowSignInWithCredentials = true,\n getIdentityData,\n onError,\n ...config\n}) => {\n /**\n * TODO @ts-refactor\n */\n // @ts-expect-error\n Object.keys(config).forEach(key => config[key] === undefined && delete config[key]);\n Auth.configure({ ...defaultOptions, ...config });\n\n const Authentication = (props: AuthenticationProps) => {\n const { children } = props;\n const [loadingIdentity, setLoadingIdentity] = useState(false);\n const { setIdentity } = useSecurity();\n const client = useApolloClient();\n\n const onToken = useCallback(async (token: CognitoIdToken) => {\n const { payload, logout } = token;\n\n setLoadingIdentity(true);\n\n try {\n const { id, displayName, type, permissions, ...data } = await getIdentityData({\n client,\n payload\n });\n\n setIdentity({\n id,\n displayName,\n type,\n permissions,\n ...data,\n logout:\n logout ||\n (() => {\n return void 0;\n })\n });\n\n validatePermissions(permissions);\n } catch (err) {\n console.log(\"ERROR\", err);\n if (typeof onError === \"function\") {\n onError(err);\n } else {\n console.error(err);\n }\n } finally {\n setLoadingIdentity(false);\n }\n }, []);\n\n useEffect(() => {\n plugins.register(createApolloLinkPlugin());\n }, []);\n\n return (\n <Authenticator onToken={onToken}>\n {loadingIdentity ? (\n <LoggingIn />\n ) : (\n <SignIn\n federatedProviders={config.federatedProviders}\n allowSignInWithCredentials={allowSignInWithCredentials}\n />\n )}\n <RequireNewPassword />\n <ForgotPassword />\n <SetNewPassword />\n <SignedIn>{children}</SignedIn>\n </Authenticator>\n );\n };\n\n return Authentication;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_auth","_reactHooks","_apolloLinkContext","_plugins","_ApolloLinkPlugin","_Authenticator","_appSecurity","_config","_SignIn","_RequireNewPassword","_ForgotPassword","_SetNewPassword","_SignedIn","_LoggingIn","_FederatedProviders","_View","_excluded","_excluded2","Components","exports","View","FederatedProviders","SignIn","createApolloLinkPlugin","ApolloLinkPlugin","setContext","_","_ref","headers","user","Auth","currentSession","idToken","getIdToken","Authorization","_objectSpread2","default","concat","getJwtToken","validatePermissions","permissions","appPermissions","filter","p","name","length","Error","defaultOptions","region","appConfig","getKey","process","env","REACT_APP_USER_POOL_REGION","userPoolId","REACT_APP_USER_POOL_ID","userPoolWebClientId","REACT_APP_USER_POOL_WEB_CLIENT_ID","createAuthentication","_ref2","_ref2$allowSignInWith","allowSignInWithCredentials","getIdentityData","onError","config","_objectWithoutProperties2","Object","keys","forEach","key","undefined","configure","Authentication","props","children","_useState","useState","_useState2","_slicedToArray2","loadingIdentity","setLoadingIdentity","_useSecurity","useSecurity","setIdentity","setIdTokenProvider","client","useApolloClient","onToken","useCallback","token","payload","logout","_await$getIdentityDat","id","displayName","type","data","err","console","log","error","useEffect","plugins","register","createElement","Authenticator","LoggingIn","federatedProviders","RequireNewPassword","ForgotPassword","SetNewPassword","SignedIn"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { Auth } from \"@aws-amplify/auth\";\nimport { AuthOptions } from \"@aws-amplify/auth/lib-esm/types\";\nimport ApolloClient from \"apollo-client\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { setContext } from \"apollo-link-context\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ApolloLinkPlugin } from \"@webiny/app/plugins/ApolloLinkPlugin\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { CognitoIdToken } from \"@webiny/app-cognito-authenticator/types\";\nimport { Authenticator } from \"@webiny/app-cognito-authenticator/Authenticator\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { config as appConfig } from \"@webiny/app/config\";\nimport { SignIn } from \"~/views/SignIn\";\nimport { RequireNewPassword } from \"~/views/RequireNewPassword\";\nimport { ForgotPassword } from \"~/views/ForgotPassword\";\nimport { SetNewPassword } from \"~/views/SetNewPassword\";\nimport { SignedIn } from \"~/views/SignedIn\";\nimport { LoggingIn } from \"~/views/LoggingIn\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\nimport { FederatedProviders } from \"~/components/FederatedProviders\";\nimport { View } from \"~/components/View\";\n\nexport const Components = {\n View,\n FederatedProviders,\n SignIn\n};\n\nconst createApolloLinkPlugin = (): ApolloLinkPlugin => {\n return new ApolloLinkPlugin(() => {\n return setContext(async (_, { headers }) => {\n const user = await Auth.currentSession();\n const idToken = user.getIdToken();\n\n if (!idToken) {\n return { headers };\n }\n\n // If \"Authorization\" header is already set, don't overwrite it.\n if (headers && headers.Authorization) {\n return { headers };\n }\n\n return {\n headers: {\n ...headers,\n Authorization: `Bearer ${idToken.getJwtToken()}`\n }\n };\n });\n });\n};\n\nconst validatePermissions = (permissions: SecurityPermission[]) => {\n const appPermissions = permissions.filter(p => p.name !== \"aacl\");\n if (appPermissions.length === 0) {\n throw new Error(\"You have no permissions on this tenant!\");\n }\n};\n\nconst defaultOptions = {\n region: appConfig.getKey(\"USER_POOL_REGION\", process.env.REACT_APP_USER_POOL_REGION),\n userPoolId: appConfig.getKey(\"USER_POOL_ID\", process.env.REACT_APP_USER_POOL_ID),\n userPoolWebClientId: appConfig.getKey(\n \"USER_POOL_WEB_CLIENT_ID\",\n process.env.REACT_APP_USER_POOL_WEB_CLIENT_ID\n )\n};\n\nexport interface AuthenticationProps {\n children: React.ReactNode;\n}\n\nexport interface AuthenticationFactoryConfig extends AuthOptions {\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n onError?: (error: Error) => void;\n getIdentityData: (params: {\n client: ApolloClient<any>;\n payload: { [key: string]: any };\n }) => Promise<{ [key: string]: any }>;\n}\n\ninterface AuthenticationFactory {\n (params: AuthenticationFactoryConfig): React.ComponentType<AuthenticationProps>;\n}\n\nexport const createAuthentication: AuthenticationFactory = ({\n allowSignInWithCredentials = true,\n getIdentityData,\n onError,\n ...config\n}) => {\n /**\n * TODO @ts-refactor\n */\n // @ts-expect-error\n Object.keys(config).forEach(key => config[key] === undefined && delete config[key]);\n Auth.configure({ ...defaultOptions, ...config });\n\n const Authentication = (props: AuthenticationProps) => {\n const { children } = props;\n const [loadingIdentity, setLoadingIdentity] = useState(false);\n const { setIdentity, setIdTokenProvider } = useSecurity();\n const client = useApolloClient();\n\n const onToken = useCallback(async (token: CognitoIdToken) => {\n const { payload, logout } = token;\n\n setLoadingIdentity(true);\n\n try {\n const { id, displayName, type, permissions, ...data } = await getIdentityData({\n client,\n payload\n });\n\n setIdentity({\n id,\n displayName,\n type,\n permissions,\n ...data,\n logout:\n logout ||\n (() => {\n return void 0;\n })\n });\n\n validatePermissions(permissions);\n } catch (err) {\n console.log(\"ERROR\", err);\n if (typeof onError === \"function\") {\n onError(err);\n } else {\n console.error(err);\n }\n } finally {\n setLoadingIdentity(false);\n }\n }, []);\n\n useEffect(() => {\n /**\n * We need to give the security layer a way to fetch the `idToken`, so other network clients can use\n * it when sending requests to external services (APIs, websockets,...).\n */\n setIdTokenProvider(async () => {\n const user = await Auth.currentSession();\n const idToken = user.getIdToken();\n\n return idToken ? idToken.getJwtToken() : undefined;\n });\n\n plugins.register(createApolloLinkPlugin());\n }, []);\n\n return (\n <Authenticator onToken={onToken}>\n {loadingIdentity ? (\n <LoggingIn />\n ) : (\n <SignIn\n federatedProviders={config.federatedProviders}\n allowSignInWithCredentials={allowSignInWithCredentials}\n />\n )}\n <RequireNewPassword />\n <ForgotPassword />\n <SetNewPassword />\n <SignedIn>{children}</SignedIn>\n </Authenticator>\n );\n };\n\n return Authentication;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-admin-cognito",
3
- "version": "5.40.0-beta.5",
3
+ "version": "5.40.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,15 +15,15 @@
15
15
  "@apollo/react-hooks": "3.1.5",
16
16
  "@aws-amplify/auth": "5.1.9",
17
17
  "@emotion/styled": "11.10.6",
18
- "@webiny/app": "5.40.0-beta.5",
19
- "@webiny/app-admin": "5.40.0-beta.5",
20
- "@webiny/app-cognito-authenticator": "5.40.0-beta.5",
21
- "@webiny/app-security": "5.40.0-beta.5",
22
- "@webiny/form": "5.40.0-beta.5",
23
- "@webiny/plugins": "5.40.0-beta.5",
24
- "@webiny/react-composition": "5.40.0-beta.5",
25
- "@webiny/ui": "5.40.0-beta.5",
26
- "@webiny/validation": "5.40.0-beta.5",
18
+ "@webiny/app": "5.40.0",
19
+ "@webiny/app-admin": "5.40.0",
20
+ "@webiny/app-cognito-authenticator": "5.40.0",
21
+ "@webiny/app-security": "5.40.0",
22
+ "@webiny/form": "5.40.0",
23
+ "@webiny/plugins": "5.40.0",
24
+ "@webiny/react-composition": "5.40.0",
25
+ "@webiny/ui": "5.40.0",
26
+ "@webiny/validation": "5.40.0",
27
27
  "apollo-client": "2.6.10",
28
28
  "apollo-link-context": "1.0.20",
29
29
  "emotion": "10.0.27",
@@ -38,8 +38,8 @@
38
38
  "@babel/preset-env": "7.24.3",
39
39
  "@babel/preset-react": "7.24.1",
40
40
  "@babel/preset-typescript": "7.24.1",
41
- "@webiny/cli": "5.40.0-beta.5",
42
- "@webiny/project-utils": "5.40.0-beta.5",
41
+ "@webiny/cli": "5.40.0",
42
+ "@webiny/project-utils": "5.40.0",
43
43
  "rimraf": "5.0.5",
44
44
  "ttypescript": "1.5.15",
45
45
  "typescript": "4.7.4"
@@ -62,5 +62,5 @@
62
62
  ]
63
63
  }
64
64
  },
65
- "gitHead": "04482b686c63fdadebd4c6c1db7595af1140cfc7"
65
+ "gitHead": "e6ce53a387a9b1ab39aa8d15e4ed9be2359f17aa"
66
66
  }
package/views/SignIn.d.ts CHANGED
@@ -12,6 +12,9 @@ export interface SignInProps {
12
12
  allowSignInWithCredentials?: boolean;
13
13
  federatedProviders?: FederatedIdentityProvider[];
14
14
  }
15
+ export interface SignInDefaultContentProps extends SignInProps {
16
+ error?: Error | null;
17
+ }
15
18
  export declare const SignIn: import("@webiny/app-admin").GenericComponent<SignInProps> & {
16
19
  original: import("@webiny/app-admin").GenericComponent<SignInProps>;
17
20
  originalName: string;
package/views/SignIn.js CHANGED
@@ -15,7 +15,7 @@ var _Grid = require("@webiny/ui/Grid");
15
15
  var _Alert = require("@webiny/ui/Alert");
16
16
  var _Progress = require("@webiny/ui/Progress");
17
17
  var _useAuthenticator2 = require("@webiny/app-cognito-authenticator/hooks/useAuthenticator");
18
- var _useSignIn3 = require("@webiny/app-cognito-authenticator/hooks/useSignIn");
18
+ var _useSignIn2 = require("@webiny/app-cognito-authenticator/hooks/useSignIn");
19
19
  var _View = require("../components/View");
20
20
  var _FederatedLogin = require("./FederatedLogin");
21
21
  var _Divider = require("../components/Divider");
@@ -23,8 +23,6 @@ var _StyledComponents = require("../components/StyledComponents");
23
23
  var DefaultContent = function DefaultContent(props) {
24
24
  var _useForm = (0, _form.useForm)(),
25
25
  submit = _useForm.submit;
26
- var _useSignIn = (0, _useSignIn3.useSignIn)(),
27
- error = _useSignIn.error;
28
26
  var _useAuthenticator = (0, _useAuthenticator2.useAuthenticator)(),
29
27
  message = _useAuthenticator.message,
30
28
  changeState = _useAuthenticator.changeState;
@@ -35,7 +33,9 @@ var DefaultContent = function DefaultContent(props) {
35
33
  _props$federatedProvi = props.federatedProviders,
36
34
  federatedProviders = _props$federatedProvi === void 0 ? [] : _props$federatedProvi,
37
35
  _props$allowSignInWit = props.allowSignInWithCredentials,
38
- allowSignInWithCredentials = _props$allowSignInWit === void 0 ? true : _props$allowSignInWit;
36
+ allowSignInWithCredentials = _props$allowSignInWit === void 0 ? true : _props$allowSignInWit,
37
+ _props$error = props.error,
38
+ error = _props$error === void 0 ? null : _props$error;
39
39
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_View.View.Title, {
40
40
  title: title,
41
41
  description: description
@@ -89,10 +89,11 @@ var DefaultContent = function DefaultContent(props) {
89
89
  })) : null);
90
90
  };
91
91
  var SignIn = exports.SignIn = (0, _appAdmin.makeDecoratable)("SignIn", function (props) {
92
- var _useSignIn2 = (0, _useSignIn3.useSignIn)(),
93
- signIn = _useSignIn2.signIn,
94
- loading = _useSignIn2.loading,
95
- shouldRender = _useSignIn2.shouldRender;
92
+ var _useSignIn = (0, _useSignIn2.useSignIn)(),
93
+ signIn = _useSignIn.signIn,
94
+ loading = _useSignIn.loading,
95
+ shouldRender = _useSignIn.shouldRender,
96
+ error = _useSignIn.error;
96
97
  var _props$content = props.content,
97
98
  content = _props$content === void 0 ? undefined : _props$content,
98
99
  _props$footer = props.footer,
@@ -108,7 +109,9 @@ var SignIn = exports.SignIn = (0, _appAdmin.makeDecoratable)("SignIn", function
108
109
  }, function () {
109
110
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_View.View.Content, null, loading && /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
110
111
  label: "Signing in..."
111
- }), content ? content : /*#__PURE__*/_react.default.createElement(DefaultContent, props)), footer ? /*#__PURE__*/_react.default.createElement(_View.View.Footer, null, footer) : null);
112
+ }), content ? content : /*#__PURE__*/_react.default.createElement(DefaultContent, Object.assign({}, props, {
113
+ error: error
114
+ }))), footer ? /*#__PURE__*/_react.default.createElement(_View.View.Footer, null, footer) : null);
112
115
  }));
113
116
  });
114
117
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_appAdmin","_form","_validation","_Button","_Input","_Grid","_Alert","_Progress","_useAuthenticator2","_useSignIn3","_View","_FederatedLogin","_Divider","_StyledComponents","DefaultContent","props","_useForm","useForm","submit","_useSignIn","useSignIn","error","_useAuthenticator","useAuthenticator","message","changeState","_props$title","title","_props$description","description","undefined","_props$federatedProvi","federatedProviders","_props$allowSignInWit","allowSignInWithCredentials","default","createElement","Fragment","View","Title","Grid","Cell","span","Alert","type","text","className","errorMessage","Bind","name","validators","validation","create","beforeChange","val","cb","toLowerCase","Input","label","alignRight","ButtonPrimary","onClick","ev","alignCenter","href","length","Divider","FederatedLogin","providers","SignIn","exports","makeDecoratable","_useSignIn2","signIn","loading","shouldRender","_props$content","content","_props$footer","footer","Container","Form","onSubmit","data","submitOnEnter","Content","CircularProgress","Footer"],"sources":["SignIn.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/app-admin\";\nimport { Form, Bind, useForm } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { useAuthenticator } from \"@webiny/app-cognito-authenticator/hooks/useAuthenticator\";\nimport {\n useSignIn,\n UseSignInCallableParams\n} from \"@webiny/app-cognito-authenticator/hooks/useSignIn\";\nimport { View } from \"~/components/View\";\nimport { FederatedLogin } from \"./FederatedLogin\";\nimport { Divider } from \"~/components/Divider\";\nimport { alignRight, alignCenter, errorMessage } from \"~/components/StyledComponents\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\n\nexport interface SignInProps {\n title?: string;\n description?: React.ReactNode;\n /**\n * This prop lets you override the entire content of the view.\n * You'll need to implement your own title, description, and content rendering.\n */\n content?: React.ReactNode;\n footer?: React.ReactNode;\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n}\n\nconst DefaultContent = (props: SignInProps) => {\n const { submit } = useForm();\n const { error } = useSignIn();\n const { message, changeState } = useAuthenticator();\n const {\n title = \"Sign In\",\n description = undefined,\n federatedProviders = [],\n allowSignInWithCredentials = true\n } = props;\n\n return (\n <>\n <View.Title title={title} description={description} />\n {message && !error && (\n <Grid>\n <Cell span={12}>\n <Alert title={message.title} type={message.type}>\n {message.text}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {error && (\n <Grid>\n <Cell span={12} className={errorMessage}>\n <Alert title=\"Authentication error\" type={\"danger\"}>\n {error.message}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {allowSignInWithCredentials ? (\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"username\"\n validators={validation.create(\"required,email\")}\n beforeChange={(val: string, cb: (value: string) => void) =>\n cb(val.toLowerCase())\n }\n >\n <Input label={\"Your e-mail\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"password\" validators={validation.create(\"required\")}>\n <Input type={\"password\"} label={\"Your password\"} />\n </Bind>\n </Cell>\n <Cell span={12} className={alignRight}>\n <ButtonPrimary\n data-testid=\"submit-sign-in-form-button\"\n onClick={ev => {\n submit(ev);\n }}\n >\n {\"Submit\"}\n </ButtonPrimary>\n </Cell>\n <Cell span={12} className={alignCenter}>\n <a href=\"#\" onClick={() => changeState(\"forgotPassword\")}>\n Forgot password?\n </a>\n </Cell>\n </Grid>\n ) : null}\n {federatedProviders.length ? (\n <>\n {allowSignInWithCredentials ? <Divider /> : null}\n <FederatedLogin providers={federatedProviders} />\n </>\n ) : null}\n </>\n );\n};\n\nexport const SignIn = makeDecoratable(\"SignIn\", (props: SignInProps) => {\n const { signIn, loading, shouldRender } = useSignIn();\n const { content = undefined, footer = undefined } = props;\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <View.Container>\n <Form<UseSignInCallableParams> onSubmit={data => signIn(data)} submitOnEnter>\n {() => (\n <>\n <View.Content>\n {loading && <CircularProgress label={\"Signing in...\"} />}\n {content ? content : <DefaultContent {...props} />}\n </View.Content>\n {footer ? <View.Footer>{footer}</View.Footer> : null}\n </>\n )}\n </Form>\n </View.Container>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_appAdmin","_form","_validation","_Button","_Input","_Grid","_Alert","_Progress","_useAuthenticator2","_useSignIn2","_View","_FederatedLogin","_Divider","_StyledComponents","DefaultContent","props","_useForm","useForm","submit","_useAuthenticator","useAuthenticator","message","changeState","_props$title","title","_props$description","description","undefined","_props$federatedProvi","federatedProviders","_props$allowSignInWit","allowSignInWithCredentials","_props$error","error","default","createElement","Fragment","View","Title","Grid","Cell","span","Alert","type","text","className","errorMessage","Bind","name","validators","validation","create","beforeChange","val","cb","toLowerCase","Input","label","alignRight","ButtonPrimary","onClick","ev","alignCenter","href","length","Divider","FederatedLogin","providers","SignIn","exports","makeDecoratable","_useSignIn","useSignIn","signIn","loading","shouldRender","_props$content","content","_props$footer","footer","Container","Form","onSubmit","data","submitOnEnter","Content","CircularProgress","Object","assign","Footer"],"sources":["SignIn.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/app-admin\";\nimport { Form, Bind, useForm } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { useAuthenticator } from \"@webiny/app-cognito-authenticator/hooks/useAuthenticator\";\nimport {\n useSignIn,\n UseSignInCallableParams\n} from \"@webiny/app-cognito-authenticator/hooks/useSignIn\";\nimport { View } from \"~/components/View\";\nimport { FederatedLogin } from \"./FederatedLogin\";\nimport { Divider } from \"~/components/Divider\";\nimport { alignRight, alignCenter, errorMessage } from \"~/components/StyledComponents\";\nimport { FederatedIdentityProvider } from \"~/federatedIdentityProviders\";\n\nexport interface SignInProps {\n title?: string;\n description?: React.ReactNode;\n /**\n * This prop lets you override the entire content of the view.\n * You'll need to implement your own title, description, and content rendering.\n */\n content?: React.ReactNode;\n footer?: React.ReactNode;\n allowSignInWithCredentials?: boolean;\n federatedProviders?: FederatedIdentityProvider[];\n}\n\nexport interface SignInDefaultContentProps extends SignInProps {\n error?: Error | null;\n}\n\nconst DefaultContent = (props: SignInDefaultContentProps) => {\n const { submit } = useForm();\n const { message, changeState } = useAuthenticator();\n const {\n title = \"Sign In\",\n description = undefined,\n federatedProviders = [],\n allowSignInWithCredentials = true,\n error = null\n } = props;\n\n return (\n <>\n <View.Title title={title} description={description} />\n {message && !error && (\n <Grid>\n <Cell span={12}>\n <Alert title={message.title} type={message.type}>\n {message.text}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {error && (\n <Grid>\n <Cell span={12} className={errorMessage}>\n <Alert title=\"Authentication error\" type={\"danger\"}>\n {error.message}\n </Alert>\n </Cell>\n </Grid>\n )}\n\n {allowSignInWithCredentials ? (\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"username\"\n validators={validation.create(\"required,email\")}\n beforeChange={(val: string, cb: (value: string) => void) =>\n cb(val.toLowerCase())\n }\n >\n <Input label={\"Your e-mail\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"password\" validators={validation.create(\"required\")}>\n <Input type={\"password\"} label={\"Your password\"} />\n </Bind>\n </Cell>\n <Cell span={12} className={alignRight}>\n <ButtonPrimary\n data-testid=\"submit-sign-in-form-button\"\n onClick={ev => {\n submit(ev);\n }}\n >\n {\"Submit\"}\n </ButtonPrimary>\n </Cell>\n <Cell span={12} className={alignCenter}>\n <a href=\"#\" onClick={() => changeState(\"forgotPassword\")}>\n Forgot password?\n </a>\n </Cell>\n </Grid>\n ) : null}\n {federatedProviders.length ? (\n <>\n {allowSignInWithCredentials ? <Divider /> : null}\n <FederatedLogin providers={federatedProviders} />\n </>\n ) : null}\n </>\n );\n};\n\nexport const SignIn = makeDecoratable(\"SignIn\", (props: SignInProps) => {\n const { signIn, loading, shouldRender, error } = useSignIn();\n const { content = undefined, footer = undefined } = props;\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <View.Container>\n <Form<UseSignInCallableParams> onSubmit={data => signIn(data)} submitOnEnter>\n {() => (\n <>\n <View.Content>\n {loading && <CircularProgress label={\"Signing in...\"} />}\n {content ? content : <DefaultContent {...props} error={error} />}\n </View.Content>\n {footer ? <View.Footer>{footer}</View.Footer> : null}\n </>\n )}\n </Form>\n </View.Container>\n );\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAIA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AACA,IAAAa,QAAA,GAAAb,OAAA;AACA,IAAAc,iBAAA,GAAAd,OAAA;AAoBA,IAAMe,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAgC,EAAK;EACzD,IAAAC,QAAA,GAAmB,IAAAC,aAAO,EAAC,CAAC;IAApBC,MAAM,GAAAF,QAAA,CAANE,MAAM;EACd,IAAAC,iBAAA,GAAiC,IAAAC,mCAAgB,EAAC,CAAC;IAA3CC,OAAO,GAAAF,iBAAA,CAAPE,OAAO;IAAEC,WAAW,GAAAH,iBAAA,CAAXG,WAAW;EAC5B,IAAAC,YAAA,GAMIR,KAAK,CALLS,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,SAAS,GAAAA,YAAA;IAAAE,kBAAA,GAKjBV,KAAK,CAJLW,WAAW;IAAXA,WAAW,GAAAD,kBAAA,cAAGE,SAAS,GAAAF,kBAAA;IAAAG,qBAAA,GAIvBb,KAAK,CAHLc,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAGvBf,KAAK,CAFLgB,0BAA0B;IAA1BA,0BAA0B,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,YAAA,GAEjCjB,KAAK,CADLkB,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;EAGhB,oBACInC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAAtC,MAAA,CAAAqC,OAAA,CAAAE,QAAA,qBACIvC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACzB,KAAA,CAAA2B,IAAI,CAACC,KAAK;IAACd,KAAK,EAAEA,KAAM;IAACE,WAAW,EAAEA;EAAY,CAAE,CAAC,EACrDL,OAAO,IAAI,CAACY,KAAK,iBACdpC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAkC,IAAI,qBACD1C,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAmC,IAAI;IAACC,IAAI,EAAE;EAAG,gBACX5C,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC7B,MAAA,CAAAoC,KAAK;IAAClB,KAAK,EAAEH,OAAO,CAACG,KAAM;IAACmB,IAAI,EAAEtB,OAAO,CAACsB;EAAK,GAC3CtB,OAAO,CAACuB,IACN,CACL,CACJ,CACT,EAEAX,KAAK,iBACFpC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAkC,IAAI,qBACD1C,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAmC,IAAI;IAACC,IAAI,EAAE,EAAG;IAACI,SAAS,EAAEC;EAAa,gBACpCjD,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC7B,MAAA,CAAAoC,KAAK;IAAClB,KAAK,EAAC,sBAAsB;IAACmB,IAAI,EAAE;EAAS,GAC9CV,KAAK,CAACZ,OACJ,CACL,CACJ,CACT,EAEAU,0BAA0B,gBACvBlC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAkC,IAAI,qBACD1C,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAmC,IAAI;IAACC,IAAI,EAAE;EAAG,gBACX5C,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAClC,KAAA,CAAA8C,IAAI;IACDC,IAAI,EAAC,UAAU;IACfC,UAAU,EAAEC,sBAAU,CAACC,MAAM,CAAC,gBAAgB,CAAE;IAChDC,YAAY,EAAE,SAAAA,aAACC,GAAW,EAAEC,EAA2B;MAAA,OACnDA,EAAE,CAACD,GAAG,CAACE,WAAW,CAAC,CAAC,CAAC;IAAA;EACxB,gBAED1D,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC/B,MAAA,CAAAoD,KAAK;IAACC,KAAK,EAAE;EAAc,CAAE,CAC5B,CACJ,CAAC,eACP5D,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAmC,IAAI;IAACC,IAAI,EAAE;EAAG,gBACX5C,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAClC,KAAA,CAAA8C,IAAI;IAACC,IAAI,EAAC,UAAU;IAACC,UAAU,EAAEC,sBAAU,CAACC,MAAM,CAAC,UAAU;EAAE,gBAC5DtD,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC/B,MAAA,CAAAoD,KAAK;IAACb,IAAI,EAAE,UAAW;IAACc,KAAK,EAAE;EAAgB,CAAE,CAChD,CACJ,CAAC,eACP5D,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAmC,IAAI;IAACC,IAAI,EAAE,EAAG;IAACI,SAAS,EAAEa;EAAW,gBAClC7D,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAChC,OAAA,CAAAwD,aAAa;IACV,eAAY,4BAA4B;IACxCC,OAAO,EAAE,SAAAA,QAAAC,EAAE,EAAI;MACX3C,MAAM,CAAC2C,EAAE,CAAC;IACd;EAAE,GAED,QACU,CACb,CAAC,eACPhE,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC9B,KAAA,CAAAmC,IAAI;IAACC,IAAI,EAAE,EAAG;IAACI,SAAS,EAAEiB;EAAY,gBACnCjE,MAAA,CAAAqC,OAAA,CAAAC,aAAA;IAAG4B,IAAI,EAAC,GAAG;IAACH,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMtC,WAAW,CAAC,gBAAgB,CAAC;IAAA;EAAC,GAAC,kBAEvD,CACD,CACJ,CAAC,GACP,IAAI,EACPO,kBAAkB,CAACmC,MAAM,gBACtBnE,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAAtC,MAAA,CAAAqC,OAAA,CAAAE,QAAA,QACKL,0BAA0B,gBAAGlC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACvB,QAAA,CAAAqD,OAAO,MAAE,CAAC,GAAG,IAAI,eAChDpE,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACxB,eAAA,CAAAuD,cAAc;IAACC,SAAS,EAAEtC;EAAmB,CAAE,CAClD,CAAC,GACH,IACN,CAAC;AAEX,CAAC;AAEM,IAAMuC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,yBAAe,EAAC,QAAQ,EAAE,UAACvD,KAAkB,EAAK;EACpE,IAAAwD,UAAA,GAAiD,IAAAC,qBAAS,EAAC,CAAC;IAApDC,MAAM,GAAAF,UAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,UAAA,CAAPG,OAAO;IAAEC,YAAY,GAAAJ,UAAA,CAAZI,YAAY;IAAE1C,KAAK,GAAAsC,UAAA,CAALtC,KAAK;EAC5C,IAAA2C,cAAA,GAAoD7D,KAAK,CAAjD8D,OAAO;IAAPA,OAAO,GAAAD,cAAA,cAAGjD,SAAS,GAAAiD,cAAA;IAAAE,aAAA,GAAyB/D,KAAK,CAA5BgE,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAGnD,SAAS,GAAAmD,aAAA;EAE/C,IAAI,CAACH,YAAY,EAAE;IACf,OAAO,IAAI;EACf;EAEA,oBACI9E,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACzB,KAAA,CAAA2B,IAAI,CAAC2C,SAAS,qBACXnF,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAClC,KAAA,CAAAgF,IAAI;IAA0BC,QAAQ,EAAE,SAAAA,SAAAC,IAAI;MAAA,OAAIV,MAAM,CAACU,IAAI,CAAC;IAAA,CAAC;IAACC,aAAa;EAAA,GACvE;IAAA,oBACGvF,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAAtC,MAAA,CAAAqC,OAAA,CAAAE,QAAA,qBACIvC,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACzB,KAAA,CAAA2B,IAAI,CAACgD,OAAO,QACRX,OAAO,iBAAI7E,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAAC5B,SAAA,CAAA+E,gBAAgB;MAAC7B,KAAK,EAAE;IAAgB,CAAE,CAAC,EACvDoB,OAAO,GAAGA,OAAO,gBAAGhF,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACrB,cAAc,EAAAyE,MAAA,CAAAC,MAAA,KAAKzE,KAAK;MAAEkB,KAAK,EAAEA;IAAM,EAAE,CACrD,CAAC,EACd8C,MAAM,gBAAGlF,MAAA,CAAAqC,OAAA,CAAAC,aAAA,CAACzB,KAAA,CAAA2B,IAAI,CAACoD,MAAM,QAAEV,MAAoB,CAAC,GAAG,IAClD,CAAC;EAAA,CAEL,CACM,CAAC;AAEzB,CAAC,CAAC","ignoreList":[]}