@oneblink/apps-react 3.1.0-beta.6 → 3.1.0-beta.8

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,4 +1,4 @@
1
- import { localisationService } from '@oneblink/apps';
1
+ import { localisationService, authService } from '@oneblink/apps';
2
2
  import * as React from 'react';
3
3
  import useFormSubmissionModel from './useFormSubmissionModelContext';
4
4
  import { useRepeatableSetIndexText } from '../form-elements/FormElementRepeatableSet';
@@ -9,6 +9,7 @@ export default function useReplaceableText(text) {
9
9
  return localisationService.replaceInjectablesWithElementValues(textWithIndex, {
10
10
  submission: formSubmissionModel,
11
11
  formElements: elements,
12
+ userProfile: authService.getUserProfile() || undefined,
12
13
  });
13
14
  }, [elements, formSubmissionModel, textWithIndex]);
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useReplaceableText.js","sourceRoot":"","sources":["../../src/hooks/useReplaceableText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,sBAAsB,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AAErF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAY;IACrD,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IACrD,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAClE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO,mBAAmB,CAAC,mCAAmC,CAC5D,aAAa,EACb;YACE,UAAU,EAAE,mBAAmB;YAC/B,YAAY,EAAE,QAAQ;SACvB,CACF,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAA;AACpD,CAAC","sourcesContent":["import { localisationService } from '@oneblink/apps'\nimport * as React from 'react'\nimport useFormSubmissionModel from './useFormSubmissionModelContext'\nimport { useRepeatableSetIndexText } from '../form-elements/FormElementRepeatableSet'\n\nexport default function useReplaceableText(text: string) {\n const textWithIndex = useRepeatableSetIndexText(text)\n const { formSubmissionModel, elements } = useFormSubmissionModel()\n return React.useMemo(() => {\n return localisationService.replaceInjectablesWithElementValues(\n textWithIndex,\n {\n submission: formSubmissionModel,\n formElements: elements,\n },\n )\n }, [elements, formSubmissionModel, textWithIndex])\n}\n"]}
1
+ {"version":3,"file":"useReplaceableText.js","sourceRoot":"","sources":["../../src/hooks/useReplaceableText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,sBAAsB,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AAErF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAY;IACrD,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;IACrD,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,sBAAsB,EAAE,CAAA;IAClE,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO,mBAAmB,CAAC,mCAAmC,CAC5D,aAAa,EACb;YACE,UAAU,EAAE,mBAAmB;YAC/B,YAAY,EAAE,QAAQ;YACtB,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE,IAAI,SAAS;SACvD,CACF,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAA;AACpD,CAAC","sourcesContent":["import { localisationService, authService } from '@oneblink/apps'\nimport * as React from 'react'\nimport useFormSubmissionModel from './useFormSubmissionModelContext'\nimport { useRepeatableSetIndexText } from '../form-elements/FormElementRepeatableSet'\n\nexport default function useReplaceableText(text: string) {\n const textWithIndex = useRepeatableSetIndexText(text)\n const { formSubmissionModel, elements } = useFormSubmissionModel()\n return React.useMemo(() => {\n return localisationService.replaceInjectablesWithElementValues(\n textWithIndex,\n {\n submission: formSubmissionModel,\n formElements: elements,\n userProfile: authService.getUserProfile() || undefined,\n },\n )\n }, [elements, formSubmissionModel, textWithIndex])\n}\n"]}
@@ -8,6 +8,7 @@ export default function useSignUp({ formsAppId, username, firstName, lastName, }
8
8
  clearSignUpError: () => void;
9
9
  isSigningUp: boolean;
10
10
  signUpError: Error | null;
11
+ signUpComplete: boolean;
11
12
  usernameValidation: {
12
13
  isInvalid: boolean;
13
14
  };
@@ -7,9 +7,10 @@ export default function useSignUp({ formsAppId, username, firstName, lastName, }
7
7
  isInvalid: !username.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),
8
8
  };
9
9
  }, [username]);
10
- const [{ isSigningUp, signUpError }, setSignUpState] = React.useState({
10
+ const [{ isSigningUp, signUpError, signUpComplete }, setSignUpState] = React.useState({
11
11
  isSigningUp: false,
12
12
  signUpError: null,
13
+ signUpComplete: false,
13
14
  });
14
15
  const clearSignUpError = React.useCallback(() => setSignUpState((current) => ({
15
16
  ...current,
@@ -38,6 +39,7 @@ export default function useSignUp({ formsAppId, username, firstName, lastName, }
38
39
  setSignUpState((currentState) => ({
39
40
  ...currentState,
40
41
  isSigningUp: false,
42
+ signUpComplete: true,
41
43
  }));
42
44
  }
43
45
  catch (error) {
@@ -54,6 +56,7 @@ export default function useSignUp({ formsAppId, username, firstName, lastName, }
54
56
  clearSignUpError,
55
57
  isSigningUp,
56
58
  signUpError,
59
+ signUpComplete,
57
60
  usernameValidation,
58
61
  };
59
62
  }
@@ -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;AAEpD,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,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAGlE;QACD,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,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,WAAW,CAAC,MAAM,CAAC;gBACvB,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,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,kBAAkB;KACnB,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport { authService, Sentry } from '@oneblink/apps'\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 }, setSignUpState] = React.useState<{\n isSigningUp: boolean\n signUpError: Error | null\n }>({\n isSigningUp: false,\n signUpError: null,\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 await authService.signUp({\n formsAppId,\n email: username,\n firstName,\n lastName,\n })\n\n setSignUpState((currentState) => ({\n ...currentState,\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 usernameValidation,\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;AAEpD,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,cAAc,EAAE,EAAE,cAAc,CAAC,GAClE,KAAK,CAAC,QAAQ,CAIX;QACD,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,KAAK;KACtB,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,WAAW,CAAC,MAAM,CAAC;gBACvB,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,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,IAAI;aACrB,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,cAAc;QACd,kBAAkB;KACnB,CAAA;AACH,CAAC","sourcesContent":["import * as React from 'react'\nimport { authService, Sentry } from '@oneblink/apps'\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, signUpComplete }, setSignUpState] =\n React.useState<{\n isSigningUp: boolean\n signUpError: Error | null\n signUpComplete: boolean\n }>({\n isSigningUp: false,\n signUpError: null,\n signUpComplete: false,\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 await authService.signUp({\n formsAppId,\n email: username,\n firstName,\n lastName,\n })\n\n setSignUpState((currentState) => ({\n ...currentState,\n isSigningUp: false,\n signUpComplete: true,\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 signUpComplete,\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.6",
4
+ "version": "3.1.0-beta.8",
5
5
  "author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/oneblink/apps-react/issues"
@@ -11,7 +11,7 @@
11
11
  "@emotion/react": "^11.10.6",
12
12
  "@emotion/styled": "^11.10.6",
13
13
  "@mui/icons-material": "^5.11.11",
14
- "@oneblink/sdk-core": "^2.0.1-beta.1",
14
+ "@oneblink/sdk-core": "^2.0.1-beta.2",
15
15
  "@react-google-maps/api": "2.18.1",
16
16
  "blueimp-load-image": "^5.16.0",
17
17
  "bulma": "^0.9.3",
@@ -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.5",
50
+ "@oneblink/apps": "^4.1.0-beta.6",
51
51
  "@oneblink/release-cli": "^2.0.2",
52
52
  "@oneblink/types": "github:oneblink/types",
53
53
  "@types/blueimp-load-image": "^5.16.0",