@webiny/app-mailer 5.41.4 → 5.42.0-beta.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-mailer",
3
- "version": "5.41.4",
3
+ "version": "5.42.0-beta.1",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,19 +10,18 @@
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@apollo/react-components": "3.1.5",
13
- "@babel/runtime": "7.24.1",
14
13
  "@emotion/react": "11.10.8",
15
- "@webiny/app-admin": "5.41.4",
16
- "@webiny/app-security": "5.41.4",
17
- "@webiny/form": "5.41.4",
18
- "@webiny/ui": "5.41.4",
19
- "@webiny/validation": "5.41.4",
14
+ "@webiny/app-admin": "5.42.0-beta.1",
15
+ "@webiny/app-security": "5.42.0-beta.1",
16
+ "@webiny/form": "5.42.0-beta.1",
17
+ "@webiny/ui": "5.42.0-beta.1",
18
+ "@webiny/validation": "5.42.0-beta.1",
20
19
  "apollo-cache": "1.3.5",
21
20
  "apollo-client": "2.6.10",
22
21
  "apollo-link": "1.2.14",
23
22
  "apollo-utilities": "1.3.4",
24
23
  "dot-prop-immutable": "2.1.1",
25
- "graphql": "15.8.0",
24
+ "graphql": "15.9.0",
26
25
  "graphql-tag": "2.12.6",
27
26
  "prop-types": "15.8.1",
28
27
  "react": "18.2.0",
@@ -30,16 +29,11 @@
30
29
  "react-helmet": "6.1.0"
31
30
  },
32
31
  "devDependencies": {
33
- "@babel/cli": "7.24.1",
34
- "@babel/core": "7.24.3",
35
- "@babel/preset-env": "7.24.3",
36
- "@babel/preset-react": "7.24.1",
37
- "@babel/preset-typescript": "7.24.1",
38
32
  "@emotion/babel-plugin": "11.11.0",
39
33
  "@types/react": "18.2.79",
40
- "@webiny/cli": "5.41.4",
41
- "@webiny/project-utils": "5.41.4",
42
- "rimraf": "5.0.5",
34
+ "@webiny/cli": "5.42.0-beta.1",
35
+ "@webiny/project-utils": "5.42.0-beta.1",
36
+ "rimraf": "6.0.1",
43
37
  "ttypescript": "1.5.15",
44
38
  "typescript": "4.9.5"
45
39
  },
@@ -56,5 +50,5 @@
56
50
  "removeViewBox": false
57
51
  }
58
52
  },
59
- "gitHead": "94922b33af59db5afe75127bb07443ce7f1448c4"
53
+ "gitHead": "5e69da579efa4f2c8268e0c97ac6407ddc3f5f07"
60
54
  }
package/plugins/Module.js CHANGED
@@ -16,7 +16,7 @@ var _usePermission2 = require("../hooks/usePermission");
16
16
  var _Progress = require("@webiny/ui/Progress");
17
17
  var _excluded = ["children"];
18
18
  var Settings = /*#__PURE__*/(0, _react.lazy)(function () {
19
- return import( /* webpackChunkName: "MailerModuleSettings" */"../views/settings");
19
+ return import(/* webpackChunkName: "MailerModuleSettings" */"../views/settings");
20
20
  });
21
21
  var Loader = function Loader(_ref) {
22
22
  var children = _ref.children,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_appSecurity","_AdminLayout","_reactHelmet","_interopRequireDefault","_usePermission2","_Progress","_excluded","Settings","lazy","Loader","_ref","children","props","_objectWithoutProperties2","default","createElement","Suspense","fallback","CircularProgress","React","cloneElement","MailerSettings","_usePermission","usePermission","canChangeSettings","changeSettings","Fragment","AddMenu","name","label","path","AddRoute","exact","render","SecureRoute","permission","AdminLayout","title","Module","exports","Plugins"],"sources":["Module.tsx"],"sourcesContent":["import React, { lazy, Suspense } from \"react\";\nimport { AddMenu as Menu, AddRoute, Plugins } from \"@webiny/app-admin\";\nimport { SecureRoute } from \"@webiny/app-security\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport Helmet from \"react-helmet\";\nimport { usePermission } from \"~/hooks/usePermission\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst Settings = lazy(\n () =>\n import(\n /* webpackChunkName: \"MailerModuleSettings\" */\n \"~/views/settings\"\n )\n);\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\nconst Loader = ({ children, ...props }: LoaderProps) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nconst MailerSettings = () => {\n const { canChangeSettings } = usePermission();\n\n const changeSettings = canChangeSettings();\n\n if (!changeSettings) {\n return null;\n }\n\n return (\n <>\n <Menu name={\"settings\"}>\n <Menu name={\"settings.mailer\"} label={\"Mailer\"}>\n <Menu\n name={\"settings.mailer.settings\"}\n label={\"Settings\"}\n path={\"/mailer/settings\"}\n />\n </Menu>\n </Menu>\n <AddRoute\n exact\n path={\"/mailer/settings\"}\n render={() => (\n <SecureRoute permission={\"mailer.settings\"}>\n <AdminLayout>\n <Helmet title={\"Mailer - Settings\"} />\n <Loader>\n <Settings />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n </>\n );\n};\n\nexport const Module = () => {\n return (\n <Plugins>\n <MailerSettings />\n </Plugins>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_appSecurity","_AdminLayout","_reactHelmet","_interopRequireDefault","_usePermission2","_Progress","_excluded","Settings","lazy","Loader","_ref","children","props","_objectWithoutProperties2","default","createElement","Suspense","fallback","CircularProgress","React","cloneElement","MailerSettings","_usePermission","usePermission","canChangeSettings","changeSettings","Fragment","AddMenu","name","label","path","AddRoute","exact","render","SecureRoute","permission","AdminLayout","title","Module","exports","Plugins"],"sources":["Module.tsx"],"sourcesContent":["import React, { lazy, Suspense } from \"react\";\nimport { AddMenu as Menu, AddRoute, Plugins } from \"@webiny/app-admin\";\nimport { SecureRoute } from \"@webiny/app-security\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport Helmet from \"react-helmet\";\nimport { usePermission } from \"~/hooks/usePermission\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nconst Settings = lazy(\n () =>\n import(\n /* webpackChunkName: \"MailerModuleSettings\" */\n \"~/views/settings\"\n )\n);\n\ninterface LoaderProps {\n children: React.ReactElement;\n}\nconst Loader = ({ children, ...props }: LoaderProps) => (\n <Suspense fallback={<CircularProgress />}>{React.cloneElement(children, props)}</Suspense>\n);\n\nconst MailerSettings = () => {\n const { canChangeSettings } = usePermission();\n\n const changeSettings = canChangeSettings();\n\n if (!changeSettings) {\n return null;\n }\n\n return (\n <>\n <Menu name={\"settings\"}>\n <Menu name={\"settings.mailer\"} label={\"Mailer\"}>\n <Menu\n name={\"settings.mailer.settings\"}\n label={\"Settings\"}\n path={\"/mailer/settings\"}\n />\n </Menu>\n </Menu>\n <AddRoute\n exact\n path={\"/mailer/settings\"}\n render={() => (\n <SecureRoute permission={\"mailer.settings\"}>\n <AdminLayout>\n <Helmet title={\"Mailer - Settings\"} />\n <Loader>\n <Settings />\n </Loader>\n </AdminLayout>\n </SecureRoute>\n )}\n />\n </>\n );\n};\n\nexport const Module = () => {\n return (\n <Plugins>\n <MailerSettings />\n </Plugins>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactComponents","_form","_SimpleForm","_Progress","_Grid","_Input","_validation","_Button","_graphql","_Alert","_dotPropImmutable","_interopRequireDefault","displayErrors","errors","default","createElement","Fragment","map","error","field","path","Alert","key","concat","title","message","type","Settings","exports","_useSnackbar","useSnackbar","showSnackbar","password","useRef","_useState","useState","_useState2","_slicedToArray2","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","Query","query","GET_SETTINGS_QUERY","_ref","response","data","queryInProgress","loading","Mutation","mutation","SAVE_SETTINGS_MUTATION","update","result","_ref2","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","_ref3","updateData","updateError","writeQuery","dotPropImmutable","set","_objectSpread2","CenteredView","SimpleFormHeader","Grid","style","backgroundColor","Cell","span","description","passwordValidators","user","push","validation","create","Form","_ref4","Bind","form","SimpleForm","CircularProgress","SimpleFormContent","name","validators","Input","label","autoComplete","inputRef","SimpleFormFooter","ButtonPrimary","onClick","ev","submit"],"sources":["Settings.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { CenteredView, useSnackbar } from \"@webiny/app-admin\";\nimport { Mutation, Query } from \"@apollo/react-components\";\nimport { Form } from \"@webiny/form\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n GET_SETTINGS_QUERY,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\n\nconst displayErrors = (errors?: ValidationError[]) => {\n if (!errors) {\n return null;\n }\n return (\n <>\n {errors.map(error => {\n const field = error.path[0];\n if (!field) {\n return null;\n }\n return <Alert key={`${field}`} title={error.message} type=\"danger\" />;\n })}\n </>\n );\n};\n\nexport const Settings = () => {\n const { showSnackbar } = useSnackbar();\n\n const password = useRef<HTMLInputElement>();\n\n const [errors, setErrors] = useState<ValidationError[] | undefined>();\n\n useEffect(() => {\n const t = setTimeout(() => {\n if (!password.current) {\n return;\n }\n password.current.value = \"\";\n }, 300);\n\n return () => {\n clearTimeout(t);\n };\n }, []);\n\n return (\n <Query<SettingsQueryResponse> query={GET_SETTINGS_QUERY}>\n {({ data: response, loading: queryInProgress }) => (\n <Mutation<SaveSettingsMutationResponse, SaveSettingsMutationVariables>\n mutation={SAVE_SETTINGS_MUTATION}\n >\n {(update, result) => {\n const { data: settingsData, error: settingsError } =\n response?.mailer.settings || {};\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: TransportSettings): Promise<void> => {\n setErrors([]);\n await update({\n variables: {\n data\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery<SettingsQueryResponse>({\n query: GET_SETTINGS_QUERY\n })\n );\n\n const { data: updateData, error: updateError } =\n result.data?.mailer.settings || {};\n\n const errors = updateError?.data.errors;\n if (errors) {\n setErrors(errors);\n showSnackbar(\n \"Settings not updated! Please check your network and console logs for detailed information.\"\n );\n return;\n }\n\n cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data: dotPropImmutable.set(data, \"mailer.settings.data\", {\n ...settingsData,\n ...updateData\n })\n });\n showSnackbar(\"Settings updated successfully.\");\n }\n });\n };\n if (settingsError) {\n return (\n <CenteredView>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <Grid style={{ backgroundColor: \"#FFFFFF\" }}>\n <Cell span={12}>\n <Alert title={settingsError.message} type=\"danger\" />\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Cell>\n </Grid>\n </CenteredView>\n );\n }\n\n const passwordValidators: Validator[] = [];\n if (!settingsData?.user) {\n passwordValidators.push(validation.create(\"required,minLength:5\"));\n }\n\n return (\n <CenteredView>\n <Form\n data={settingsData || {}}\n onSubmit={data => {\n /**\n * We are positive that data is TransportSettings.\n */\n onSubmit(data as unknown as TransportSettings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Hostname\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"port\"}>\n <Input type=\"number\" label=\"Port\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-expect-error\n inputRef={password}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Mail from\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >\n Save Settings\n </ButtonPrimary>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactComponents","_form","_SimpleForm","_Progress","_Grid","_Input","_validation","_Button","_graphql","_Alert","_dotPropImmutable","_interopRequireDefault","displayErrors","errors","default","createElement","Fragment","map","error","field","path","Alert","key","concat","title","message","type","Settings","exports","_useSnackbar","useSnackbar","showSnackbar","password","useRef","_useState","useState","_useState2","_slicedToArray2","setErrors","useEffect","t","setTimeout","current","value","clearTimeout","Query","query","GET_SETTINGS_QUERY","_ref","response","data","queryInProgress","loading","Mutation","mutation","SAVE_SETTINGS_MUTATION","update","result","_ref2","mailer","settings","settingsData","settingsError","mutationInProgress","onSubmit","variables","cache","structuredClone","readQuery","_ref3","updateData","updateError","writeQuery","dotPropImmutable","set","_objectSpread2","CenteredView","SimpleFormHeader","Grid","style","backgroundColor","Cell","span","description","passwordValidators","user","push","validation","create","Form","_ref4","Bind","form","SimpleForm","CircularProgress","SimpleFormContent","name","validators","Input","label","autoComplete","inputRef","SimpleFormFooter","ButtonPrimary","onClick","ev","submit"],"sources":["Settings.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport { CenteredView, useSnackbar } from \"@webiny/app-admin\";\nimport { Mutation, Query } from \"@apollo/react-components\";\nimport { Form } from \"@webiny/form\";\nimport {\n SimpleForm,\n SimpleFormContent,\n SimpleFormFooter,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { validation } from \"@webiny/validation\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n GET_SETTINGS_QUERY,\n SAVE_SETTINGS_MUTATION,\n SaveSettingsMutationResponse,\n SaveSettingsMutationVariables,\n SettingsQueryResponse\n} from \"./graphql\";\nimport { TransportSettings, ValidationError } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { Validator } from \"@webiny/validation/types\";\nimport dotPropImmutable from \"dot-prop-immutable\";\n\nconst displayErrors = (errors?: ValidationError[]) => {\n if (!errors) {\n return null;\n }\n return (\n <>\n {errors.map(error => {\n const field = error.path[0];\n if (!field) {\n return null;\n }\n return <Alert key={`${field}`} title={error.message} type=\"danger\" />;\n })}\n </>\n );\n};\n\nexport const Settings = () => {\n const { showSnackbar } = useSnackbar();\n\n const password = useRef<HTMLInputElement>();\n\n const [errors, setErrors] = useState<ValidationError[] | undefined>();\n\n useEffect(() => {\n const t = setTimeout(() => {\n if (!password.current) {\n return;\n }\n password.current.value = \"\";\n }, 300);\n\n return () => {\n clearTimeout(t);\n };\n }, []);\n\n return (\n <Query<SettingsQueryResponse> query={GET_SETTINGS_QUERY}>\n {({ data: response, loading: queryInProgress }) => (\n <Mutation<SaveSettingsMutationResponse, SaveSettingsMutationVariables>\n mutation={SAVE_SETTINGS_MUTATION}\n >\n {(update, result) => {\n const { data: settingsData, error: settingsError } =\n response?.mailer.settings || {};\n const { loading: mutationInProgress } = result;\n\n const onSubmit = async (data: TransportSettings): Promise<void> => {\n setErrors([]);\n await update({\n variables: {\n data\n },\n update: (cache, result) => {\n const data = structuredClone(\n cache.readQuery<SettingsQueryResponse>({\n query: GET_SETTINGS_QUERY\n })\n );\n\n const { data: updateData, error: updateError } =\n result.data?.mailer.settings || {};\n\n const errors = updateError?.data.errors;\n if (errors) {\n setErrors(errors);\n showSnackbar(\n \"Settings not updated! Please check your network and console logs for detailed information.\"\n );\n return;\n }\n\n cache.writeQuery({\n query: GET_SETTINGS_QUERY,\n data: dotPropImmutable.set(data, \"mailer.settings.data\", {\n ...settingsData,\n ...updateData\n })\n });\n showSnackbar(\"Settings updated successfully.\");\n }\n });\n };\n if (settingsError) {\n return (\n <CenteredView>\n <SimpleFormHeader title=\"Mailer Settings\" />\n <Grid style={{ backgroundColor: \"#FFFFFF\" }}>\n <Cell span={12}>\n <Alert title={settingsError.message} type=\"danger\" />\n {settingsError.data?.description && (\n <p>{settingsError.data.description}</p>\n )}\n </Cell>\n </Grid>\n </CenteredView>\n );\n }\n\n const passwordValidators: Validator[] = [];\n if (!settingsData?.user) {\n passwordValidators.push(validation.create(\"required,minLength:5\"));\n }\n\n return (\n <CenteredView>\n <Form\n data={settingsData || {}}\n onSubmit={data => {\n /**\n * We are positive that data is TransportSettings.\n */\n onSubmit(data as unknown as TransportSettings);\n }}\n >\n {({ Bind, form }) => (\n <SimpleForm>\n {(queryInProgress || mutationInProgress) && (\n <CircularProgress />\n )}\n <SimpleFormHeader title=\"Mailer Settings\" />\n <SimpleFormContent>\n {displayErrors(errors)}\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"host\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Hostname\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"port\"}>\n <Input type=\"number\" label=\"Port\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"user\"}\n validators={[\n validation.create(\n \"required,minLength:1\"\n )\n ]}\n >\n <Input\n type=\"text\"\n label=\"User\"\n autoComplete=\"new-password\"\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"password\"}\n validators={passwordValidators}\n >\n <Input\n label=\"Password\"\n type=\"password\"\n autoComplete=\"new-password\"\n value={\"\"}\n // @ts-expect-error\n inputRef={password}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"from\"}\n validators={[\n validation.create(\n \"required,minLength:1,email\"\n )\n ]}\n >\n <Input type=\"text\" label=\"Mail from\" />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"replyTo\"}\n validators={[\n validation.create(\"email\")\n ]}\n >\n <Input\n type=\"text\"\n label=\"Mail reply-to\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n form.submit(ev);\n }}\n >\n Save Settings\n </ButtonPrimary>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n }}\n </Mutation>\n )}\n </Query>\n );\n};\n"],"mappings":"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","ignoreList":[]}