@graphcommerce/magento-newsletter 6.2.0-canary.6 → 6.2.0-canary.60

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,117 @@
1
1
  # Change Log
2
2
 
3
+ ## 6.2.0-canary.60
4
+
5
+ ## 6.2.0-canary.59
6
+
7
+ ## 6.2.0-canary.58
8
+
9
+ ## 6.2.0-canary.57
10
+
11
+ ## 6.2.0-canary.56
12
+
13
+ ## 6.2.0-canary.55
14
+
15
+ ## 6.2.0-canary.54
16
+
17
+ ## 6.2.0-canary.53
18
+
19
+ ## 6.2.0-canary.52
20
+
21
+ ## 6.2.0-canary.51
22
+
23
+ ## 6.2.0-canary.50
24
+
25
+ ## 6.2.0-canary.49
26
+
27
+ ### Patch Changes
28
+
29
+ - [#1959](https://github.com/graphcommerce-org/graphcommerce/pull/1959) [`f164217af`](https://github.com/graphcommerce-org/graphcommerce/commit/f164217af6847cff8555e19e7fc25f03528144e5) - Moved the GuestNewsletter component to inside the magento-newsletter package ([@JoshuaS98](https://github.com/JoshuaS98))
30
+
31
+ ## 6.2.0-canary.48
32
+
33
+ ## 6.2.0-canary.47
34
+
35
+ ## 6.2.0-canary.46
36
+
37
+ ## 6.2.0-canary.45
38
+
39
+ ## 6.2.0-canary.44
40
+
41
+ ## 6.2.0-canary.43
42
+
43
+ ## 6.2.0-canary.42
44
+
45
+ ## 6.2.0-canary.41
46
+
47
+ ## 6.2.0-canary.40
48
+
49
+ ## 6.2.0-canary.39
50
+
51
+ ## 6.2.0-canary.38
52
+
53
+ ## 6.2.0-canary.37
54
+
55
+ ## 6.2.0-canary.36
56
+
57
+ ## 6.2.0-canary.35
58
+
59
+ ## 6.2.0-canary.34
60
+
61
+ ## 6.2.0-canary.33
62
+
63
+ ## 6.2.0-canary.32
64
+
65
+ ## 6.2.0-canary.31
66
+
67
+ ## 6.2.0-canary.30
68
+
69
+ ## 6.2.0-canary.29
70
+
71
+ ## 6.2.0-canary.28
72
+
73
+ ## 6.2.0-canary.27
74
+
75
+ ## 6.2.0-canary.26
76
+
77
+ ## 6.2.0-canary.25
78
+
79
+ ## 6.2.0-canary.24
80
+
81
+ ## 6.2.0-canary.23
82
+
83
+ ## 6.2.0-canary.22
84
+
85
+ ## 6.2.0-canary.21
86
+
87
+ ## 6.2.0-canary.20
88
+
89
+ ## 6.2.0-canary.19
90
+
91
+ ## 6.2.0-canary.18
92
+
93
+ ## 6.2.0-canary.17
94
+
95
+ ## 6.2.0-canary.16
96
+
97
+ ## 6.2.0-canary.15
98
+
99
+ ## 6.2.0-canary.14
100
+
101
+ ## 6.2.0-canary.13
102
+
103
+ ## 6.2.0-canary.12
104
+
105
+ ## 6.2.0-canary.11
106
+
107
+ ## 6.2.0-canary.10
108
+
109
+ ## 6.2.0-canary.9
110
+
111
+ ## 6.2.0-canary.8
112
+
113
+ ## 6.2.0-canary.7
114
+
3
115
  ## 6.2.0-canary.6
4
116
 
5
117
  ## 6.1.1-canary.5
@@ -2,7 +2,7 @@ import { CheckboxElement, useFormCompose } from '@graphcommerce/ecommerce-ui'
2
2
  import { DocumentNode } from '@graphcommerce/graphql'
3
3
  import { useCartQuery } from '@graphcommerce/magento-cart'
4
4
  import { useCustomerQuery, useCustomerSession } from '@graphcommerce/magento-customer'
5
- import { useFormGql, useFormGqlMutation, useFormPersist } from '@graphcommerce/react-hook-form'
5
+ import { useFormGqlMutation, useFormPersist } from '@graphcommerce/react-hook-form'
6
6
  import { Box, SxProps, Theme } from '@mui/material'
7
7
  import { GetCustomerNewsletterToggleDocument } from '../CustomerNewsletterToggle/GetCustomerNewsLetterToggle.gql'
8
8
  import { GetCartEmailDocument } from '../SignupNewsletter/GetCartEmail.gql'
@@ -0,0 +1,69 @@
1
+ import {
2
+ ApolloErrorSnackbar,
3
+ TextFieldElement,
4
+ useFormGqlMutation,
5
+ } from '@graphcommerce/ecommerce-ui'
6
+ import { Form, MessageSnackbar, Button } from '@graphcommerce/next-ui'
7
+ import { i18n } from '@lingui/core'
8
+ import { Trans } from '@lingui/react'
9
+ import { SxProps, Theme } from '@mui/material'
10
+ import { GuestNewsletterToggleDocument } from '../GuestNewsletterToggle/GuestNewsletterToggle.gql'
11
+
12
+ type GuestNewsletterProps = {
13
+ sx?: SxProps<Theme>
14
+ }
15
+
16
+ export function GuestNewsletter(props: GuestNewsletterProps) {
17
+ const { sx = [] } = props
18
+ const form = useFormGqlMutation(GuestNewsletterToggleDocument, {}, { errorPolicy: 'all' })
19
+
20
+ const { handleSubmit, formState, error, control } = form
21
+ const submit = handleSubmit(() => {})
22
+
23
+ const submittedWithoutErrors = formState.isSubmitSuccessful && !error
24
+
25
+ return (
26
+ <Form
27
+ noValidate
28
+ onSubmit={submit}
29
+ sx={[(theme) => ({ gap: theme.spacings.xs }), ...(Array.isArray(sx) ? sx : [sx])]}
30
+ >
31
+ <TextFieldElement
32
+ required
33
+ variant='outlined'
34
+ type='email'
35
+ label={i18n._(/* i18n */ 'Email address')}
36
+ control={control}
37
+ name='email'
38
+ size='medium'
39
+ inputProps={{ autoComplete: 'email' }}
40
+ disabled={submittedWithoutErrors}
41
+ />
42
+
43
+ <Button
44
+ loading={formState.isSubmitting}
45
+ variant='pill'
46
+ color='primary'
47
+ type='submit'
48
+ size='large'
49
+ disabled={submittedWithoutErrors}
50
+ >
51
+ {submittedWithoutErrors ? <Trans id='Subscribed' /> : <Trans id='Subscribe' />}
52
+ </Button>
53
+
54
+ <MessageSnackbar
55
+ open={submittedWithoutErrors}
56
+ variant='pill'
57
+ action={
58
+ <Button size='medium' variant='pill' color='secondary' fullWidth>
59
+ <Trans id='Ok' />
60
+ </Button>
61
+ }
62
+ >
63
+ <Trans id='You have been successfully subscribed to our newsletter.' />
64
+ </MessageSnackbar>
65
+
66
+ <ApolloErrorSnackbar error={error} />
67
+ </Form>
68
+ )
69
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './CustomerNewsletterToggle/CustomerNewsletterToggle'
2
2
  export * from './SignupNewsletter/SignupNewsletter'
3
3
  export * from './CheckoutNewsletter/CheckoutNewsletter'
4
+ export * from './GuestNewsletter/GuestNewsletter'
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graphcommerce/magento-newsletter",
3
3
  "homepage": "https://www.graphcommerce.org/",
4
4
  "repository": "github:graphcommerce-org/graphcommerce",
5
- "version": "6.2.0-canary.6",
5
+ "version": "6.2.0-canary.60",
6
6
  "sideEffects": false,
7
7
  "prettier": "@graphcommerce/prettier-config-pwa",
8
8
  "eslintConfig": {
@@ -12,20 +12,22 @@
12
12
  }
13
13
  },
14
14
  "devDependencies": {
15
- "@graphcommerce/eslint-config-pwa": "6.2.0-canary.6",
16
- "@graphcommerce/prettier-config-pwa": "6.2.0-canary.6",
17
- "@graphcommerce/typescript-config-pwa": "6.2.0-canary.6"
15
+ "@graphcommerce/eslint-config-pwa": "6.2.0-canary.60",
16
+ "@graphcommerce/prettier-config-pwa": "6.2.0-canary.60",
17
+ "@graphcommerce/typescript-config-pwa": "6.2.0-canary.60"
18
18
  },
19
19
  "dependencies": {
20
- "@graphcommerce/graphql": "6.2.0-canary.6",
21
- "@graphcommerce/magento-cart": "6.2.0-canary.6",
22
- "@graphcommerce/magento-customer": "6.2.0-canary.6",
23
- "@graphcommerce/next-ui": "6.2.0-canary.6",
24
- "@graphcommerce/react-hook-form": "6.2.0-canary.6"
20
+ "@graphcommerce/ecommerce-ui": "6.2.0-canary.60",
21
+ "@graphcommerce/graphql": "6.2.0-canary.60",
22
+ "@graphcommerce/magento-cart": "6.2.0-canary.60",
23
+ "@graphcommerce/magento-customer": "6.2.0-canary.60",
24
+ "@graphcommerce/next-ui": "6.2.0-canary.60",
25
+ "@graphcommerce/react-hook-form": "6.2.0-canary.60"
25
26
  },
26
27
  "peerDependencies": {
27
- "@lingui/react": "^3.13.2",
28
- "@lingui/core": "^3.13.2",
28
+ "@lingui/react": "^4.2.1",
29
+ "@lingui/core": "^4.2.1",
30
+ "@lingui/macro": "^4.2.1",
29
31
  "@mui/material": "^5.10.16",
30
32
  "framer-motion": "^10.0.0",
31
33
  "next": "^13.2.0",