@oneblink/apps-react 3.1.0-beta.2 → 3.1.0-beta.3

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.
@@ -1,14 +1,16 @@
1
1
  import { FormsAppUser } from '@oneblink/types/typescript/formsApps';
2
- export default function useSignUp({ formsAppId, username, firstName, lastName, generatePassword, }: {
2
+ export default function useSignUp({ formsAppId, username, firstName, lastName, }: {
3
3
  formsAppId: number;
4
4
  username: string;
5
5
  firstName?: string;
6
6
  lastName?: string;
7
- generatePassword: boolean;
8
7
  }): {
9
8
  signUpWithUserDetails: () => Promise<void>;
10
9
  clearSignUpError: () => void;
11
10
  isSigningUp: boolean;
12
11
  signUpError: Error | null;
13
12
  newFormsAppUser: FormsAppUser | undefined;
13
+ usernameValidation: {
14
+ isInvalid: boolean;
15
+ };
14
16
  };
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { authService, Sentry } from '@oneblink/apps';
3
- export default function useSignUp({ formsAppId, username, firstName, lastName, generatePassword, }) {
3
+ export default function useSignUp({ formsAppId, username, firstName, lastName, }) {
4
4
  const usernameValidation = React.useMemo(() => {
5
5
  // regex source: https://www.w3resource.com/javascript/form/email-validation.php#:~:text=To%20get%20a%20valid%20email,%5D%2B)*%24%2F.
6
6
  return {
7
- isInvalid: !!username.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/g),
7
+ isInvalid: !username.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),
8
8
  };
9
9
  }, [username]);
10
10
  const [{ isSigningUp, signUpError, newFormsAppUser }, setSignUpState] = React.useState({
@@ -35,7 +35,6 @@ export default function useSignUp({ formsAppId, username, firstName, lastName, g
35
35
  email: username,
36
36
  firstName,
37
37
  lastName,
38
- generatePassword,
39
38
  });
40
39
  setSignUpState((currentState) => ({
41
40
  ...currentState,
@@ -51,20 +50,14 @@ export default function useSignUp({ formsAppId, username, firstName, lastName, g
51
50
  signUpError: error,
52
51
  }));
53
52
  }
54
- }, [
55
- firstName,
56
- formsAppId,
57
- generatePassword,
58
- lastName,
59
- username,
60
- usernameValidation.isInvalid,
61
- ]);
53
+ }, [firstName, formsAppId, lastName, username, usernameValidation.isInvalid]);
62
54
  return {
63
55
  signUpWithUserDetails,
64
56
  clearSignUpError,
65
57
  isSigningUp,
66
58
  signUpError,
67
59
  newFormsAppUser,
60
+ usernameValidation,
68
61
  };
69
62
  }
70
63
  //# sourceMappingURL=useSignUp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSignUp.js","sourceRoot":"","sources":["../../src/hooks/useSignUp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGpD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,gBAAgB,GAOjB;IACC,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC5C,qIAAqI;QACrI,OAAO;YACL,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CACzB,uEAAuE,CACxE;SACF,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,cAAc,CAAC,GACnE,KAAK,CAAC,QAAQ,CAIX;QACD,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,SAAS;KAC3B,CAAC,CAAA;IAEJ,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,GAAG,EAAE,CACH,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,OAAO;QACV,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,EACL,EAAE,CACH,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACzD,IAAI,kBAAkB,CAAC,SAAS,EAAE;YAChC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC3B,GAAG,OAAO;gBACV,WAAW,EAAE,IAAI,KAAK,CAAC,oCAAoC,CAAC;aAC7D,CAAC,CAAC,CAAA;YACH,OAAM;SACP;QAED,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,YAAY;YACf,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAA;QAEH,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBACvC,UAAU;gBACV,KAAK,EAAE,QAAQ;gBACf,SAAS;gBACT,QAAQ;gBACR,gBAAgB;aACjB,CAAC,CAAA;YAEF,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,YAAY;gBACf,eAAe,EAAE,OAAO;gBACxB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC,CAAA;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC9B,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,YAAY;gBACf,WAAW,EAAE,KAAK;gBAClB,WAAW,EAAE,KAAc;aAC5B,CAAC,CAAC,CAAA;SACJ;IACH,CAAC,EAAE;QACD,SAAS;QACT,UAAU;QACV,gBAAgB;QAChB,QAAQ;QACR,QAAQ;QACR,kBAAkB,CAAC,SAAS;KAC7B,CAAC,CAAA;IAEF,OAAO;QACL,qBAAqB;QACrB,gBAAgB;QAChB,WAAW;QACX,WAAW;QACX,eAAe;KAChB,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport { authService, Sentry } from '@oneblink/apps'\nimport { FormsAppUser } from '@oneblink/types/typescript/formsApps'\n\nexport default function useSignUp({\n formsAppId,\n username,\n firstName,\n lastName,\n generatePassword,\n}: {\n formsAppId: number\n username: string\n firstName?: string\n lastName?: string\n generatePassword: boolean\n}) {\n const usernameValidation = React.useMemo(() => {\n // regex source: https://www.w3resource.com/javascript/form/email-validation.php#:~:text=To%20get%20a%20valid%20email,%5D%2B)*%24%2F.\n return {\n isInvalid: !!username.match(\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/g,\n ),\n }\n }, [username])\n\n const [{ isSigningUp, signUpError, newFormsAppUser }, setSignUpState] =\n React.useState<{\n isSigningUp: boolean\n signUpError: Error | null\n newFormsAppUser: FormsAppUser | undefined\n }>({\n isSigningUp: false,\n signUpError: null,\n newFormsAppUser: undefined,\n })\n\n const clearSignUpError = React.useCallback(\n () =>\n setSignUpState((current) => ({\n ...current,\n signUpError: null,\n })),\n [],\n )\n\n const signUpWithUserDetails = React.useCallback(async () => {\n if (usernameValidation.isInvalid) {\n setSignUpState((current) => ({\n ...current,\n signUpError: new Error('Please enter a valid email address'),\n }))\n return\n }\n\n setSignUpState((currentState) => ({\n ...currentState,\n isSigningUp: true,\n signUpError: null,\n }))\n\n try {\n const newUser = await authService.signUp({\n formsAppId,\n email: username,\n firstName,\n lastName,\n generatePassword,\n })\n\n setSignUpState((currentState) => ({\n ...currentState,\n newFormsAppUser: newUser,\n isSigningUp: false,\n }))\n } catch (error) {\n Sentry.captureException(error)\n setSignUpState((currentState) => ({\n ...currentState,\n isSigningUp: false,\n signUpError: error as Error,\n }))\n }\n }, [\n firstName,\n formsAppId,\n generatePassword,\n lastName,\n username,\n usernameValidation.isInvalid,\n ])\n\n return {\n signUpWithUserDetails,\n clearSignUpError,\n isSigningUp,\n signUpError,\n newFormsAppUser,\n }\n}\n"]}
1
+ {"version":3,"file":"useSignUp.js","sourceRoot":"","sources":["../../src/hooks/useSignUp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGpD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,GAMT;IACC,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC5C,qIAAqI;QACrI,OAAO;YACL,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CACxB,sEAAsE,CACvE;SACF,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,cAAc,CAAC,GACnE,KAAK,CAAC,QAAQ,CAIX;QACD,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,SAAS;KAC3B,CAAC,CAAA;IAEJ,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,GAAG,EAAE,CACH,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,OAAO;QACV,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,EACL,EAAE,CACH,CAAA;IAED,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACzD,IAAI,kBAAkB,CAAC,SAAS,EAAE;YAChC,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC3B,GAAG,OAAO;gBACV,WAAW,EAAE,IAAI,KAAK,CAAC,oCAAoC,CAAC;aAC7D,CAAC,CAAC,CAAA;YACH,OAAM;SACP;QAED,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,YAAY;YACf,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAA;QAEH,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;gBACvC,UAAU;gBACV,KAAK,EAAE,QAAQ;gBACf,SAAS;gBACT,QAAQ;aACT,CAAC,CAAA;YAEF,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,YAAY;gBACf,eAAe,EAAE,OAAO;gBACxB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC,CAAA;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC9B,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAChC,GAAG,YAAY;gBACf,WAAW,EAAE,KAAK;gBAClB,WAAW,EAAE,KAAc;aAC5B,CAAC,CAAC,CAAA;SACJ;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;IAE7E,OAAO;QACL,qBAAqB;QACrB,gBAAgB;QAChB,WAAW;QACX,WAAW;QACX,eAAe;QACf,kBAAkB;KACnB,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport { authService, Sentry } from '@oneblink/apps'\nimport { FormsAppUser } from '@oneblink/types/typescript/formsApps'\n\nexport default function useSignUp({\n formsAppId,\n username,\n firstName,\n lastName,\n}: {\n formsAppId: number\n username: string\n firstName?: string\n lastName?: string\n}) {\n const usernameValidation = React.useMemo(() => {\n // regex source: https://www.w3resource.com/javascript/form/email-validation.php#:~:text=To%20get%20a%20valid%20email,%5D%2B)*%24%2F.\n return {\n isInvalid: !username.match(\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/,\n ),\n }\n }, [username])\n\n const [{ isSigningUp, signUpError, newFormsAppUser }, setSignUpState] =\n React.useState<{\n isSigningUp: boolean\n signUpError: Error | null\n newFormsAppUser: FormsAppUser | undefined\n }>({\n isSigningUp: false,\n signUpError: null,\n newFormsAppUser: undefined,\n })\n\n const clearSignUpError = React.useCallback(\n () =>\n setSignUpState((current) => ({\n ...current,\n signUpError: null,\n })),\n [],\n )\n\n const signUpWithUserDetails = React.useCallback(async () => {\n if (usernameValidation.isInvalid) {\n setSignUpState((current) => ({\n ...current,\n signUpError: new Error('Please enter a valid email address'),\n }))\n return\n }\n\n setSignUpState((currentState) => ({\n ...currentState,\n isSigningUp: true,\n signUpError: null,\n }))\n\n try {\n const newUser = await authService.signUp({\n formsAppId,\n email: username,\n firstName,\n lastName,\n })\n\n setSignUpState((currentState) => ({\n ...currentState,\n newFormsAppUser: newUser,\n isSigningUp: false,\n }))\n } catch (error) {\n Sentry.captureException(error)\n setSignUpState((currentState) => ({\n ...currentState,\n isSigningUp: false,\n signUpError: error as Error,\n }))\n }\n }, [firstName, formsAppId, lastName, username, usernameValidation.isInvalid])\n\n return {\n signUpWithUserDetails,\n clearSignUpError,\n isSigningUp,\n signUpError,\n newFormsAppUser,\n usernameValidation,\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oneblink/apps-react",
3
3
  "description": "Helper functions for OneBlink apps in ReactJS.",
4
- "version": "3.1.0-beta.2",
4
+ "version": "3.1.0-beta.3",
5
5
  "author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/oneblink/apps-react/issues"
@@ -47,7 +47,7 @@
47
47
  "@mui/lab": "^5.0.0-alpha.95",
48
48
  "@mui/material": "^5.10.1",
49
49
  "@mui/x-date-pickers": "^5.0.0-beta.6",
50
- "@oneblink/apps": "^4.1.0-beta.2",
50
+ "@oneblink/apps": "^4.1.0-beta.3",
51
51
  "@oneblink/release-cli": "^2.0.2",
52
52
  "@oneblink/types": "github:oneblink/types",
53
53
  "@types/blueimp-load-image": "^5.16.0",