@graphcommerce/next-ui 7.0.0-canary.21 → 7.0.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.
@@ -122,7 +122,6 @@ export function ActionCard(props: ActionCardProps) {
122
122
  theme.shape.borderRadius * 3,
123
123
  theme.breakpoints.values,
124
124
  ),
125
-
126
125
  '&.sizeSmall': {
127
126
  px: responsiveVal(8, 12),
128
127
  py: responsiveVal(4, 6),
@@ -142,14 +141,15 @@ export function ActionCard(props: ActionCardProps) {
142
141
  },
143
142
 
144
143
  '&.variantDefault': {
144
+ position: 'relative',
145
145
  '&::after': {
146
146
  content: '""',
147
- display: 'block',
148
147
  position: 'absolute',
149
148
  width: '100%',
150
149
  left: 0,
151
150
  bottom: '-1px',
152
151
  borderBottom: `1px solid ${theme.palette.divider}`,
152
+ display: 'block',
153
153
  },
154
154
  '&.selected': {
155
155
  backgroundColor:
@@ -164,21 +164,21 @@ export function ActionCard(props: ActionCardProps) {
164
164
  )}`,
165
165
  },
166
166
 
167
- '&.variantDefault.sizeSmall': {
167
+ '&.sizeSmall': {
168
168
  mt: { xs: '2px', sm: '3px', md: '5px' },
169
169
  mb: { xs: '3px', sm: '4px', md: '6px' },
170
170
  '&::after': {
171
171
  mb: { xs: '-2px', sm: '-3px', md: '-5px' },
172
172
  },
173
173
  },
174
- '&.variantDefault.sizeMedium': {
174
+ '&.sizeMedium': {
175
175
  mt: { xs: '4px', sm: '5px', md: '6px' },
176
176
  mb: { xs: '5px', sm: '6px', md: '7px' },
177
177
  '&::after': {
178
178
  mb: { xs: '-4px', sm: '-5px', md: '-6px' },
179
179
  },
180
180
  },
181
- '&.variantDefault.sizeLarge': {
181
+ '&.sizeLarge': {
182
182
  mt: { xs: '5px', sm: '7px', md: '8px' },
183
183
  mb: { xs: '6px', sm: '8px', md: '9px' },
184
184
  '&::after': {
@@ -193,7 +193,6 @@ export function ActionCard(props: ActionCardProps) {
193
193
  '&:not(:last-of-type)': {
194
194
  marginBottom: '-1px',
195
195
  },
196
-
197
196
  '&.layoutList': {
198
197
  borderRadius: 0,
199
198
  '&:first-of-type': {
@@ -290,7 +289,6 @@ export function ActionCard(props: ActionCardProps) {
290
289
  <Box
291
290
  sx={{
292
291
  display: 'flex',
293
- justifyContent: 'center',
294
292
  flexDirection: 'column',
295
293
  alignItems: 'flex-start',
296
294
  }}
@@ -299,7 +297,8 @@ export function ActionCard(props: ActionCardProps) {
299
297
  <Box
300
298
  className={classes.title}
301
299
  sx={{
302
- typography: 'subtitle2',
300
+ '&.sizeSmall': { typography: 'body2' },
301
+ '&.sizeMedium': { typography: 'body1' },
303
302
  '&.sizeLarge': { typography: 'h6' },
304
303
  }}
305
304
  >
@@ -0,0 +1,58 @@
1
+ import { Accordion, AccordionSummary, AccordionDetails, SxProps, Theme } from '@mui/material'
2
+ import { useState, ReactNode } from 'react'
3
+ import { IconSvg } from '../IconSvg'
4
+ import { iconChevronDown } from '../icons'
5
+
6
+ export type ActionCardAccordionProps = {
7
+ summary: ReactNode
8
+ details: ReactNode
9
+ right: ReactNode
10
+ sx?: SxProps<Theme>
11
+ defaultExpanded?: boolean
12
+ }
13
+
14
+ export function ActionCardAccordion(props: ActionCardAccordionProps) {
15
+ const { summary, details, right, defaultExpanded = true, sx } = props
16
+ const [expanded, setExpanded] = useState(defaultExpanded)
17
+ const handleChange = () => setExpanded(!expanded)
18
+
19
+ return (
20
+ <Accordion
21
+ square
22
+ onChange={handleChange}
23
+ expanded={expanded}
24
+ variant='outlined'
25
+ disableGutters
26
+ sx={[
27
+ (theme) => ({
28
+ backgroundColor: 'transparent ',
29
+ '&.Mui-expanded': { my: 0 },
30
+ '::before': { display: 'none' },
31
+ border: 'none',
32
+ '&:not(.Mui-expanded)': { borderBottom: `1px solid ${theme.palette.divider}` },
33
+ }),
34
+ ...(Array.isArray(sx) ? sx : [sx]),
35
+ ]}
36
+ >
37
+ <AccordionSummary
38
+ onClick={(e) => e.preventDefault()}
39
+ expandIcon={<IconSvg src={iconChevronDown} />}
40
+ sx={{
41
+ px: 0,
42
+ typography: 'h6',
43
+ minHeight: 54,
44
+ '& .MuiAccordionSummary-content': {
45
+ display: 'flex',
46
+ justifyContent: 'space-between',
47
+ alignItems: 'center',
48
+ my: 0,
49
+ },
50
+ }}
51
+ >
52
+ <div>{summary}</div>
53
+ {right}
54
+ </AccordionSummary>
55
+ <AccordionDetails sx={{ p: 0 }}>{details}</AccordionDetails>
56
+ </Accordion>
57
+ )
58
+ }
@@ -3,10 +3,10 @@ import React from 'react'
3
3
  import { extendableComponent } from '../Styles'
4
4
  import { ActionCardProps } from './ActionCard'
5
5
 
6
- type ActionCardLayoutProps = {
6
+ export type ActionCardLayoutProps = {
7
7
  children?: React.ReactNode
8
8
  } & Pick<ActionCardProps, 'layout'> &
9
- BoxProps
9
+ Pick<BoxProps, 'sx' | 'className'>
10
10
 
11
11
  const parts = ['root'] as const
12
12
  const name = 'ActionCardLayout'
@@ -18,15 +18,15 @@ const { withState } = extendableComponent<
18
18
 
19
19
  export const ActionCardLayout = React.forwardRef<HTMLDivElement, ActionCardLayoutProps>(
20
20
  (props, ref) => {
21
- const { layout = 'list' } = props
21
+ const { layout = 'list', sx, className = '', ...boxProps } = props
22
22
 
23
23
  const classes = withState({ layout })
24
24
 
25
25
  return (
26
26
  <Box
27
27
  ref={ref}
28
- {...props}
29
- className={classes.root}
28
+ {...boxProps}
29
+ className={`${classes.root} ${className}`}
30
30
  sx={[
31
31
  (theme) => ({
32
32
  '&.layoutStack': {
@@ -50,7 +50,7 @@ export const ActionCardLayout = React.forwardRef<HTMLDivElement, ActionCardLayou
50
50
  gap: theme.spacings.xxs,
51
51
  },
52
52
  }),
53
- ...(Array.isArray(props.sx) ? props.sx : [props.sx]),
53
+ ...(Array.isArray(sx) ? sx : [sx]),
54
54
  ]}
55
55
  />
56
56
  )
@@ -1,7 +1,11 @@
1
- import { Alert, Box, SxProps, Theme } from '@mui/material'
1
+ import { Trans } from '@lingui/react'
2
+ import { Alert, SxProps, Theme } from '@mui/material'
2
3
  import React from 'react'
3
4
  import { isFragment } from 'react-is'
5
+ import { Button } from '../Button'
6
+ import { IconSvg } from '../IconSvg'
4
7
  import { extendableComponent } from '../Styles'
8
+ import { iconChevronDown } from '../icons'
5
9
  import { ActionCardProps } from './ActionCard'
6
10
  import { ActionCardLayout } from './ActionCardLayout'
7
11
 
@@ -22,6 +26,7 @@ type Select = {
22
26
  }
23
27
 
24
28
  export type ActionCardListProps<SelectOrMulti = MultiSelect | Select> = {
29
+ showMoreAfter?: number
25
30
  children?: React.ReactNode
26
31
  required?: boolean
27
32
  error?: boolean
@@ -57,6 +62,7 @@ export const ActionCardList = React.forwardRef<HTMLDivElement, ActionCardListPro
57
62
  const {
58
63
  children,
59
64
  required,
65
+ showMoreAfter = 1000000,
60
66
  error = false,
61
67
  errorMessage,
62
68
  size = 'medium',
@@ -67,6 +73,8 @@ export const ActionCardList = React.forwardRef<HTMLDivElement, ActionCardListPro
67
73
  sx = [],
68
74
  } = props
69
75
 
76
+ const [show, setShow] = React.useState(false)
77
+
70
78
  const handleChange: ActionCardProps['onClick'] = isMulti(props)
71
79
  ? (event, v) => {
72
80
  const { onChange, value } = props
@@ -103,7 +111,7 @@ export const ActionCardList = React.forwardRef<HTMLDivElement, ActionCardListPro
103
111
  }
104
112
 
105
113
  // Make sure the children are cardlike
106
- const childReactNodes = React.Children.toArray(children)
114
+ const childActionCards = React.Children.toArray(children)
107
115
  .filter(React.isValidElement)
108
116
  .filter(isActionCardLike)
109
117
  .filter((child) => {
@@ -121,7 +129,7 @@ export const ActionCardList = React.forwardRef<HTMLDivElement, ActionCardListPro
121
129
  })
122
130
 
123
131
  // Make sure the selected values is in the list of all possible values
124
- const value = childReactNodes.find(
132
+ const value = childActionCards.find(
125
133
  // eslint-disable-next-line react/destructuring-assignment
126
134
  (child) => child.props.value === props.value && child.props.disabled !== true,
127
135
  )?.props.value
@@ -131,9 +139,10 @@ export const ActionCardList = React.forwardRef<HTMLDivElement, ActionCardListPro
131
139
  return (
132
140
  <div ref={ref}>
133
141
  <ActionCardLayout sx={sx} className={classes.root} layout={layout}>
134
- {childReactNodes.map((child) => {
142
+ {childActionCards.map((child, index) => {
135
143
  if (collapse && Boolean(value) && !isValueSelected(child.props.value, value))
136
144
  return null
145
+ if (index && showMoreAfter && index + 1 > showMoreAfter && !show) return null
137
146
  return React.cloneElement(child, {
138
147
  onClick: handleChange,
139
148
  error,
@@ -149,6 +158,25 @@ export const ActionCardList = React.forwardRef<HTMLDivElement, ActionCardListPro
149
158
  })
150
159
  })}
151
160
  </ActionCardLayout>
161
+
162
+ {childActionCards.length > showMoreAfter && (
163
+ <Button
164
+ sx={{ width: 'fit-content' }}
165
+ color='primary'
166
+ variant='text'
167
+ onClick={() => setShow(!show)}
168
+ >
169
+ {!show ? <Trans id='More options' /> : <Trans id='Less options' />}{' '}
170
+ <IconSvg
171
+ sx={{
172
+ transform: show ? 'rotate(180deg)' : 'rotate(0deg)',
173
+ transition: 'transform 0.3s ease-in-out',
174
+ }}
175
+ src={iconChevronDown}
176
+ />
177
+ </Button>
178
+ )}
179
+
152
180
  {error && errorMessage && (
153
181
  <Alert
154
182
  severity='error'
@@ -64,7 +64,7 @@ export function ActionCardListForm<
64
64
  {items.map((item) => (
65
65
  <RenderItem
66
66
  {...item}
67
- key={item.value ?? 'tralala'}
67
+ key={item.value ?? ''}
68
68
  value={item.value}
69
69
  selected={onSelect(item.value, value)}
70
70
  onReset={(e) => {
@@ -1,4 +1,5 @@
1
1
  export * from './ActionCard'
2
+ export * from './ActionCardAccordion'
2
3
  export * from './ActionCardLayout'
3
4
  export * from './ActionCardList'
4
5
  export * from './ActionCardListForm'
@@ -2,13 +2,12 @@ import { Box, Link, SxProps, Theme, Typography } from '@mui/material'
2
2
  import React from 'react'
3
3
  import { extendableComponent } from '../../Styles'
4
4
  import { breakpointVal } from '../../Styles/breakpointVal'
5
- import { responsiveVal } from '../../Styles/responsiveVal'
6
5
  import { useDateTimeFormat } from '../../hooks'
7
6
 
8
7
  export type BlogListItemProps = {
9
8
  asset: React.ReactNode
10
9
  url: string
11
- date: string
10
+ date: string | undefined
12
11
  title: string
13
12
  sx?: SxProps<Theme>
14
13
  }
@@ -57,18 +56,20 @@ export function BlogListItem(props: BlogListItemProps) {
57
56
  </Box>
58
57
  </Link>
59
58
 
60
- <Box
61
- component='time'
62
- className={classes.date}
63
- dateTime={date}
64
- sx={(theme) => ({
65
- display: 'inline-block',
66
- textDecoration: 'none',
67
- color: theme.palette.text.secondary,
68
- })}
69
- >
70
- {formatter.format(new Date(date))}
71
- </Box>
59
+ {date && (
60
+ <Box
61
+ component='time'
62
+ className={classes.date}
63
+ dateTime={date}
64
+ sx={(theme) => ({
65
+ display: 'inline-block',
66
+ textDecoration: 'none',
67
+ color: theme.palette.text.secondary,
68
+ })}
69
+ >
70
+ {formatter.format(new Date(date))}
71
+ </Box>
72
+ )}
72
73
 
73
74
  <Link href={`/${url}`} className={classes.title} color='inherit' underline='hover'>
74
75
  <Typography component='h2' variant='h4'>
@@ -11,13 +11,14 @@ type SharedProperties<A, B> = OmitNever<
11
11
  >
12
12
 
13
13
  export type LinkOrButtonProps = {
14
- button?: ButtonProps
15
- link?: LinkProps
14
+ button?: ButtonProps<'button'>
15
+ link?: LinkProps<'a'>
16
16
  breakpoint?: Breakpoint
17
17
  disabled?: boolean
18
18
  } & SharedProperties<
19
- Omit<ButtonProps, 'sx'>,
20
- Omit<LinkProps, 'color' | 'sx'> & Pick<ButtonProps, 'endIcon' | 'startIcon' | 'color' | 'loading'>
19
+ Omit<ButtonProps<'button'>, 'sx' | 'component'>,
20
+ Omit<LinkProps<'a'>, 'color' | 'sx' | 'component'> &
21
+ Pick<ButtonProps, 'endIcon' | 'startIcon' | 'color' | 'loading'>
21
22
  >
22
23
 
23
24
  /** Renders a Link until the breakpoint is reached and will then render a button. */
package/CHANGELOG.md CHANGED
@@ -1,6 +1,268 @@
1
1
  # Change Log
2
2
 
3
- ## 7.0.0-canary.21
3
+ ## 7.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [`e55d8c390`](https://github.com/graphcommerce-org/graphcommerce/commit/e55d8c390d90b4bb7bab11c6a99027ac72bd7e3e) - Created a new sidebar layout system, can be configured with productFiltersLayout in the graphcommerce.config.js ([@paales](https://github.com/paales))
8
+
9
+ ### Minor Changes
10
+
11
+ - [#1961](https://github.com/graphcommerce-org/graphcommerce/pull/1961) [`4a759c662`](https://github.com/graphcommerce-org/graphcommerce/commit/4a759c66215eaa69edc342b898e05e8f92c3ba9a) - Add Open Graph meta tags to all pages ([@Giovanni-Schroevers](https://github.com/Giovanni-Schroevers))
12
+
13
+ - [#2003](https://github.com/graphcommerce-org/graphcommerce/pull/2003) [`609b384de`](https://github.com/graphcommerce-org/graphcommerce/commit/609b384de8cded7a9dd2f29bd516ded810ab970a) - Created a new version of the cart using ActionCards for each CartItem. Different types of CartItems can have different ActionCards. These ActionCards will be overridden with the use of Plugins. An example can be found in the @graphcommerce/magento-product-configurable package. ([@Jessevdpoel](https://github.com/Jessevdpoel))
14
+
15
+ - [#2023](https://github.com/graphcommerce-org/graphcommerce/pull/2023) [`7cd53fb2a`](https://github.com/graphcommerce-org/graphcommerce/commit/7cd53fb2aca18ae4a56025b2a015fecbda2e47b7) - Added links to test components on the test page. ([@Jessevdpoel](https://github.com/Jessevdpoel))
16
+
17
+ ### Patch Changes
18
+
19
+ - [#1934](https://github.com/graphcommerce-org/graphcommerce/pull/1934) [`96ac0320a`](https://github.com/graphcommerce-org/graphcommerce/commit/96ac0320a30bc55a6db5d46663d28b552fda4db6) - Overlays with a floating layout can now be closed by clicking beside the overlay. ([@bramvanderholst](https://github.com/bramvanderholst))
20
+
21
+ - [#2003](https://github.com/graphcommerce-org/graphcommerce/pull/2003) [`e9041802b`](https://github.com/graphcommerce-org/graphcommerce/commit/e9041802b27d6610cc93715ca61acff7f59792e6) - When the switchPoint of LayoutHeader is zero, make sure the header doesn’t flash when scrolling up on iOS ([@Jessevdpoel](https://github.com/Jessevdpoel))
22
+
23
+ - [#1998](https://github.com/graphcommerce-org/graphcommerce/pull/1998) [`fdbdcb76f`](https://github.com/graphcommerce-org/graphcommerce/commit/fdbdcb76f918cf74b22253bd641a04c490ceb140) - Users are now not able to scroll an overlay during the open animation. ([@bramvanderholst](https://github.com/bramvanderholst))
24
+
25
+ - [#1960](https://github.com/graphcommerce-org/graphcommerce/pull/1960) [`f78caf5a8`](https://github.com/graphcommerce-org/graphcommerce/commit/f78caf5a83683f1ae4b901fb94bd22d50943fa2f) - Updated packages: `next`, `@apollo/client`, `react-hook-form`, `@emotion/*`, `@lingui/*`, `@mui/*` and various others. ([@paales](https://github.com/paales))
26
+
27
+ - [#1965](https://github.com/graphcommerce-org/graphcommerce/pull/1965) [`44b2911d7`](https://github.com/graphcommerce-org/graphcommerce/commit/44b2911d73fb6c6c7188f16d5890ca93877e9aa7) - Added prop to LayoutHeader to be able to hide the back button ([@bramvanderholst](https://github.com/bramvanderholst))
28
+
29
+ - [#1946](https://github.com/graphcommerce-org/graphcommerce/pull/1946) [`87260618b`](https://github.com/graphcommerce-org/graphcommerce/commit/87260618b8abaebd727ff4435abb1aea6ed33730) - Firefox: scroll snap overlays would snap to 0 when the scroll snap targets wouldn’t exactly match the possible targets. ([@paales](https://github.com/paales))
30
+
31
+ - [#1913](https://github.com/graphcommerce-org/graphcommerce/pull/1913) [`17eac116d`](https://github.com/graphcommerce-org/graphcommerce/commit/17eac116dbf2b811a67bfefd735d5a5a3e2b20dc) - Fixed zIndex issue with CartFab and ScrollerButton ([@bramvanderholst](https://github.com/bramvanderholst))
32
+
33
+ - [#1913](https://github.com/graphcommerce-org/graphcommerce/pull/1913) [`61b1987eb`](https://github.com/graphcommerce-org/graphcommerce/commit/61b1987eb8d37566cb4675f0ae962925aef2fc6d) - Fixed RowLinks ScrollerButton alignment when content is shown beside the Scroller ([@bramvanderholst](https://github.com/bramvanderholst))
34
+
35
+ - [#1930](https://github.com/graphcommerce-org/graphcommerce/pull/1930) [`c8d023e9e`](https://github.com/graphcommerce-org/graphcommerce/commit/c8d023e9e874131cd9f8fe192b1fca5fe1a26ee3) - Fix the 'close menu' on search and add the option to secondary menu items ([@StefanAngenent](https://github.com/StefanAngenent))
36
+
37
+ - [#2042](https://github.com/graphcommerce-org/graphcommerce/pull/2042) [`587fd2fe5`](https://github.com/graphcommerce-org/graphcommerce/commit/587fd2fe50c843acd9ffae869372df1df57e0a4b) - Updated german translations ([@action-simon](https://github.com/action-simon))
38
+
39
+ - [#1897](https://github.com/graphcommerce-org/graphcommerce/pull/1897) [`f44d7cec6`](https://github.com/graphcommerce-org/graphcommerce/commit/f44d7cec61766f4768c30d29b211a12f2846e9f6) - Overlays can now be configured to get a bgColor ([@FrankHarland](https://github.com/FrankHarland))
40
+
41
+ - [#1980](https://github.com/graphcommerce-org/graphcommerce/pull/1980) [`275aaaba3`](https://github.com/graphcommerce-org/graphcommerce/commit/275aaaba34c9db1705183393c4327e8f16b09386) - Fixed overlays closing while still dragging - overlays should only close after releasing pointer ([@bramvanderholst](https://github.com/bramvanderholst))
42
+
43
+ - [#1939](https://github.com/graphcommerce-org/graphcommerce/pull/1939) [`0cdccf681`](https://github.com/graphcommerce-org/graphcommerce/commit/0cdccf6817d6a769f59cccb68b1b1b8b4405cbd0) - Make blogListItem date prop optional ([@JoshuaS98](https://github.com/JoshuaS98))
44
+
45
+ - [#1958](https://github.com/graphcommerce-org/graphcommerce/pull/1958) [`0a311b6eb`](https://github.com/graphcommerce-org/graphcommerce/commit/0a311b6ebb5a52e2a7f1d2e6a0fe113904fa2d34) - Left overlays wouldn't properly snap when the overlay gets wider than the viewport ([@paales](https://github.com/paales))
46
+
47
+ - [#2005](https://github.com/graphcommerce-org/graphcommerce/pull/2005) [`950521b4d`](https://github.com/graphcommerce-org/graphcommerce/commit/950521b4d46a1b980636c05d68a8f6aba289e85c) - Footer's grid-area's will only be rendered when the props are passed. ([@LeanderMatse](https://github.com/LeanderMatse))
48
+
49
+ ## 6.2.0-canary.98
50
+
51
+ ## 6.2.0-canary.97
52
+
53
+ ### Patch Changes
54
+
55
+ - [#2042](https://github.com/graphcommerce-org/graphcommerce/pull/2042) [`587fd2fe5`](https://github.com/graphcommerce-org/graphcommerce/commit/587fd2fe50c843acd9ffae869372df1df57e0a4b) - Updated german translations ([@action-simon](https://github.com/action-simon))
56
+
57
+ ## 6.2.0-canary.96
58
+
59
+ ## 6.2.0-canary.95
60
+
61
+ ## 6.2.0-canary.94
62
+
63
+ ## 6.2.0-canary.93
64
+
65
+ ## 6.2.0-canary.92
66
+
67
+ ## 6.2.0-canary.91
68
+
69
+ ## 6.2.0-canary.90
70
+
71
+ ## 6.2.0-canary.89
72
+
73
+ ## 6.2.0-canary.88
74
+
75
+ ## 6.2.0-canary.87
76
+
77
+ ## 6.2.0-canary.86
78
+
79
+ ### Minor Changes
80
+
81
+ - [#2023](https://github.com/graphcommerce-org/graphcommerce/pull/2023) [`7cd53fb2a`](https://github.com/graphcommerce-org/graphcommerce/commit/7cd53fb2aca18ae4a56025b2a015fecbda2e47b7) - Added links to test components on the test page. ([@Jessevdpoel](https://github.com/Jessevdpoel))
82
+
83
+ ## 6.2.0-canary.85
84
+
85
+ ## 6.2.0-canary.84
86
+
87
+ ## 6.2.0-canary.83
88
+
89
+ ## 6.2.0-canary.82
90
+
91
+ ## 6.2.0-canary.81
92
+
93
+ ### Minor Changes
94
+
95
+ - [#2003](https://github.com/graphcommerce-org/graphcommerce/pull/2003) [`609b384de`](https://github.com/graphcommerce-org/graphcommerce/commit/609b384de8cded7a9dd2f29bd516ded810ab970a) - Created a new version of the cart using ActionCards for each CartItem. Different types of CartItems can have different ActionCards. These ActionCards will be overridden with the use of Plugins. An example can be found in the @graphcommerce/magento-product-configurable package. ([@Jessevdpoel](https://github.com/Jessevdpoel))
96
+
97
+ ### Patch Changes
98
+
99
+ - [#2003](https://github.com/graphcommerce-org/graphcommerce/pull/2003) [`e9041802b`](https://github.com/graphcommerce-org/graphcommerce/commit/e9041802b27d6610cc93715ca61acff7f59792e6) - When the switchPoint is zero, make sure the header doesn’t flash when scrolling up on iOS ([@Jessevdpoel](https://github.com/Jessevdpoel))
100
+
101
+ - [#2003](https://github.com/graphcommerce-org/graphcommerce/pull/2003) [`e81a9722b`](https://github.com/graphcommerce-org/graphcommerce/commit/e81a9722b5f581dacb624246c14d74aafbf55893) - Make sure the className is forwarded for ActionCardLayout ([@Jessevdpoel](https://github.com/Jessevdpoel))
102
+
103
+ ## 6.2.0-canary.80
104
+
105
+ ## 6.2.0-canary.79
106
+
107
+ ### Patch Changes
108
+
109
+ - [#2013](https://github.com/graphcommerce-org/graphcommerce/pull/2013) [`c57bdf8a4`](https://github.com/graphcommerce-org/graphcommerce/commit/c57bdf8a4ce936c3eedc4dfada3a464a113ac68a) - Updated @mui and framer-motion packages to latest versions ([@paales](https://github.com/paales))
110
+
111
+ ## 6.2.0-canary.78
112
+
113
+ ## 6.2.0-canary.77
114
+
115
+ ## 6.2.0-canary.76
116
+
117
+ ### Patch Changes
118
+
119
+ - [#2005](https://github.com/graphcommerce-org/graphcommerce/pull/2005) [`950521b4d`](https://github.com/graphcommerce-org/graphcommerce/commit/950521b4d46a1b980636c05d68a8f6aba289e85c) - Footer's grid-area's will only be rendered when the props are passed. ([@LeanderMatse](https://github.com/LeanderMatse))
120
+
121
+ ## 6.2.0-canary.75
122
+
123
+ ## 6.2.0-canary.74
124
+
125
+ ## 6.2.0-canary.73
126
+
127
+ ## 6.2.0-canary.72
128
+
129
+ ## 6.2.0-canary.71
130
+
131
+ ### Patch Changes
132
+
133
+ - [#1980](https://github.com/graphcommerce-org/graphcommerce/pull/1980) [`275aaaba3`](https://github.com/graphcommerce-org/graphcommerce/commit/275aaaba34c9db1705183393c4327e8f16b09386) - Fixed overlays closing while still dragging - overlays should only close after releasing pointer ([@bramvanderholst](https://github.com/bramvanderholst))
134
+
135
+ ## 6.2.0-canary.70
136
+
137
+ ## 6.2.0-canary.69
138
+
139
+ ## 6.2.0-canary.68
140
+
141
+ ## 6.2.0-canary.67
142
+
143
+ ## 6.2.0-canary.66
144
+
145
+ ## 6.2.0-canary.65
146
+
147
+ ## 6.2.0-canary.64
148
+
149
+ ### Patch Changes
150
+
151
+ - [#1998](https://github.com/graphcommerce-org/graphcommerce/pull/1998) [`fdbdcb76f`](https://github.com/graphcommerce-org/graphcommerce/commit/fdbdcb76f918cf74b22253bd641a04c490ceb140) - Fixed users accidentally being able to scroll overlays out of view during open animation ([@bramvanderholst](https://github.com/bramvanderholst))
152
+
153
+ ## 6.2.0-canary.63
154
+
155
+ ## 6.2.0-canary.62
156
+
157
+ ## 6.2.0-canary.61
158
+
159
+ ## 6.2.0-canary.60
160
+
161
+ ## 6.2.0-canary.59
162
+
163
+ ## 6.2.0-canary.58
164
+
165
+ ## 6.2.0-canary.57
166
+
167
+ ## 6.2.0-canary.56
168
+
169
+ ## 6.2.0-canary.55
170
+
171
+ ## 6.2.0-canary.54
172
+
173
+ ## 6.2.0-canary.53
174
+
175
+ ## 6.2.0-canary.52
176
+
177
+ ## 6.2.0-canary.51
178
+
179
+ ## 6.2.0-canary.50
180
+
181
+ ### Minor Changes
182
+
183
+ - [`e55d8c390`](https://github.com/graphcommerce-org/graphcommerce/commit/e55d8c390d90b4bb7bab11c6a99027ac72bd7e3e) - Created a new sidebar layout system, can be configured with productFiltersLayout in the graphcommerce.config.js ([@paales](https://github.com/paales))
184
+
185
+ ## 6.2.0-canary.49
186
+
187
+ ## 6.2.0-canary.48
188
+
189
+ ### Minor Changes
190
+
191
+ - [#1961](https://github.com/graphcommerce-org/graphcommerce/pull/1961) [`4a759c662`](https://github.com/graphcommerce-org/graphcommerce/commit/4a759c66215eaa69edc342b898e05e8f92c3ba9a) - Add Open Graph meta tags to all pages ([@Giovanni-Schroevers](https://github.com/Giovanni-Schroevers))
192
+
193
+ ## 6.2.0-canary.47
194
+
195
+ ## 6.2.0-canary.46
196
+
197
+ ## 6.2.0-canary.45
198
+
199
+ ## 6.2.0-canary.44
200
+
201
+ ## 6.2.0-canary.43
202
+
203
+ ### Patch Changes
204
+
205
+ - [#1965](https://github.com/graphcommerce-org/graphcommerce/pull/1965) [`44b2911d7`](https://github.com/graphcommerce-org/graphcommerce/commit/44b2911d73fb6c6c7188f16d5890ca93877e9aa7) - Added prop to LayoutHeader to be able to hide the back button ([@bramvanderholst](https://github.com/bramvanderholst))
206
+
207
+ ## 6.2.0-canary.42
208
+
209
+ ## 6.2.0-canary.41
210
+
211
+ ### Patch Changes
212
+
213
+ - [#1960](https://github.com/graphcommerce-org/graphcommerce/pull/1960) [`f78caf5a8`](https://github.com/graphcommerce-org/graphcommerce/commit/f78caf5a83683f1ae4b901fb94bd22d50943fa2f) - Updated packages @apollo/client, react-hook-form, @emotion/\*, @lingui/\*, @mui/\* and various others. ([@paales](https://github.com/paales))
214
+
215
+ ## 6.2.0-canary.40
216
+
217
+ ## 6.2.0-canary.39
218
+
219
+ ## 6.2.0-canary.38
220
+
221
+ ### Patch Changes
222
+
223
+ - [#1958](https://github.com/graphcommerce-org/graphcommerce/pull/1958) [`0a311b6eb`](https://github.com/graphcommerce-org/graphcommerce/commit/0a311b6ebb5a52e2a7f1d2e6a0fe113904fa2d34) - Left overlays wouldn't properly snap when the overlay gets wider than the viewport ([@paales](https://github.com/paales))
224
+
225
+ ## 6.2.0-canary.37
226
+
227
+ ## 6.2.0-canary.36
228
+
229
+ ## 6.2.0-canary.35
230
+
231
+ ## 6.2.0-canary.34
232
+
233
+ ## 6.2.0-canary.33
234
+
235
+ ## 6.2.0-canary.32
236
+
237
+ ## 6.2.0-canary.31
238
+
239
+ ## 6.2.0-canary.30
240
+
241
+ ## 6.2.0-canary.29
242
+
243
+ ### Patch Changes
244
+
245
+ - [#1946](https://github.com/graphcommerce-org/graphcommerce/pull/1946) [`87260618b`](https://github.com/graphcommerce-org/graphcommerce/commit/87260618b8abaebd727ff4435abb1aea6ed33730) - Firefox: scroll snap overlays would snap to 0 when the scroll snap targets wouldn’t exactly match the possible targets. ([@paales](https://github.com/paales))
246
+
247
+ ## 6.2.0-canary.28
248
+
249
+ ## 6.2.0-canary.27
250
+
251
+ ## 6.2.0-canary.26
252
+
253
+ ## 6.2.0-canary.25
254
+
255
+ ## 6.2.0-canary.24
256
+
257
+ ## 6.2.0-canary.23
258
+
259
+ ## 6.2.0-canary.22
260
+
261
+ ### Patch Changes
262
+
263
+ - [#1939](https://github.com/graphcommerce-org/graphcommerce/pull/1939) [`0cdccf681`](https://github.com/graphcommerce-org/graphcommerce/commit/0cdccf6817d6a769f59cccb68b1b1b8b4405cbd0) - Make blogListItem date prop optional ([@JoshuaS98](https://github.com/JoshuaS98))
264
+
265
+ ## 6.2.0-canary.21
4
266
 
5
267
  ## 6.2.0-canary.20
6
268