@graphcommerce/next-ui 3.11.2 → 3.12.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.
@@ -1,4 +1,10 @@
1
- import { useHistoryLink, usePageContext, usePageRouter } from '@graphcommerce/framer-next-pages'
1
+ import {
2
+ useHistoryLink,
3
+ usePageContext,
4
+ usePageRouter,
5
+ usePrevUp,
6
+ useUp,
7
+ } from '@graphcommerce/framer-next-pages'
2
8
  import { Fab, makeStyles, Theme } from '@material-ui/core'
3
9
  import clsx from 'clsx'
4
10
  import { m, MotionValue, useMotionValue, useTransform } from 'framer-motion'
@@ -6,7 +12,6 @@ import PageLink from 'next/link'
6
12
  import React, { useCallback, useEffect } from 'react'
7
13
  import Button from '../../Button'
8
14
  import { UseStyles } from '../../Styles'
9
- import SvgImage from '../../SvgImage'
10
15
  import SvgImageSimple from '../../SvgImage/SvgImageSimple'
11
16
  import { iconChevronLeft, iconClose } from '../../icons'
12
17
  import useAppShellHeaderContext from './useAppShellHeaderContext'
@@ -23,8 +28,6 @@ export type AppShellHeaderProps = {
23
28
  scrolled?: boolean
24
29
  dragIndicator?: React.ReactNode
25
30
  additional?: React.ReactNode
26
- backFallbackHref?: string | null
27
- backFallbackTitle?: string | null
28
31
  fill?: 'both' | 'mobile-only'
29
32
  sheet?: boolean
30
33
  } & UseStyles<typeof useStyles>
@@ -184,7 +187,10 @@ const useStyles = makeStyles(
184
187
  background: theme.palette.background.paper,
185
188
  color: theme.palette.text.primary,
186
189
  '&:hover': {
187
- background: theme.palette.background.highlight,
190
+ background: theme.palette.background.paper,
191
+ },
192
+ '& svg': {
193
+ stroke: theme.palette.text.primary,
188
194
  },
189
195
  },
190
196
  sheetShellActionsFullPage: {
@@ -222,15 +228,15 @@ export default function AppShellHeader(props: AppShellHeaderProps) {
222
228
  additional,
223
229
  dragIndicator,
224
230
  scrolled,
225
- backFallbackHref,
226
- backFallbackTitle,
227
231
  fill = 'both',
228
232
  sheet,
229
233
  } = props
234
+
230
235
  const router = usePageRouter()
231
236
  const { closeSteps, backSteps } = usePageContext()
232
237
  const classes = useStyles(props)
233
-
238
+ const up = useUp()
239
+ const prevUp = usePrevUp()
234
240
  const { titleRef, contentHeaderRef } = useAppShellHeaderContext()
235
241
 
236
242
  const noChildren = typeof children === 'undefined' || !children
@@ -242,7 +248,7 @@ export default function AppShellHeader(props: AppShellHeaderProps) {
242
248
  const titleHeight = useMotionValue<number>(100)
243
249
 
244
250
  const { href: historyHref, onClick: historyOnClick } = useHistoryLink({
245
- href: backFallbackHref ?? '',
251
+ href: up?.href ?? '',
246
252
  })
247
253
 
248
254
  const setOffset = useCallback(
@@ -289,7 +295,7 @@ export default function AppShellHeader(props: AppShellHeaderProps) {
289
295
  }, [contentHeaderRef, sheetHeaderHeight])
290
296
 
291
297
  const opacityTitle = useTransform(
292
- [scrollY, sheetHeaderHeight, titleOffset, titleHeight] as MotionValue[],
298
+ [scrollY, sheetHeaderHeight, titleOffset, titleHeight] as MotionValue<number | string>[],
293
299
  ([scrollYV, sheetHeaderHeightV, titleOffsetV, titleHeigthV]: number[]) =>
294
300
  Math.min(
295
301
  Math.max(
@@ -326,21 +332,25 @@ export default function AppShellHeader(props: AppShellHeaderProps) {
326
332
  ))
327
333
 
328
334
  const backIcon = <SvgImageSimple src={iconChevronLeft} />
329
- let back = backSteps > 0 && (
330
- <Button
331
- onClick={() => router.back()}
332
- variant='pill-link'
333
- className={classes.backButton}
334
- startIcon={backIcon}
335
- >
336
- {historyOnClick ? backFallbackTitle : 'Back'}
337
- </Button>
335
+
336
+ const canClickBack = backSteps > 0 && router.asPath !== prevUp?.href
337
+ let back = canClickBack && (
338
+ <PageLink href={historyHref} passHref>
339
+ <Button
340
+ onClick={historyOnClick}
341
+ variant='pill-link'
342
+ className={classes.backButton}
343
+ startIcon={backIcon}
344
+ >
345
+ {historyOnClick ? up?.title : 'Back'}
346
+ </Button>
347
+ </PageLink>
338
348
  )
339
- if (!back && backFallbackHref) {
349
+ if (!canClickBack && up?.href) {
340
350
  back = (
341
- <PageLink href={backFallbackHref} passHref>
351
+ <PageLink href={up?.href} passHref>
342
352
  <Button variant='pill-link' className={classes.backButton} startIcon={backIcon}>
343
- {backFallbackTitle ?? 'Back'}
353
+ {up?.title ?? 'Back'}
344
354
  </Button>
345
355
  </PageLink>
346
356
  )
@@ -16,7 +16,7 @@ const useStyles = makeStyles(
16
16
  (theme: Theme) => ({
17
17
  title: {},
18
18
  margin: {
19
- marginTop: theme.spacings.md,
19
+ marginTop: theme.spacings.lg,
20
20
  marginBottom: theme.spacings.lg,
21
21
  },
22
22
  }),
@@ -39,12 +39,12 @@ const useStyles = makeStyles(
39
39
 
40
40
  export type ForwardButtonProps = UseStyles<typeof useStyles> & ButtonProps & { down?: boolean }
41
41
 
42
- const ForwardButton = React.forwardRef((props: ForwardButtonProps) => {
42
+ const ForwardButton = React.forwardRef((props: ForwardButtonProps, ref) => {
43
43
  const { text, icon, ...classes } = useStyles(props)
44
44
  const { children, down, ...fabProps } = props
45
45
 
46
46
  return (
47
- <Button variant='pill' classes={classes} {...fabProps}>
47
+ <Button variant='pill' classes={classes} {...fabProps} ref={ref}>
48
48
  <span className={text}>{children}</span>
49
49
  <SvgImageSimple src={iconChevronRight} size='small' className={classes.root} />
50
50
  </Button>
@@ -37,8 +37,6 @@ export type FullPageShellBaseProps = {
37
37
  header: React.ReactNode
38
38
  footer: React.ReactNode
39
39
  children?: React.ReactNode
40
- backFallbackHref?: string | null
41
- backFallbackTitle?: string | null
42
40
  } & UseStyles<typeof useStyles> &
43
41
  PageLayoutBaseProps
44
42
 
@@ -43,6 +43,9 @@ const useStyles = makeStyles(
43
43
  '&:hover, &:focus': {
44
44
  background: theme.palette.text.primary,
45
45
  },
46
+ '& svg': {
47
+ stroke: theme.palette.background.default,
48
+ },
46
49
  },
47
50
  menu: {
48
51
  backgroundColor: theme.palette.background.paper,
@@ -10,13 +10,16 @@ const useStyles = makeStyles(
10
10
  maxWidth: 800,
11
11
  margin: `0 auto`,
12
12
  marginBottom: theme.spacings.md,
13
- '& > div': {
14
- height: 52,
15
- borderRadius: 30,
16
- '& > div': {
17
- width: '44px !important',
18
- height: '44px !important',
19
- },
13
+ },
14
+ authorChip: {
15
+ height: 66,
16
+ '& .MuiChip-label': {
17
+ paddingLeft: 14,
18
+ paddingRight: 14,
19
+ },
20
+ '& .MuiAvatar-root': {
21
+ width: 44,
22
+ height: 44,
20
23
  },
21
24
  },
22
25
  date: {
@@ -46,7 +49,9 @@ export default function BlogAuthor(props: BlogAuthorProps) {
46
49
  <div className={classes.wrapper}>
47
50
  <Chip
48
51
  variant='outlined'
52
+ size='medium'
49
53
  avatar={<Avatar>{author.charAt(0).toUpperCase()}</Avatar>}
54
+ className={classes.authorChip}
50
55
  label={
51
56
  <section>
52
57
  <div className={classes.author}>{author}</div>
@@ -9,40 +9,8 @@ const useStyles = makeStyles(
9
9
  maxWidth: 800,
10
10
  margin: `0 auto`,
11
11
  marginBottom: theme.spacings.md,
12
- position: 'relative',
13
- backgroundColor: 'rgba(0,0,0,0.08)',
14
- overflow: 'hidden',
15
- },
16
- copy: {
17
- color: '#fff',
18
- display: 'grid',
19
- justifyItems: 'end',
20
- alignContent: 'end',
21
- padding: `${theme.spacings.lg} ${theme.spacings.md}`,
22
- minHeight: '30vh',
23
- '& > *': {
24
- zIndex: 0,
25
- maxWidth: 'max-content',
26
- },
27
- [theme.breakpoints.up('lg')]: {
28
- padding: `${theme.spacings.lg} ${theme.spacings.lg}`,
29
- },
30
- },
31
- asset: {
32
- position: 'absolute',
33
- top: '0',
34
- zIndex: 0,
35
- width: '100%',
36
- height: '100%',
37
- '& img': {
38
- width: '100%',
39
- height: '100% !important',
40
- objectFit: 'cover',
41
- },
42
- [theme.breakpoints.up('md')]: {
43
- height: '100%',
44
- },
45
12
  },
13
+ asset: {},
46
14
  }),
47
15
  { name: 'BlogHeader' },
48
16
  )
@@ -56,9 +24,6 @@ export default function BlogHeader(props: BlogHeaderProps) {
56
24
  const classes = useStyles()
57
25
 
58
26
  return (
59
- <div className={classes.header}>
60
- <Typography variant='body1' className={classes.copy} />
61
- {asset && <div className={classes.asset}>{asset}</div>}
62
- </div>
27
+ <div className={classes.header}>{asset && <div className={classes.asset}>{asset}</div>}</div>
63
28
  )
64
29
  }
@@ -17,7 +17,7 @@ const useStyles = makeStyles(
17
17
  date: {
18
18
  display: 'inline-block',
19
19
  textDecoration: 'none',
20
- color: 'rgb(0, 0, 0, 0.3)',
20
+ color: theme.palette.text.disabled,
21
21
  },
22
22
  asset: {
23
23
  display: 'grid',
@@ -32,7 +32,7 @@ const useStyles = makeStyles(
32
32
  alignSelf: 'center',
33
33
  justifySelf: 'center',
34
34
  },
35
- background: 'rgb(0, 0, 0, 0.08)',
35
+ background: theme.palette.background.paper,
36
36
  },
37
37
  title: {
38
38
  ...theme.typography.h3,
package/Button/index.tsx CHANGED
@@ -19,13 +19,11 @@ type ButtonClassKey =
19
19
  | 'pillSizeLarge'
20
20
  | 'pillSizeSmall'
21
21
  | 'pillNoElevation'
22
- | 'textBold'
23
22
  | 'withStartIcon'
24
23
  | 'startIconText'
25
24
  | 'loading'
26
25
 
27
26
  type ClassKeys = ButtonClassKey | MuiButtonClassKey
28
- type Text = 'normal' | 'bold'
29
27
 
30
28
  export type ButtonProps = BaseButtonProps & {
31
29
  classes?: { [index in ClassKeys]?: string }
@@ -64,10 +62,12 @@ const useStyles = makeStyles<
64
62
  boxShadow: theme.shadows[6],
65
63
  borderRadius: 25,
66
64
  padding: '6px 16px',
67
-
68
65
  '&:hover': {
69
66
  background: theme.palette.secondary.dark,
70
67
  },
68
+ '& svg': {
69
+ stroke: theme.palette.secondary.contrastText,
70
+ },
71
71
  },
72
72
  },
73
73
  pillPrimary: {
@@ -88,9 +88,6 @@ const useStyles = makeStyles<
88
88
  boxShadow: 'none',
89
89
  },
90
90
  },
91
- textBold: {
92
- fontWeight: theme.typography.fontWeightBold,
93
- },
94
91
  startIconText: {
95
92
  display: 'none',
96
93
  [theme.breakpoints.up('md')]: {
@@ -117,7 +114,6 @@ export default React.forwardRef<any, ButtonProps>((props, ref) => {
117
114
  pillSizeLarge,
118
115
  pillSizeSmall,
119
116
  pillLink,
120
- textBold,
121
117
  ...buttonClasses
122
118
  } = classes
123
119
 
@@ -130,7 +126,6 @@ export default React.forwardRef<any, ButtonProps>((props, ref) => {
130
126
  pillSizeLarge,
131
127
  pillSizeSmall,
132
128
  pillLink,
133
- textBold,
134
129
  ...buttonClasses,
135
130
  },
136
131
  })
@@ -161,7 +156,6 @@ export default React.forwardRef<any, ButtonProps>((props, ref) => {
161
156
  [pillClasses.pillSizeSmall]: variant === 'pill' && size === 'small',
162
157
  [pillClasses.pillNoElevation]: buttonProps.disableElevation,
163
158
  [pillClasses.pillLink]: variant === 'pill-link',
164
- [pillClasses.textBold]: text === 'bold',
165
159
  [pillClasses.loading]: loading,
166
160
  [pillClasses.withStartIcon]: withIcon,
167
161
  },
@@ -3,7 +3,6 @@ import PageLink from 'next/link'
3
3
  import React from 'react'
4
4
  import Button, { ButtonProps } from '../Button'
5
5
  import { UseStyles } from '../Styles'
6
- import SvgImage from '../SvgImage'
7
6
  import SvgImageSimple from '../SvgImage/SvgImageSimple'
8
7
  import { iconChevronRight } from '../icons'
9
8
 
@@ -12,7 +11,7 @@ const useStyles = makeStyles((theme: Theme) => ({
12
11
  color: theme.palette.text.primary,
13
12
  textDecoration: 'none',
14
13
  padding: `${theme.spacings.xs} 0`,
15
- borderBottom: `1px solid ${theme.palette.grey[300]}`,
14
+ borderBottom: `1px solid ${theme.palette.divider}`,
16
15
  borderRadius: 0,
17
16
  ...theme.typography.body1,
18
17
  '& > *': {
package/CHANGELOG.md CHANGED
@@ -3,6 +3,68 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.12.0](https://github.com/ho-nl/m2-pwa/compare/@graphcommerce/next-ui@3.11.5...@graphcommerce/next-ui@3.12.0) (2021-11-02)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * build ([2c2d317](https://github.com/ho-nl/m2-pwa/commit/2c2d317432e3a6f2b027f24c00ac2416d56847be))
12
+ * build ([5d07e8e](https://github.com/ho-nl/m2-pwa/commit/5d07e8e8dc9b70ab8e58018183c54484944e8822))
13
+ * cancel filter icon ([8e03602](https://github.com/ho-nl/m2-pwa/commit/8e03602dd54b2dae714ad514515fad907539b594))
14
+ * cleanup blog header styles ([b96aec1](https://github.com/ho-nl/m2-pwa/commit/b96aec13b5a0af74ec2058502c7da558eb675dbb))
15
+ * darkMode ([c7573de](https://github.com/ho-nl/m2-pwa/commit/c7573de6bb80643b26931c35ac61735539e7fbf0))
16
+ * darkTheme ([df3d326](https://github.com/ho-nl/m2-pwa/commit/df3d326126446c1b92f8e46eff0533bbbe35604f))
17
+ * darkTheme ([a12786f](https://github.com/ho-nl/m2-pwa/commit/a12786f33cf09e974cceb8592ec98439ccbc3fad))
18
+ * darkTheme ([d0517af](https://github.com/ho-nl/m2-pwa/commit/d0517af5a788532c48f567ee3e840986efa26a67))
19
+ * darkTheme ([ae017c1](https://github.com/ho-nl/m2-pwa/commit/ae017c1a1e82f86ee5eb2f67106dac8174950c45))
20
+ * full image on blog view page ([6d14b0e](https://github.com/ho-nl/m2-pwa/commit/6d14b0ef24fa60321a442a42d5861adc20e4a5fa))
21
+ * icon size in checkout ([d7bb962](https://github.com/ho-nl/m2-pwa/commit/d7bb962a6827b81f737f22e36f828454abef1b47))
22
+ * move checkmark icons on select fields ([95ce54d](https://github.com/ho-nl/m2-pwa/commit/95ce54d7fd41d11120847f2fdf6b9097a2c93871))
23
+ * remove text from inputprops ([ccc11f2](https://github.com/ho-nl/m2-pwa/commit/ccc11f267e85b8b333877afb4ce11f96dad0a3d0))
24
+ * remove text='bold', make contained button text stronger by default ([cd277c9](https://github.com/ho-nl/m2-pwa/commit/cd277c9f434a4a765eac372467e5a05c822d5512))
25
+ * remove unused imports ([5018763](https://github.com/ho-nl/m2-pwa/commit/5018763a8a2bbd0ba4a775979cc5885e9b17ad8d))
26
+ * style cleanup snackbar ([610221a](https://github.com/ho-nl/m2-pwa/commit/610221ad82f5726e9d745436cb1c08314bd342d5))
27
+ * svg color ([095ac85](https://github.com/ho-nl/m2-pwa/commit/095ac8578409ec005fbfe449fe4759d4f63b6f79))
28
+
29
+
30
+ ### Features
31
+
32
+ * add social icons to codebase for convenience ([9e4b404](https://github.com/ho-nl/m2-pwa/commit/9e4b404aa1dbc821562529f7b15ab4761a1ab52c))
33
+ * darkTheme ([968f4f1](https://github.com/ho-nl/m2-pwa/commit/968f4f1360417bf7daa36454c19e6bc5cf53ae90))
34
+ * darkTheme ([3ed6647](https://github.com/ho-nl/m2-pwa/commit/3ed664714670315bc9f20542549724f66cb5052d))
35
+ * Mui true Pagination based on Fab ([572fa7b](https://github.com/ho-nl/m2-pwa/commit/572fa7b031b58b6ffdab60c4a50407a53202fa34))
36
+
37
+
38
+
39
+
40
+
41
+ ## [3.11.5](https://github.com/ho-nl/m2-pwa/compare/@graphcommerce/next-ui@3.11.4...@graphcommerce/next-ui@3.11.5) (2021-11-02)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * back button loop ([4d901e6](https://github.com/ho-nl/m2-pwa/commit/4d901e662579d1cfb97c823d581e60d687908b1a))
47
+ * break back button loop ([be2e5ae](https://github.com/ho-nl/m2-pwa/commit/be2e5aefa1e409a97c1ebf94173f4da7ea25386b))
48
+ * **framer-next-pages:** prevent back button loop when previous page is the up page of the previous page ([ec829c8](https://github.com/ho-nl/m2-pwa/commit/ec829c8eee2a3744747a7572b32299879c780d45))
49
+ * **framer-next-pages:** prevent back button loop when previous page is the up page of the previous page ([cbdde83](https://github.com/ho-nl/m2-pwa/commit/cbdde83790337bdf4c5f03c907ca6e6e02792e70))
50
+ * **types:** apollo state props ‘up’ can be null ([9377d7f](https://github.com/ho-nl/m2-pwa/commit/9377d7fd9a080a8a2b8c7127961d64dc66a5729a))
51
+ * **types:** make apollo up state optional ([eba9683](https://github.com/ho-nl/m2-pwa/commit/eba96832e372adaeaa2ed71622c88f9dc95071c5))
52
+
53
+
54
+
55
+
56
+
57
+ ## [3.11.3](https://github.com/ho-nl/m2-pwa/compare/@graphcommerce/next-ui@3.11.2...@graphcommerce/next-ui@3.11.3) (2021-11-01)
58
+
59
+
60
+ ### Bug Fixes
61
+
62
+ * category page design fixs ([d3fccc2](https://github.com/ho-nl/m2-pwa/commit/d3fccc2a86106b854e9a1fd89040a248fe20c99a))
63
+
64
+
65
+
66
+
67
+
6
68
  ## [3.11.1](https://github.com/ho-nl/m2-pwa/compare/@graphcommerce/next-ui@3.11.0...@graphcommerce/next-ui@3.11.1) (2021-10-28)
7
69
 
8
70
 
@@ -3,38 +3,24 @@ import clsx from 'clsx'
3
3
  import React, { PropsWithChildren, useState } from 'react'
4
4
  import SectionHeader from '../SectionHeader'
5
5
  import responsiveVal from '../Styles/responsiveVal'
6
- import SvgImage from '../SvgImage'
7
6
  import SvgImageSimple from '../SvgImage/SvgImageSimple'
8
- import { iconChevronDown, iconChevronUp, iconCloseCircle } from '../icons'
7
+ import { iconChevronDown, iconChevronUp, iconCancelAlt } from '../icons'
9
8
 
10
9
  export const useChipMenuStyles = makeStyles(
11
10
  (theme: Theme) => ({
12
- /*
13
- !importants: ensure background #xxxxxx on hover, focus etc regardless given props to the component
14
- otherwise you'll get: ".MuiChip-deletable.MuiChip-outlined:hover" which is prone to changes and thereby a fragile selector
15
- */
16
- chip: {
17
- background: theme.palette.background.default,
18
- '& .MuiChip-label': {
19
- wordWrap: 'break-word',
20
- },
21
- '&:hover': {
22
- background: `${theme.palette.background.highlight} !important`,
23
- },
24
- '&:focus': {
25
- background: `${theme.palette.background.default} !important`,
26
- },
27
- },
11
+ chip: {},
28
12
  chipSelected: {
29
- border: `1px solid ${theme.palette.text.primary}`,
30
- background: theme.palette.grey['100'],
13
+ borderColor: theme.palette.text.primary,
31
14
  color: theme.palette.text.primary,
32
15
  '&:hover': {
33
16
  background: `${theme.palette.background.default} !important`,
34
- borderColor: theme.palette.grey['600'],
17
+ borderColor: theme.palette.divider,
35
18
  },
36
19
  '&:focus': {
37
- background: `${theme.palette.grey['100']} !important`,
20
+ background: `${theme.palette.background.paper} !important`,
21
+ },
22
+ '& svg': {
23
+ stroke: theme.palette.text.primary,
38
24
  },
39
25
  },
40
26
  menuPaper: {
@@ -50,6 +36,10 @@ export const useChipMenuStyles = makeStyles(
50
36
  marginTop: '8px',
51
37
  },
52
38
  },
39
+ iconCancel: {
40
+ stroke: `none !important`,
41
+ fill: `${theme.palette.text.primary} !important`,
42
+ },
53
43
  menuList: {
54
44
  padding: 0,
55
45
  '&:focus': {
@@ -77,7 +67,7 @@ export default function ChipMenu(props: ChipMenuProps) {
77
67
  const classes = useChipMenuStyles(props)
78
68
 
79
69
  let deleteIcon = selected ? (
80
- <SvgImageSimple src={iconCloseCircle} />
70
+ <SvgImageSimple src={iconCancelAlt} className={classes.iconCancel} />
81
71
  ) : (
82
72
  <SvgImageSimple src={iconChevronDown} />
83
73
  )
@@ -1,15 +1,18 @@
1
1
  import { makeStyles, Theme } from '@material-ui/core'
2
+ import clsx from 'clsx'
2
3
  import React, { PropsWithChildren } from 'react'
3
- import SvgImage from '../SvgImage'
4
4
  import SvgImageSimple from '../SvgImage/SvgImageSimple'
5
5
  import { iconCheckmark } from '../icons'
6
6
 
7
- export type InputCheckmarkProps = PropsWithChildren<{ show?: boolean }>
7
+ export type InputCheckmarkProps = PropsWithChildren<{ show?: boolean; select?: boolean }>
8
8
  const useStyles = makeStyles(
9
9
  (theme: Theme) => ({
10
10
  iconCheckmark: {
11
11
  stroke: '#01D26A',
12
12
  },
13
+ select: {
14
+ marginRight: 15,
15
+ },
13
16
  }),
14
17
  { name: 'InputCheckmark' },
15
18
  )
@@ -22,9 +25,14 @@ const useStyles = makeStyles(
22
25
  * ```
23
26
  */
24
27
  export default function InputCheckmark(props: InputCheckmarkProps) {
25
- const { show: valid, children } = props
28
+ const { show: valid, children, select = false } = props
26
29
  const classes = useStyles()
27
30
 
28
31
  if (!valid) return <>{children}</>
29
- return <SvgImageSimple src={iconCheckmark} className={classes.iconCheckmark} />
32
+ return (
33
+ <SvgImageSimple
34
+ src={iconCheckmark}
35
+ className={clsx(classes.iconCheckmark, select && classes.select)}
36
+ />
37
+ )
30
38
  }
package/Form/index.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import { makeStyles, Theme } from '@material-ui/core'
1
+ import { darken, makeStyles, Theme } from '@material-ui/core'
2
2
  import clsx from 'clsx'
3
3
  import React from 'react'
4
4
  import { UseStyles } from '../Styles'
@@ -14,7 +14,7 @@ const useStyles = makeStyles(
14
14
  background: theme.palette.secondary.light,
15
15
  },
16
16
  default: {
17
- background: theme.palette.background.highlight,
17
+ background: darken(theme.palette.background.paper, 0.02),
18
18
  },
19
19
  contained: {
20
20
  padding: theme.spacings.sm,
@@ -17,7 +17,6 @@ import React, { useEffect, useRef } from 'react'
17
17
  import { Row } from '../..'
18
18
  import { UseStyles } from '../../Styles'
19
19
  import responsiveVal from '../../Styles/responsiveVal'
20
- import SvgImage from '../../SvgImage'
21
20
  import SvgImageSimple from '../../SvgImage/SvgImageSimple'
22
21
  import { iconChevronLeft, iconChevronRight, iconFullscreen, iconFullscreenExit } from '../../icons'
23
22
 
@@ -34,7 +33,10 @@ const useStyles = makeStyles(
34
33
  [theme.breakpoints.up('md')]: {
35
34
  gridTemplateColumns: '1fr auto',
36
35
  },
37
- background: theme.palette.background.highlight,
36
+ background:
37
+ theme.palette.type === 'light'
38
+ ? theme.palette.background.image
39
+ : theme.palette.background.paper,
38
40
  paddingRight: `calc((100% - ${theme.breakpoints.values.lg}px) / 2)`,
39
41
  },
40
42
  rootZoomed: {
@@ -56,6 +58,7 @@ const useStyles = makeStyles(
56
58
 
57
59
  return {
58
60
  height: 0, // https://stackoverflow.com/questions/44770074/css-grid-row-height-safari-bug
61
+ backgroundColor: theme.palette.background.image,
59
62
  position: 'relative',
60
63
  minHeight: '100%',
61
64
  paddingTop: `min(${ratio}, ${maxHeight})`,
@@ -156,7 +159,7 @@ const useStyles = makeStyles(
156
159
  top: `calc(50% - 28px)`,
157
160
  },
158
161
  dots: {
159
- background: alpha(theme.palette.background.highlight, 0.7),
162
+ background: alpha(theme.palette.background.paper, 0.7),
160
163
  },
161
164
  }),
162
165
  { name: 'SidebarGallery' },
@@ -258,7 +261,7 @@ export default function SidebarGallery(props: SidebarGalleryProps) {
258
261
  ))}
259
262
  </Scroller>
260
263
  <m.div layout className={classes.topRight}>
261
- <Fab color='inherit' size='small' className={classes.toggleIcon} onMouseUp={toggle}>
264
+ <Fab size='small' className={classes.toggleIcon} onMouseUp={toggle}>
262
265
  {!zoomed ? (
263
266
  <SvgImageSimple src={iconFullscreen} />
264
267
  ) : (
package/Page/types.ts CHANGED
@@ -1,16 +1,17 @@
1
1
  import { ParsedUrlQuery } from 'querystring'
2
2
  import { NormalizedCacheObject } from '@apollo/client'
3
+ import { UpPage } from '@graphcommerce/framer-next-pages/types'
3
4
  import { GetStaticProps as GetStaticPropsNext } from 'next'
4
5
  import { AppProps as NextAppProps } from 'next/app'
5
6
 
6
7
  type AnyObj = Record<string, unknown>
7
8
 
8
- type ApolloStateProps = { apolloState: NormalizedCacheObject }
9
+ type ApolloStateProps = { apolloState: NormalizedCacheObject; up?: UpPage | null }
9
10
 
10
11
  export type GetStaticProps<
11
12
  PL extends AnyObj,
12
13
  P extends AnyObj = AnyObj,
13
- Q extends ParsedUrlQuery = ParsedUrlQuery
14
+ Q extends ParsedUrlQuery = ParsedUrlQuery,
14
15
  > = GetStaticPropsNext<P & Omit<PL, 'children'> & ApolloStateProps, Q>
15
16
 
16
17
  /** Used by _app */
@@ -1,17 +1,31 @@
1
- import { makeStyles, Theme } from '@material-ui/core'
1
+ import { Fab, makeStyles, Theme, Typography } from '@material-ui/core'
2
2
  import { PaginationProps, usePagination } from '@material-ui/lab'
3
+ import clsx from 'clsx'
3
4
  import React from 'react'
4
5
  import { UseStyles } from '../Styles'
5
- import SvgImage from '../SvgImage'
6
6
  import SvgImageSimple from '../SvgImage/SvgImageSimple'
7
7
  import { iconChevronLeft, iconChevronRight } from '../icons'
8
8
 
9
9
  const useStyles = makeStyles((theme: Theme) => ({
10
+ root: {
11
+ margin: '0 auto',
12
+ marginTop: theme.spacings.lg,
13
+ marginBottom: theme.spacings.lg,
14
+ display: 'flex',
15
+ alignItems: 'center',
16
+ justifyContent: 'center',
17
+ gap: 6,
18
+ '& .Mui-disabled': {
19
+ background: 'none',
20
+ '& svg': {
21
+ stroke: theme.palette.text.disabled,
22
+ },
23
+ },
24
+ },
10
25
  pagination: {
11
26
  gridArea: 'pagination',
12
27
  justifyContent: 'center',
13
28
  display: 'grid',
14
- gap: 8,
15
29
  gridAutoFlow: 'column',
16
30
  alignItems: 'center',
17
31
  marginBottom: theme.spacings.xxl,
@@ -24,51 +38,6 @@ const useStyles = makeStyles((theme: Theme) => ({
24
38
  boxShadow: 'none',
25
39
  },
26
40
  },
27
- disabled: {
28
- background: 'none !important',
29
- },
30
- root: {
31
- margin: '32px auto 0 auto',
32
- marginTop: theme.spacings.lg,
33
- marginBottom: theme.spacings.lg,
34
- display: 'flex',
35
- alignItems: 'center',
36
- justifyContent: 'center',
37
- // fontSize: 18,
38
- '& span': {
39
- padding: '0 8px 0 0',
40
- },
41
- '& a': {
42
- transition: 'background .25s ease',
43
- borderRadius: '100%',
44
- height: 40,
45
- width: 40,
46
- '&:hover': {
47
- background: 'rgba(0, 0, 0, 0.04)',
48
- },
49
- },
50
- [theme.breakpoints.down('xs')]: {
51
- alignItems: 'center',
52
- },
53
- },
54
- icon: {
55
- display: 'flex',
56
- borderRadius: '100%',
57
- padding: 6,
58
- height: 40,
59
- width: 40,
60
- },
61
- label: {
62
- ...theme.typography.body1,
63
- textAlign: 'center',
64
- },
65
- labelTitle: {
66
- ...theme.typography.body1,
67
- display: 'inline',
68
- [theme.breakpoints.down('xs')]: {
69
- display: 'block',
70
- },
71
- },
72
41
  }))
73
42
 
74
43
  export type PagePaginationProps = {
@@ -97,19 +66,22 @@ export default function Pagination(props: PagePaginationProps) {
97
66
  const nextBtnProps = items[items.length - 1]
98
67
 
99
68
  const chevronLeft = (
100
- <SvgImageSimple src={iconChevronLeft} muted={page === 1} className={classes.icon} />
69
+ <Fab size='medium' disabled={page === 1} color='inherit'>
70
+ <SvgImageSimple src={iconChevronLeft} />
71
+ </Fab>
101
72
  )
102
73
 
103
74
  const chevronRight = (
104
- <SvgImageSimple src={iconChevronRight} muted={page === count} className={classes.icon} />
75
+ <Fab size='medium' disabled={page === count} color='inherit'>
76
+ <SvgImageSimple src={iconChevronRight} />
77
+ </Fab>
105
78
  )
106
79
 
107
80
  return (
108
81
  <div className={classes.root}>
109
82
  {page === 1 ? chevronLeft : renderLink(page - 1, chevronLeft, prevBtnProps)}
110
83
 
111
- <span className={classes.labelTitle}>Page</span>
112
- <span className={classes.label}>{`${page} of ${Math.max(1, count)}`}</span>
84
+ <Typography variant='body1'>Page {`${page} of ${Math.max(1, count)}`}</Typography>
113
85
 
114
86
  {page === count ? chevronRight : renderLink(page + 1, chevronRight, nextBtnProps)}
115
87
  </div>
@@ -17,7 +17,7 @@ const useStyles = makeStyles(
17
17
  overline: {
18
18
  display: 'block',
19
19
  padding: `${theme.spacings.xs} 0`,
20
- borderBottom: `1px solid ${theme.palette.grey[300]}`,
20
+ borderBottom: `1px solid ${theme.palette.divider}`,
21
21
  },
22
22
  links: ({ containsBigLinks }: ButtonLinkListPropsBase) => ({
23
23
  display: 'grid',
@@ -10,7 +10,7 @@ const useStyles = makeStyles(
10
10
  gridAutoFlow: 'row',
11
11
  justifyItems: 'center',
12
12
  gap: `${theme.spacings.xs}`,
13
- border: `1px solid ${theme.palette.grey[300]}`,
13
+ border: `1px solid ${theme.palette.divider}`,
14
14
  padding: `${theme.spacings.sm}`,
15
15
  borderRadius: '6px',
16
16
  textAlign: 'center',
@@ -22,7 +22,7 @@ const useStyles = makeStyles(
22
22
  gridAutoFlow: 'row',
23
23
  justifyItems: 'center',
24
24
  gap: `${theme.spacings.xs}`,
25
- border: `1px solid ${theme.palette.grey[300]}`,
25
+ border: `1px solid ${theme.palette.divider}`,
26
26
  padding: `${theme.spacings.sm}`,
27
27
  borderRadius: '6px',
28
28
  cursor: 'pointer',
@@ -7,7 +7,10 @@ const useStyles = makeStyles(
7
7
  (theme: Theme) => ({
8
8
  wrapper: {
9
9
  display: 'grid',
10
- background: 'rgba(0,0,0,0.03)',
10
+ background:
11
+ theme.palette.type === 'light'
12
+ ? theme.palette.background.image
13
+ : theme.palette.background.paper,
11
14
  justifyItems: 'center',
12
15
  columnGap: theme.spacings.lg,
13
16
  padding: `${theme.spacings.xl} 0`,
@@ -27,12 +30,14 @@ const useStyles = makeStyles(
27
30
  },
28
31
  },
29
32
  copy: {
33
+ marginTop: theme.spacings.lg,
30
34
  color: theme.palette.text.primary,
31
35
  maxWidth: '80%',
32
36
  display: 'grid',
33
37
  alignContent: 'center',
34
38
  [theme.breakpoints.up('md')]: {
35
39
  maxWidth: '70%',
40
+ marginTop: 0,
36
41
  },
37
42
  '& > *': {
38
43
  maxWidth: 'max-content',
@@ -22,7 +22,7 @@ const useStyles = makeStyles(
22
22
  },
23
23
  labelLeft: {},
24
24
  labelRight: {
25
- color: theme.palette.primary.contrastText,
25
+ color: theme.palette.text.primary,
26
26
  lineHeight: 1,
27
27
  },
28
28
  }),
@@ -56,11 +56,21 @@ export default function SectionHeader(props: SectionHeaderProps) {
56
56
  [classes.sectionHeaderSidePadding]: usePadding,
57
57
  })}
58
58
  >
59
- <Typography className={classes.labelLeft} variant={variantLeft} component='div'>
59
+ <Typography
60
+ className={classes.labelLeft}
61
+ variant={variantLeft}
62
+ color='textSecondary'
63
+ component='div'
64
+ >
60
65
  {labelLeft}
61
66
  </Typography>
62
67
  {labelRight && (
63
- <Typography className={classes.labelRight} variant={variantRight} component='div'>
68
+ <Typography
69
+ className={classes.labelRight}
70
+ variant={variantRight}
71
+ color='textSecondary'
72
+ component='div'
73
+ >
64
74
  {labelRight}
65
75
  </Typography>
66
76
  )}
@@ -6,6 +6,7 @@ import {
6
6
  SnackbarProps,
7
7
  Theme,
8
8
  Portal,
9
+ lighten,
9
10
  } from '@material-ui/core'
10
11
  import clsx from 'clsx'
11
12
  import React, { useEffect, useState } from 'react'
@@ -35,9 +36,8 @@ const useStyles = makeStyles(
35
36
  rootPill: {
36
37
  backgroundColor: theme.palette.background.paper,
37
38
  color: theme.palette.text.primary,
38
-
39
39
  [theme.breakpoints.up('md')]: {
40
- borderRadius: 50,
40
+ borderRadius: '99em',
41
41
  },
42
42
  },
43
43
  rootPillLarge: {},
@@ -58,61 +58,32 @@ const useStyles = makeStyles(
58
58
  },
59
59
  },
60
60
  children: {
61
- // display: 'flex',
62
61
  gridArea: 'children',
63
- ...theme.typography.h6,
62
+ ...theme.typography.subtitle1,
64
63
  fontWeight: 400,
65
-
66
- '& .MuiSvgIcon-root': {
67
- position: 'relative',
68
- fontSize: '1.1em',
69
- top: '0.15em',
70
- },
64
+ display: 'grid',
65
+ alignItems: 'center',
66
+ justifyContent: 'start',
67
+ gridAutoFlow: 'column',
68
+ gap: 10,
71
69
  },
72
70
  actionButton: {
73
71
  gridArea: 'action',
74
72
  '&:hover, &:focus': {
75
73
  backgroundColor: 'transparent',
76
74
  },
77
- '& .MuiPillButton-pill': {
78
- width: '100%',
79
- padding: theme.spacings.xxs,
80
- borderRadius: 40,
81
- },
82
- [theme.breakpoints.up('md')]: {
83
- margin: 0,
75
+ [theme.breakpoints.down('md')]: {
84
76
  '& .MuiPillButton-pill': {
85
77
  width: '100%',
86
- padding: '8px 16px',
87
78
  },
88
79
  },
89
80
  },
90
- closeButton: {
91
- gridArea: 'close',
92
- '& .MuiSvgIcon-root': {
93
- height: 24,
94
- },
95
- '& .MuiFab-sizeMedium': {
96
- height: 36,
97
- width: 36,
98
- },
99
- [theme.breakpoints.up('md')]: {
100
- '& .MuiSvgIcon-root': {
101
- height: 28,
102
- },
103
- '& .MuiFab-sizeMedium': {
104
- height: 44,
105
- width: 44,
106
- },
107
- },
81
+ close: {
82
+ backgroundColor: lighten(theme.palette.background.paper, 0.1),
108
83
  },
109
84
  sticky: {
110
85
  position: 'sticky',
111
86
  },
112
- messageIcon: {
113
- display: 'inline-block',
114
- marginRight: 5,
115
- },
116
87
  }),
117
88
  { name: 'MessageSnackbar' },
118
89
  )
@@ -201,21 +172,22 @@ export default function MessageSnackbarImpl(props: MessageSnackbarImplProps) {
201
172
  message={
202
173
  <>
203
174
  <div className={classes.children}>
204
- <div>
205
- <SvgImageSimple src={icon} size='large' className={classes.messageIcon} />
206
- {children}
207
- </div>
175
+ <SvgImageSimple src={icon} size='large' />
176
+ <div>{children}</div>
208
177
  </div>
209
178
  {action && (
210
179
  <div className={classes.actionButton} onClick={hideSnackbar}>
211
180
  {action}
212
181
  </div>
213
182
  )}
214
- <div className={classes.closeButton}>
215
- <Fab aria-label='Close snackbar' size='medium' onClick={hideSnackbar}>
216
- <SvgImageSimple src={iconClose} size='small' />
217
- </Fab>
218
- </div>
183
+ <Fab
184
+ className={classes.close}
185
+ aria-label='Close snackbar'
186
+ size='small'
187
+ onClick={hideSnackbar}
188
+ >
189
+ <SvgImageSimple src={iconClose} />
190
+ </Fab>
219
191
  </>
220
192
  }
221
193
  />
@@ -2,7 +2,6 @@ import { makeStyles, Theme } from '@material-ui/core'
2
2
  import { Rating, RatingProps } from '@material-ui/lab'
3
3
  import React from 'react'
4
4
  import { SvgImageSimple } from '..'
5
- import SvgImage from '../SvgImage'
6
5
  import { iconStar } from '../icons'
7
6
 
8
7
  export type StarRatingFieldProps = {
@@ -7,13 +7,14 @@ import responsiveVal from '../Styles/responsiveVal'
7
7
  const useStyles = makeStyles(
8
8
  (theme: Theme) => ({
9
9
  root: {
10
+ marginTop: '-2px',
10
11
  display: 'grid',
11
12
  gridAutoFlow: 'column',
12
13
  gap: responsiveVal(8, 12),
13
14
  // padding: `0 ${theme.page.horizontal}`,
14
15
  },
15
16
  step: {
16
- height: 2,
17
+ height: responsiveVal(2, 3),
17
18
  background: theme.palette.divider,
18
19
  },
19
20
  current: {
@@ -15,7 +15,6 @@ const useStyles = makeStyles(
15
15
  strokeWidth: 1.8,
16
16
  strokeLinecap: 'square',
17
17
  strokeLinejoin: 'miter',
18
- stroke: theme.palette.text.primary,
19
18
  fill: 'none',
20
19
  },
21
20
  sizeInherit: {
@@ -32,21 +31,17 @@ const useStyles = makeStyles(
32
31
  strokeWidth: 1.4,
33
32
  },
34
33
  sizeXl: {
35
- width: responsiveVal(38, 42),
36
- height: responsiveVal(38, 42),
37
- strokeWidth: 1.8,
34
+ width: responsiveVal(38, 62),
35
+ height: responsiveVal(38, 62),
36
+ strokeWidth: 1.5,
38
37
  },
39
38
  sizeXxl: {
40
39
  width: responsiveVal(96, 148),
41
40
  height: responsiveVal(96, 148),
42
41
  strokeWidth: 1,
43
42
  },
44
- muted: {
45
- stroke: theme.palette.text.disabled,
46
- },
47
- inverted: {
48
- stroke: theme.palette.background.default,
49
- },
43
+ muted: {},
44
+ inverted: {},
50
45
  }),
51
46
  { name: 'SvgImageSimple' },
52
47
  )
@@ -12,7 +12,6 @@ import clsx from 'clsx'
12
12
  import React, { ChangeEvent, Ref, useCallback, useEffect, useRef, useState } from 'react'
13
13
  import { UseStyles } from '../Styles'
14
14
  import responsiveVal from '../Styles/responsiveVal'
15
- import SvgImage from '../SvgImage'
16
15
  import SvgImageSimple from '../SvgImage/SvgImageSimple'
17
16
  import { iconMin, iconPlus } from '../icons'
18
17
 
package/Theme/types.ts CHANGED
@@ -2,7 +2,7 @@ export {}
2
2
 
3
3
  declare module '@material-ui/core/styles/createPalette' {
4
4
  interface TypeBackground {
5
- highlight: string
5
+ image: string
6
6
  }
7
7
  }
8
8
 
package/Title/index.tsx CHANGED
@@ -1,6 +1,7 @@
1
1
  import { makeStyles, Theme, Typography, TypographyProps } from '@material-ui/core'
2
2
  import clsx from 'clsx'
3
3
  import React from 'react'
4
+ import { responsiveVal } from '..'
4
5
  import { UseStyles } from '../Styles'
5
6
  import SvgImage, { SvgImageProps } from '../SvgImage'
6
7
  import SvgImageSimple from '../SvgImage/SvgImageSimple'
@@ -18,14 +19,13 @@ const useStyles = makeStyles(
18
19
  },
19
20
  },
20
21
  typography: {},
21
- icon: {
22
- [theme.breakpoints.down('sm')]: {
23
- width: 48,
24
- height: 48,
25
- },
26
- },
27
22
  small: {
28
23
  flexFlow: 'unset',
24
+ '& svg': {
25
+ width: responsiveVal(24, 28),
26
+ height: responsiveVal(24, 28),
27
+ strokeWidth: 1.4,
28
+ },
29
29
  },
30
30
  }),
31
31
  {
@@ -0,0 +1 @@
1
+ <svg role="img" xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" aria-labelledby="cancelAltIconTitle" stroke="#2329D6" stroke-width="1" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="#2329D6"> <title id="cancelAltIconTitle">cancelAlt</title> <symbol id="icon" viewBox="0 0 24 24"><path d="M19.0710678,4.92893219 C22.9763107,8.83417511 22.9763107,15.1658249 19.0710678,19.0710678 C15.1658249,22.9763107 8.83417511,22.9763107 4.92893219,19.0710678 C1.02368927,15.1658249 1.02368927,8.83417511 4.92893219,4.92893219 C8.83417511,1.02368927 15.1658249,1.02368927 19.0710678,4.92893219 Z M16.9497475,8.46446609 L15.5355339,7.05025253 L12,10.5857864 L8.46446609,7.05025253 L7.05025253,8.46446609 L10.5857864,12 L7.05025253,15.5355339 L8.46446609,16.9497475 L12,13.4142136 L15.5355339,16.9497475 L16.9497475,15.5355339 L13.4142136,12 L16.9497475,8.46446609 Z" id="Shape"></path></symbol></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" aria-labelledby="facebookIcon" stroke="#2329D6" stroke-width="1" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="#2329D6"> <title id="facebookIconTitle">Facebook</title> <symbol id="icon" viewBox="0 0 24 24"> <path d="M22,12 C22,6.4775 17.5225,2 12,2 C6.4775,2 2,6.4775 2,12 C2,16.9916667 5.65666667,21.1283333 10.4375,21.8783333 L10.4375,14.8908333 L7.89833333,14.8908333 L7.89833333,11.9991667 L10.4375,11.9991667 L10.4375,9.7975 C10.4375,7.29166667 11.9308333,5.90666667 14.215,5.90666667 C15.3083333,5.90666667 16.4533333,6.1025 16.4533333,6.1025 L16.4533333,8.56333333 L15.1916667,8.56333333 C13.9491667,8.56333333 13.5616667,9.33416667 13.5616667,10.125 L13.5616667,12 L16.335,12 L15.8916667,14.8916667 L13.5616667,14.8916667 L13.5616667,21.8791667 C18.3433333,21.1283333 22,16.9908333 22,12 Z" id="Shape"></path> </symbol></svg>
package/icons/index.tsx CHANGED
@@ -13,7 +13,7 @@ export { default as iconShoppingBag } from './bag.svg'
13
13
  export { default as iconFullscreenExit } from './minimise.svg'
14
14
  export { default as iconChat } from './chat-alt.svg'
15
15
  export { default as iconChevronBack } from './chevron-left.svg'
16
- export { default as iconCloseCircle } from './cancel.svg'
16
+ export { default as iconCancelAlt } from './cancel-alt.svg'
17
17
  export { default as iconEmail } from './envelope-alt.svg'
18
18
  export { default as iconCheckmark } from './ok.svg'
19
19
  export { default as iconArrowBack } from './arrow-left.svg'
@@ -0,0 +1 @@
1
+ <svg role="img" xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" aria-labelledby="instagramIcon" stroke="#2329D6" stroke-width="1" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="#2329D6"> <title id="instagramIconTitle">Instagram</title> <symbol id="icon" viewBox="0 0 24 24"> <path d="M12,2 C9.28333333,2 8.94416667,2.0125 7.8775,2.06 C6.8125,2.11 6.0875,2.2775 5.45,2.525 C4.7925,2.78 4.23416667,3.1225 3.67833333,3.67833333 C3.1225,4.23416667 2.77916667,4.79166667 2.525,5.45 C2.2775,6.0875 2.10916667,6.8125 2.06,7.8775 C2.01,8.94416667 2,9.28333333 2,12 C2,14.7166667 2.0125,15.0558333 2.06,16.1225 C2.11,17.1866667 2.2775,17.9125 2.525,18.55 C2.78,19.2066667 3.1225,19.7658333 3.67833333,20.3216667 C4.23416667,20.8766667 4.79166667,21.2208333 5.45,21.475 C6.08833333,21.7216667 6.81333333,21.8908333 7.8775,21.94 C8.94416667,21.99 9.28333333,22 12,22 C14.7166667,22 15.0558333,21.9875 16.1225,21.94 C17.1866667,21.89 17.9125,21.7216667 18.55,21.475 C19.2066667,21.22 19.7658333,20.8766667 20.3216667,20.3216667 C20.8766667,19.7658333 21.2208333,19.2091667 21.475,18.55 C21.7216667,17.9125 21.8908333,17.1866667 21.94,16.1225 C21.99,15.0558333 22,14.7166667 22,12 C22,9.28333333 21.9875,8.94416667 21.94,7.8775 C21.89,6.81333333 21.7216667,6.08666667 21.475,5.45 C21.22,4.7925 20.8766667,4.23416667 20.3216667,3.67833333 C19.7658333,3.1225 19.2091667,2.77916667 18.55,2.525 C17.9125,2.2775 17.1866667,2.10916667 16.1225,2.06 C15.0558333,2.01 14.7166667,2 12,2 Z M12,3.8 C14.6691667,3.8 14.9875,3.81333333 16.0416667,3.85916667 C17.0166667,3.905 17.5458333,4.06666667 17.8975,4.205 C18.3658333,4.38583333 18.6975,4.6025 19.0491667,4.95166667 C19.3983333,5.30166667 19.615,5.63416667 19.7958333,6.1025 C19.9325,6.45416667 20.0958333,6.98333333 20.14,7.95833333 C20.1875,9.01333333 20.1983333,9.33 20.1983333,12 C20.1983333,14.67 20.1858333,14.9875 20.1366667,16.0416667 C20.0858333,17.0166667 19.9233333,17.5458333 19.7858333,17.8975 C19.5991667,18.3658333 19.3866667,18.6975 19.0366667,19.0491667 C18.6875,19.3983333 18.35,19.615 17.8866667,19.7958333 C17.5366667,19.9325 16.9991667,20.0958333 16.0241667,20.14 C14.9625,20.1875 14.65,20.1983333 11.975,20.1983333 C9.29916667,20.1983333 8.98666667,20.1858333 7.92583333,20.1366667 C6.95,20.0858333 6.4125,19.9233333 6.0625,19.7858333 C5.58833333,19.5991667 5.2625,19.3866667 4.91333333,19.0366667 C4.5625,18.6875 4.33833333,18.35 4.16333333,17.8866667 C4.02583333,17.5366667 3.86416667,16.9991667 3.81333333,16.0241667 C3.77583333,14.9741667 3.7625,14.65 3.7625,11.9875 C3.7625,9.32416667 3.77583333,8.99916667 3.81333333,7.93666667 C3.86416667,6.96166667 4.02583333,6.425 4.16333333,6.075 C4.33833333,5.6 4.5625,5.275 4.91333333,4.92416667 C5.2625,4.575 5.58833333,4.35 6.0625,4.17583333 C6.4125,4.0375 6.93833333,3.875 7.91333333,3.825 C8.97583333,3.7875 9.28833333,3.775 11.9625,3.775 L12,3.8 L12,3.8 Z M12,6.865 C9.1625,6.865 6.865,9.165 6.865,12 C6.865,14.8375 9.165,17.135 12,17.135 C14.8375,17.135 17.135,14.835 17.135,12 C17.135,9.1625 14.835,6.865 12,6.865 Z M12,15.3333333 C10.1583333,15.3333333 8.66666667,13.8416667 8.66666667,12 C8.66666667,10.1583333 10.1583333,8.66666667 12,8.66666667 C13.8416667,8.66666667 15.3333333,10.1583333 15.3333333,12 C15.3333333,13.8416667 13.8416667,15.3333333 12,15.3333333 Z M18.5383333,6.6625 C18.5383333,7.325 18,7.8625 17.3383333,7.8625 C16.6758333,7.8625 16.1383333,7.32416667 16.1383333,6.6625 C16.1383333,6.00083333 16.6766667,5.46333237 17.3383333,5.46333237 C17.9991667,5.4625 18.5383333,6.00083333 18.5383333,6.6625 Z" id="Shape"></path> </symbol></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" aria-labelledby="linkedinIcon" stroke="#2329D6" stroke-width="1" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="#2329D6"> <title id="linkedinIconTitle">Linkedin</title> <symbol id="icon" viewBox="0 0 24 24"> <path d="M19.0391667,19.0433333 L16.0775,19.0433333 L16.0775,14.4025 C16.0775,13.2958333 16.055,11.8716667 14.5341667,11.8716667 C12.99,11.8716667 12.7541667,13.0758333 12.7541667,14.3208333 L12.7541667,19.0433333 L9.7925,19.0433333 L9.7925,9.5 L12.6375,9.5 L12.6375,10.8008333 L12.6758333,10.8008333 C13.0733333,10.0508333 14.04,9.25916667 15.4841667,9.25916667 C18.485,9.25916667 19.04,11.2341667 19.04,13.805 L19.04,19.0433333 L19.0391667,19.0433333 Z M6.4475,8.19416667 C5.49416667,8.19416667 4.72833333,7.4225 4.72833333,6.47333333 C4.72833333,5.525 5.495,4.75416667 6.4475,4.75416667 C7.3975,4.75416667 8.1675,5.525 8.1675,6.47333333 C8.1675,7.4225 7.39666667,8.19416667 6.4475,8.19416667 Z M7.9325,19.0433333 L4.9625,19.0433333 L4.9625,9.5 L7.9325,9.5 L7.9325,19.0433333 Z M20.5208333,2 L3.47583333,2 C2.66,2 2,2.645 2,3.44083333 L2,20.5591667 C2,21.3558333 2.66,22 3.47583333,22 L20.5183333,22 C21.3333333,22 22,21.3558333 22,20.5591667 L22,3.44083333 C22,2.645 21.3333333,2 20.5183333,2 L20.5208333,2 Z" id="Shape"></path> </symbol></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" aria-labelledby="iconTwitter" stroke="#2329D6" stroke-width="1" stroke-linecap="square" stroke-linejoin="miter" fill="none" color="#2329D6"> <title id="iconTwitterTitle">Twitter</title> <symbol id="icon" viewBox="0 0 24 24"> <path d="M8.16087442,20.762239 C16.1774221,20.762239 20.5607655,14.1194402 20.5607655,8.36234795 C20.5607655,8.1725537 20.5607655,7.98275945 20.5517277,7.80200302 C21.4012829,7.18743116 22.1423842,6.41921633 22.7298426,5.54254765 C21.95259,5.88598487 21.1120726,6.12096823 20.2263661,6.22942208 C21.1301482,5.68715279 21.8170227,4.83759758 22.1423842,3.81632375 C21.3018668,4.31340393 20.3709712,4.67491679 19.3768109,4.87374886 C18.5814826,4.02419365 17.4517549,3.5 16.1954977,3.5 C13.7914372,3.5 11.8392678,5.45216944 11.8392678,7.85622995 C11.8392678,8.19966716 11.875419,8.53406656 11.9567594,8.85039031 C8.33259303,8.66963388 5.12416641,6.93437216 2.9731649,4.29532829 C2.60261422,4.93701361 2.3857065,5.68715279 2.3857065,6.48248108 C2.3857065,7.99179727 3.15392133,9.32939485 4.32883812,10.1066475 C3.61485022,10.0885718 2.94605143,9.88973978 2.35859304,9.5643782 C2.35859304,9.58245385 2.35859304,9.60052949 2.35859304,9.61860513 C2.35859304,11.7334554 3.8588714,13.4867927 5.85622995,13.8934947 C5.49471709,13.9929107 5.10609076,14.0471377 4.70842662,14.0471377 C4.42825415,14.0471377 4.15711951,14.0200242 3.88598487,13.9657973 C4.43729198,15.701059 6.0460242,16.9573162 7.95300453,16.9934674 C6.46176398,18.1593464 4.58189712,18.8552587 2.53934947,18.8552587 C2.18687443,18.8552587 1.84343722,18.837183 1.5,18.7919939 C3.40698033,20.0392133 5.70258698,20.762239 8.16087442,20.762239" id="Path" stroke="#2329D6"></path> </symbol></svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphcommerce/next-ui",
3
- "version": "3.11.2",
3
+ "version": "3.12.0",
4
4
  "author": "",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -10,12 +10,12 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@apollo/client": "^3.4.16",
13
- "@graphcommerce/framer-next-pages": "^2.107.1",
14
- "@graphcommerce/framer-scroller": "^0.4.2",
15
- "@graphcommerce/framer-sheet": "^2.105.14",
16
- "@graphcommerce/framer-utils": "^2.103.12",
17
- "@graphcommerce/graphql": "^2.105.1",
18
- "@graphcommerce/image": "^2.105.1",
13
+ "@graphcommerce/framer-next-pages": "^2.107.3",
14
+ "@graphcommerce/framer-scroller": "^0.4.3",
15
+ "@graphcommerce/framer-sheet": "^2.105.15",
16
+ "@graphcommerce/framer-utils": "^2.103.13",
17
+ "@graphcommerce/graphql": "^2.105.2",
18
+ "@graphcommerce/image": "^2.105.2",
19
19
  "@graphql-typed-document-node/core": "^3.1.0",
20
20
  "@material-ui/core": "^4.12.3",
21
21
  "@material-ui/lab": "^4.0.0-alpha.60",
@@ -23,7 +23,7 @@
23
23
  "clsx": "^1.1.1",
24
24
  "framer-motion": "^4.1.17",
25
25
  "graphql": "^15.6.1",
26
- "next": "^12.0.1",
26
+ "next": "^12.0.2",
27
27
  "react": "^17.0.2",
28
28
  "react-dom": "^17.0.2",
29
29
  "react-focus-lock": "^2.5.2",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "devDependencies": {
36
36
  "@graphcommerce/browserslist-config-pwa": "^3.0.2",
37
- "@graphcommerce/eslint-config-pwa": "^3.1.2",
37
+ "@graphcommerce/eslint-config-pwa": "^3.1.3",
38
38
  "@graphcommerce/prettier-config-pwa": "^3.0.3",
39
39
  "@graphcommerce/typescript-config-pwa": "^3.1.1",
40
40
  "@playwright/test": "^1.16.2",
@@ -53,5 +53,5 @@
53
53
  "project": "./tsconfig.json"
54
54
  }
55
55
  },
56
- "gitHead": "ed70123f0b4c4552ca413deff6fe786156d0772f"
56
+ "gitHead": "b37db76e3e0dfc34a2b25068be5e6c7afcca6bfa"
57
57
  }