@graphcommerce/framer-next-pages 8.1.0-canary.8 → 9.0.0-canary.100
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/CHANGELOG.md +196 -8
- package/README.md +1 -1
- package/components/Pages.tsx +17 -3
- package/context/pageContext.ts +10 -2
- package/hooks/useHistoryLink.ts +8 -15
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,197 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 9.0.0-canary.100
|
|
4
|
+
|
|
5
|
+
## 9.0.0-canary.99
|
|
6
|
+
|
|
7
|
+
## 9.0.0-canary.98
|
|
8
|
+
|
|
9
|
+
## 9.0.0-canary.97
|
|
10
|
+
|
|
11
|
+
## 9.0.0-canary.96
|
|
12
|
+
|
|
13
|
+
## 9.0.0-canary.95
|
|
14
|
+
|
|
15
|
+
## 9.0.0-canary.94
|
|
16
|
+
|
|
17
|
+
## 9.0.0-canary.93
|
|
18
|
+
|
|
19
|
+
## 9.0.0-canary.92
|
|
20
|
+
|
|
21
|
+
## 9.0.0-canary.91
|
|
22
|
+
|
|
23
|
+
## 9.0.0-canary.90
|
|
24
|
+
|
|
25
|
+
## 9.0.0-canary.89
|
|
26
|
+
|
|
27
|
+
## 9.0.0-canary.88
|
|
28
|
+
|
|
29
|
+
## 9.0.0-canary.87
|
|
30
|
+
|
|
31
|
+
## 9.0.0-canary.86
|
|
32
|
+
|
|
33
|
+
## 9.0.0-canary.85
|
|
34
|
+
|
|
35
|
+
## 9.0.0-canary.84
|
|
36
|
+
|
|
37
|
+
## 9.0.0-canary.83
|
|
38
|
+
|
|
39
|
+
## 9.0.0-canary.82
|
|
40
|
+
|
|
41
|
+
## 9.0.0-canary.81
|
|
42
|
+
|
|
43
|
+
## 9.0.0-canary.80
|
|
44
|
+
|
|
45
|
+
## 9.0.0-canary.79
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- [#2356](https://github.com/graphcommerce-org/graphcommerce/pull/2356) [`d283901`](https://github.com/graphcommerce-org/graphcommerce/commit/d283901cb537c3e7bf6f5500e9f52f47f452cf10) - Loading an overlay page directly would animate in the overlay instead of directly showing it. ([@paales](https://github.com/paales))
|
|
50
|
+
|
|
51
|
+
## 9.0.0-canary.78
|
|
52
|
+
|
|
53
|
+
## 9.0.0-canary.77
|
|
54
|
+
|
|
55
|
+
## 9.0.0-canary.76
|
|
56
|
+
|
|
57
|
+
## 9.0.0-canary.75
|
|
58
|
+
|
|
59
|
+
## 9.0.0-canary.74
|
|
60
|
+
|
|
61
|
+
## 9.0.0-canary.73
|
|
62
|
+
|
|
63
|
+
## 9.0.0-canary.72
|
|
64
|
+
|
|
65
|
+
## 9.0.0-canary.71
|
|
66
|
+
|
|
67
|
+
## 9.0.0-canary.70
|
|
68
|
+
|
|
69
|
+
## 9.0.0-canary.69
|
|
70
|
+
|
|
71
|
+
## 9.0.0-canary.68
|
|
72
|
+
|
|
73
|
+
## 9.0.0-canary.67
|
|
74
|
+
|
|
75
|
+
## 9.0.0-canary.66
|
|
76
|
+
|
|
77
|
+
## 9.0.0-canary.65
|
|
78
|
+
|
|
79
|
+
## 9.0.0-canary.64
|
|
80
|
+
|
|
81
|
+
## 9.0.0-canary.63
|
|
82
|
+
|
|
83
|
+
## 9.0.0-canary.62
|
|
84
|
+
|
|
85
|
+
## 9.0.0-canary.61
|
|
86
|
+
|
|
87
|
+
## 9.0.0-canary.60
|
|
88
|
+
|
|
89
|
+
## 9.0.0-canary.59
|
|
90
|
+
|
|
91
|
+
## 9.0.0-canary.58
|
|
92
|
+
|
|
93
|
+
## 9.0.0-canary.57
|
|
94
|
+
|
|
95
|
+
## 9.0.0-canary.56
|
|
96
|
+
|
|
97
|
+
## 9.0.0-canary.55
|
|
98
|
+
|
|
99
|
+
## 9.0.0-canary.54
|
|
100
|
+
|
|
101
|
+
## 8.1.0-canary.53
|
|
102
|
+
|
|
103
|
+
## 8.1.0-canary.52
|
|
104
|
+
|
|
105
|
+
## 8.1.0-canary.51
|
|
106
|
+
|
|
107
|
+
## 8.1.0-canary.50
|
|
108
|
+
|
|
109
|
+
## 8.1.0-canary.49
|
|
110
|
+
|
|
111
|
+
## 8.1.0-canary.48
|
|
112
|
+
|
|
113
|
+
## 8.1.0-canary.47
|
|
114
|
+
|
|
115
|
+
## 8.1.0-canary.46
|
|
116
|
+
|
|
117
|
+
## 8.1.0-canary.45
|
|
118
|
+
|
|
119
|
+
## 8.1.0-canary.44
|
|
120
|
+
|
|
121
|
+
## 8.1.0-canary.43
|
|
122
|
+
|
|
123
|
+
## 8.1.0-canary.42
|
|
124
|
+
|
|
125
|
+
## 8.1.0-canary.41
|
|
126
|
+
|
|
127
|
+
## 8.1.0-canary.40
|
|
128
|
+
|
|
129
|
+
## 8.1.0-canary.39
|
|
130
|
+
|
|
131
|
+
## 8.1.0-canary.38
|
|
132
|
+
|
|
133
|
+
## 8.1.0-canary.37
|
|
134
|
+
|
|
135
|
+
## 8.1.0-canary.36
|
|
136
|
+
|
|
137
|
+
### Minor Changes
|
|
138
|
+
|
|
139
|
+
- [#2284](https://github.com/graphcommerce-org/graphcommerce/pull/2284) [`5ee712c`](https://github.com/graphcommerce-org/graphcommerce/commit/5ee712c962c6b0dda903172660d70cf433321b7e) - Prevent checkout on looping back and forth with the cart overlay when navigating directly to the checkout. ([@Giovanni-Schroevers](https://github.com/Giovanni-Schroevers))
|
|
140
|
+
|
|
141
|
+
## 8.1.0-canary.35
|
|
142
|
+
|
|
143
|
+
## 8.1.0-canary.34
|
|
144
|
+
|
|
145
|
+
## 8.1.0-canary.33
|
|
146
|
+
|
|
147
|
+
## 8.1.0-canary.32
|
|
148
|
+
|
|
149
|
+
## 8.1.0-canary.31
|
|
150
|
+
|
|
151
|
+
## 8.1.0-canary.30
|
|
152
|
+
|
|
153
|
+
## 8.1.0-canary.29
|
|
154
|
+
|
|
155
|
+
## 8.1.0-canary.28
|
|
156
|
+
|
|
157
|
+
## 8.1.0-canary.27
|
|
158
|
+
|
|
159
|
+
## 8.1.0-canary.26
|
|
160
|
+
|
|
161
|
+
## 8.1.0-canary.25
|
|
162
|
+
|
|
163
|
+
## 8.1.0-canary.24
|
|
164
|
+
|
|
165
|
+
## 8.1.0-canary.23
|
|
166
|
+
|
|
167
|
+
## 8.1.0-canary.22
|
|
168
|
+
|
|
169
|
+
## 8.1.0-canary.21
|
|
170
|
+
|
|
171
|
+
## 8.1.0-canary.20
|
|
172
|
+
|
|
173
|
+
## 8.1.0-canary.19
|
|
174
|
+
|
|
175
|
+
## 8.1.0-canary.18
|
|
176
|
+
|
|
177
|
+
## 8.1.0-canary.17
|
|
178
|
+
|
|
179
|
+
## 8.1.0-canary.16
|
|
180
|
+
|
|
181
|
+
## 8.1.0-canary.15
|
|
182
|
+
|
|
183
|
+
## 8.1.0-canary.14
|
|
184
|
+
|
|
185
|
+
## 8.1.0-canary.13
|
|
186
|
+
|
|
187
|
+
## 8.1.0-canary.12
|
|
188
|
+
|
|
189
|
+
## 8.1.0-canary.11
|
|
190
|
+
|
|
191
|
+
## 8.1.0-canary.10
|
|
192
|
+
|
|
193
|
+
## 8.1.0-canary.9
|
|
194
|
+
|
|
3
195
|
## 8.1.0-canary.8
|
|
4
196
|
|
|
5
197
|
## 8.1.0-canary.7
|
|
@@ -22,8 +214,7 @@
|
|
|
22
214
|
|
|
23
215
|
### Patch Changes
|
|
24
216
|
|
|
25
|
-
- [#2236](https://github.com/graphcommerce-org/graphcommerce/pull/2236) [`85fb916`](https://github.com/graphcommerce-org/graphcommerce/commit/85fb916e5ec2a1456a93a59bf92a5f414fee8595) - Solve issue where the inert prop wouldnt be properly forwarded
|
|
26
|
-
([@paales](https://github.com/paales))
|
|
217
|
+
- [#2236](https://github.com/graphcommerce-org/graphcommerce/pull/2236) [`85fb916`](https://github.com/graphcommerce-org/graphcommerce/commit/85fb916e5ec2a1456a93a59bf92a5f414fee8595) - Solve issue where the inert prop wouldnt be properly forwarded ([@paales](https://github.com/paales))
|
|
27
218
|
|
|
28
219
|
## 8.0.5-canary.10
|
|
29
220
|
|
|
@@ -43,8 +234,7 @@
|
|
|
43
234
|
|
|
44
235
|
### Patch Changes
|
|
45
236
|
|
|
46
|
-
- [#2236](https://github.com/graphcommerce-org/graphcommerce/pull/2236) [`85fb916`](https://github.com/graphcommerce-org/graphcommerce/commit/85fb916e5ec2a1456a93a59bf92a5f414fee8595) - Solve issue where the inert prop wouldnt be properly forwarded
|
|
47
|
-
([@paales](https://github.com/paales))
|
|
237
|
+
- [#2236](https://github.com/graphcommerce-org/graphcommerce/pull/2236) [`85fb916`](https://github.com/graphcommerce-org/graphcommerce/commit/85fb916e5ec2a1456a93a59bf92a5f414fee8595) - Solve issue where the inert prop wouldnt be properly forwarded ([@paales](https://github.com/paales))
|
|
48
238
|
|
|
49
239
|
## 8.0.5-canary.2
|
|
50
240
|
|
|
@@ -56,8 +246,7 @@
|
|
|
56
246
|
|
|
57
247
|
### Patch Changes
|
|
58
248
|
|
|
59
|
-
- [#2228](https://github.com/graphcommerce-org/graphcommerce/pull/2228) [`0c0cacb`](https://github.com/graphcommerce-org/graphcommerce/commit/0c0cacb8725f0a626ea5d3acf154d83c433c3eb7) - apply correct type for the inert property
|
|
60
|
-
([@carlocarels90](https://github.com/carlocarels90))
|
|
249
|
+
- [#2228](https://github.com/graphcommerce-org/graphcommerce/pull/2228) [`0c0cacb`](https://github.com/graphcommerce-org/graphcommerce/commit/0c0cacb8725f0a626ea5d3acf154d83c433c3eb7) - apply correct type for the inert property ([@carlocarels90](https://github.com/carlocarels90))
|
|
61
250
|
|
|
62
251
|
## 8.0.4-canary.1
|
|
63
252
|
|
|
@@ -65,8 +254,7 @@
|
|
|
65
254
|
|
|
66
255
|
### Patch Changes
|
|
67
256
|
|
|
68
|
-
- [#2228](https://github.com/graphcommerce-org/graphcommerce/pull/2228) [`0c0cacb`](https://github.com/graphcommerce-org/graphcommerce/commit/0c0cacb8725f0a626ea5d3acf154d83c433c3eb7) - apply correct type for the inert property
|
|
69
|
-
([@carlocarels90](https://github.com/carlocarels90))
|
|
257
|
+
- [#2228](https://github.com/graphcommerce-org/graphcommerce/pull/2228) [`0c0cacb`](https://github.com/graphcommerce-org/graphcommerce/commit/0c0cacb8725f0a626ea5d3acf154d83c433c3eb7) - apply correct type for the inert property ([@carlocarels90](https://github.com/carlocarels90))
|
|
70
258
|
|
|
71
259
|
## 8.0.3
|
|
72
260
|
|
package/README.md
CHANGED
package/components/Pages.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import { PrivateRouteInfo } from 'next/dist/shared/lib/router/router'
|
|
|
5
5
|
import { AppPropsType } from 'next/dist/shared/lib/utils'
|
|
6
6
|
import { NextRouter, Router } from 'next/router'
|
|
7
7
|
import { useEffect, useRef, useState } from 'react'
|
|
8
|
-
import { pageContext } from '../context/pageContext'
|
|
8
|
+
import { Direction, pageContext } from '../context/pageContext'
|
|
9
9
|
import type { PageComponent, PageItem, UpPage } from '../types'
|
|
10
10
|
import { Page } from './Page'
|
|
11
11
|
import { PageRenderer } from './PageRenderer'
|
|
@@ -56,7 +56,8 @@ export function FramerNextPages(props: PagesProps) {
|
|
|
56
56
|
const idx = routerKeys.indexOf(key)
|
|
57
57
|
|
|
58
58
|
const prevHistory = useRef<number>(-1)
|
|
59
|
-
|
|
59
|
+
let direction: Direction = idx >= prevHistory.current ? 1 : -1
|
|
60
|
+
if (prevHistory.current === -1) direction = 0
|
|
60
61
|
|
|
61
62
|
prevHistory.current = idx
|
|
62
63
|
|
|
@@ -102,8 +103,21 @@ export function FramerNextPages(props: PagesProps) {
|
|
|
102
103
|
|
|
103
104
|
let renderItems = [...items.current]
|
|
104
105
|
|
|
106
|
+
/** Removes the page if the up path equls the path of a overlay and there is no history present **/
|
|
107
|
+
const upPath = (renderItems.at(0)?.pageProps?.up as { href: string; title: string })?.href
|
|
108
|
+
const overlayPath = renderItems.at(-1)?.routerContext.pageInfo.asPath
|
|
109
|
+
if (
|
|
110
|
+
renderItems.length === 2 &&
|
|
111
|
+
upPath &&
|
|
112
|
+
overlayPath &&
|
|
113
|
+
upPath === overlayPath &&
|
|
114
|
+
renderItems.at(-1)?.overlayGroup
|
|
115
|
+
) {
|
|
116
|
+
renderItems = renderItems.slice(1)
|
|
117
|
+
}
|
|
118
|
+
|
|
105
119
|
/** We need to render back to the last item that isn't an overlay. */
|
|
106
|
-
const plainIdx = findPlainIdx(
|
|
120
|
+
const plainIdx = findPlainIdx(renderItems)
|
|
107
121
|
|
|
108
122
|
const shouldLoadFb = plainIdx === -1 && typeof window !== 'undefined' && !fb
|
|
109
123
|
|
package/context/pageContext.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { createContext } from 'react'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* - `-1` -> Navigated back
|
|
5
|
+
* - `0` -> Loaded the page
|
|
6
|
+
* - `1` -> Navigated forward
|
|
7
|
+
*/
|
|
8
|
+
export type Direction = -1 | 0 | 1
|
|
4
9
|
|
|
5
10
|
export type PageContext = {
|
|
6
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Number of steps we need to navigate back to go to the last non-overlay page and thus close the
|
|
13
|
+
* overlay
|
|
14
|
+
*/
|
|
7
15
|
closeSteps: number
|
|
8
16
|
|
|
9
17
|
/** Number of steps we can go back inside the the current overlay */
|
package/hooks/useHistoryLink.ts
CHANGED
|
@@ -10,24 +10,17 @@ export function useHistoryLink(options: UseHistoryLink) {
|
|
|
10
10
|
const prevRouter = usePrevPageRouter()
|
|
11
11
|
const router = useRouter()
|
|
12
12
|
|
|
13
|
-
const onClick =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
: undefined
|
|
13
|
+
const onClick = (e: ClickEvent) => {
|
|
14
|
+
e.preventDefault()
|
|
15
|
+
|
|
16
|
+
if (href === prevRouter?.asPath) return router.back()
|
|
17
|
+
return router.replace(href)
|
|
18
|
+
}
|
|
20
19
|
|
|
21
20
|
return { onClick, href }
|
|
22
21
|
}
|
|
23
22
|
|
|
24
23
|
export function useHistoryGo(options: UseHistoryLink) {
|
|
25
|
-
const { onClick
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return () => {
|
|
29
|
-
if (onClick) onClick({ preventDefault: () => {} })
|
|
30
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
31
|
-
else router.push(href)
|
|
32
|
-
}
|
|
24
|
+
const { onClick } = useHistoryLink(options)
|
|
25
|
+
return () => onClick({ preventDefault: () => {} })
|
|
33
26
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@graphcommerce/framer-next-pages",
|
|
3
3
|
"homepage": "https://www.graphcommerce.org/",
|
|
4
4
|
"repository": "github:graphcommerce-org/graphcommerce",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "9.0.0-canary.100",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"prettier": "@graphcommerce/prettier-config-pwa",
|
|
8
8
|
"eslintConfig": {
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@graphcommerce/eslint-config-pwa": "^
|
|
16
|
-
"@graphcommerce/framer-utils": "^
|
|
17
|
-
"@graphcommerce/prettier-config-pwa": "^
|
|
18
|
-
"@graphcommerce/typescript-config-pwa": "^
|
|
15
|
+
"@graphcommerce/eslint-config-pwa": "^9.0.0-canary.100",
|
|
16
|
+
"@graphcommerce/framer-utils": "^9.0.0-canary.100",
|
|
17
|
+
"@graphcommerce/prettier-config-pwa": "^9.0.0-canary.100",
|
|
18
|
+
"@graphcommerce/typescript-config-pwa": "^9.0.0-canary.100",
|
|
19
19
|
"framer-motion": "^10.0.0",
|
|
20
20
|
"next": "*",
|
|
21
21
|
"react": "^18.2.0",
|