@faststore/core 2.2.68 → 2.2.70
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +52 -55
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/eslint/.cache_1gneedd +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/350.js +87 -0
- package/.next/server/chunks/74.js +741 -161
- package/.next/server/chunks/829.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.js +7 -0
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js +7 -0
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +7 -7
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +5 -5
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/account.js +7 -0
- package/.next/server/pages/account.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/checkout.js +7 -0
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +2 -2
- package/.next/server/pages/en-US/500.html +2 -2
- package/.next/server/pages/en-US/account.html +2 -2
- package/.next/server/pages/en-US/checkout.html +2 -2
- package/.next/server/pages/en-US/login.html +2 -2
- package/.next/server/pages/en-US/s.html +2 -2
- package/.next/server/pages/en-US.html +2 -2
- package/.next/server/pages/index.js +6 -6
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js +7 -0
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/s.js +7 -0
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +2 -2
- package/.next/static/9t0jxL0Q7hZ_ItlxJLOtn/_buildManifest.js +1 -0
- package/.next/static/chunks/464-bc1301cb64b71518.js +1 -0
- package/.next/static/chunks/557-4f8a963d7e07e582.js +1 -0
- package/.next/static/chunks/pages/{404-5e6c01505839ca4e.js → 404-8aa1a5d5e6a66a9a.js} +1 -1
- package/.next/static/chunks/pages/{500-92239cdd00a581dd.js → 500-36ea8ba52ee65fe2.js} +1 -1
- package/.next/static/chunks/pages/[...slug]-29c2c581a7246de4.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-d4a3fd33abda8f62.js +1 -0
- package/.next/static/chunks/pages/{account-2d15d4e38b855872.js → account-3741291b1e89c2e7.js} +1 -1
- package/.next/static/chunks/pages/{checkout-e34b1a2945839749.js → checkout-95066de007bdbbdb.js} +1 -1
- package/.next/static/chunks/pages/index-bbd90798e45dc0ff.js +1 -0
- package/.next/static/chunks/pages/{login-1b197c0b0d5ba457.js → login-f0d8dfab2f856c25.js} +1 -1
- package/.next/static/chunks/pages/{s-ed126d7e39eec25b.js → s-e9b663c3e4f84b0a.js} +1 -1
- package/.next/static/chunks/{webpack-6c4b31200fed6646.js → webpack-776cfd646b505dc5.js} +1 -1
- package/.next/static/css/0c844be3b8585e70.css +1 -0
- package/.next/static/css/557d58510041152c.css +1 -0
- package/.next/static/css/a6bcc59f42b42f36.css +1 -0
- package/.next/static/css/{4ee95588f27a8b6b.css → ecdecb8d639a8311.css} +1 -1
- package/.next/trace +82 -82
- package/.turbo/turbo-build.log +14 -13
- package/.turbo/turbo-test.log +10 -10
- package/package.json +9 -9
- package/src/components/cms/GlobalSections.tsx +1 -1
- package/src/components/navigation/Navbar/Navbar.tsx +10 -10
- package/src/components/navigation/NavbarLinks/NavbarLinks.tsx +3 -5
- package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +8 -7
- package/src/components/sections/BannerNewsletter/BannerNewsletter.tsx +5 -2
- package/src/components/sections/Navbar/DefaultComponents.ts +27 -0
- package/src/components/sections/Navbar/OverriddenDefaultNavbar.ts +12 -0
- package/src/components/sections/Newsletter/DefaultComponents.ts +25 -0
- package/src/components/sections/Newsletter/Newsletter.tsx +1 -2
- package/src/components/sections/Newsletter/OverriddenDefaultNewsletter.ts +12 -0
- package/src/components/templates/LandingPage/LandingPage.tsx +3 -3
- package/src/components/ui/Newsletter/Newsletter.tsx +15 -13
- package/src/components/ui/Newsletter/index.ts +3 -0
- package/src/pages/index.tsx +2 -2
- package/src/sdk/overrides/sections.tsx +8 -0
- package/src/typings/overrides.ts +2 -0
- package/.next/server/chunks/796.js +0 -554
- package/.next/static/UqOs8JLqk-fWN0wuNR3He/_buildManifest.js +0 -1
- package/.next/static/chunks/762-1e3db91e2888dca7.js +0 -1
- package/.next/static/chunks/846-d7c6a8d1d102ccf3.js +0 -1
- package/.next/static/chunks/897-b07932d813bb7dac.js +0 -1
- package/.next/static/chunks/pages/[...slug]-36dce5cc96853b94.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-039e11d837033561.js +0 -1
- package/.next/static/chunks/pages/index-a5448a22526e3ea8.js +0 -1
- package/.next/static/css/527e334fa69cf40a.css +0 -1
- package/.next/static/css/563a68087e4de59c.css +0 -1
- package/.next/static/css/c33c62a3d0c77436.css +0 -1
- package/src/components/sections/Navbar/Overrides.tsx +0 -60
- package/src/components/sections/Newsletter/Overrides.tsx +0 -58
- /package/.next/static/{UqOs8JLqk-fWN0wuNR3He → 9t0jxL0Q7hZ_ItlxJLOtn}/_ssgManifest.js +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
$ yarn partytown & yarn generate && next build
|
|
2
|
-
$ faststore generate-graphql -c
|
|
3
2
|
$ partytown copylib ./public/~partytown
|
|
3
|
+
$ faststore generate-graphql -c
|
|
4
4
|
Partytown lib copied to: /home/runner/work/faststore/faststore/packages/core/public/~partytown
|
|
5
5
|
success - GraphQL schema, types, and optimizations successfully generated 🎉
|
|
6
6
|
warn - You have enabled experimental feature (scrollRestoration) in next.config.js.
|
|
@@ -38,27 +38,28 @@ info - Generating static pages (7/7)
|
|
|
38
38
|
info - Finalizing page optimization...
|
|
39
39
|
|
|
40
40
|
Route (pages) Size First Load JS
|
|
41
|
-
┌ ● /
|
|
41
|
+
┌ ● / 2.36 kB 142 kB
|
|
42
|
+
├ └ css/ecdecb8d639a8311.css 5.48 kB
|
|
42
43
|
├ /_app 0 B 83.7 kB
|
|
43
|
-
├ ● /[...slug]
|
|
44
|
-
├ └ css/
|
|
45
|
-
├ ● /[slug]/p
|
|
46
|
-
├ └ css/
|
|
47
|
-
├ ○ /404 1.03 kB
|
|
48
|
-
├ ● /500 1.05 kB
|
|
49
|
-
├ ● /account
|
|
44
|
+
├ ● /[...slug] 4.43 kB 144 kB
|
|
45
|
+
├ └ css/0c844be3b8585e70.css 5.9 kB
|
|
46
|
+
├ ● /[slug]/p 1.74 kB 141 kB
|
|
47
|
+
├ └ css/a6bcc59f42b42f36.css 2.39 kB
|
|
48
|
+
├ ○ /404 1.03 kB 141 kB
|
|
49
|
+
├ ● /500 1.05 kB 141 kB
|
|
50
|
+
├ ● /account 674 B 140 kB
|
|
50
51
|
├ λ /api/graphql 0 B 83.7 kB
|
|
51
52
|
├ λ /api/health/live 0 B 83.7 kB
|
|
52
53
|
├ λ /api/health/ready 0 B 83.7 kB
|
|
53
54
|
├ λ /api/preview 0 B 83.7 kB
|
|
54
|
-
├ ● /checkout
|
|
55
|
-
├ ● /login
|
|
56
|
-
└ ● /s 2.36 kB
|
|
55
|
+
├ ● /checkout 660 B 140 kB
|
|
56
|
+
├ ● /login 984 B 141 kB
|
|
57
|
+
└ ● /s 2.36 kB 142 kB
|
|
57
58
|
+ First Load JS shared by all 86.8 kB
|
|
58
59
|
├ chunks/framework-dfd14d7ce6600b03.js 45.3 kB
|
|
59
60
|
├ chunks/main-e4e873ee741162eb.js 24.2 kB
|
|
60
61
|
├ chunks/pages/_app-30b9666307e4b3b1.js 12.1 kB
|
|
61
|
-
├ chunks/webpack-
|
|
62
|
+
├ chunks/webpack-776cfd646b505dc5.js 2.22 kB
|
|
62
63
|
└ css/5d1f64b61ea581f4.css 3.05 kB
|
|
63
64
|
|
|
64
65
|
λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps)
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
$ jest
|
|
2
|
-
PASS test/server/index.test.ts (21.
|
|
2
|
+
PASS test/server/index.test.ts (21.452 s)
|
|
3
3
|
FastStore GraphQL Layer
|
|
4
4
|
@faststore/api
|
|
5
|
-
✓ should return a valid GraphQL schema (
|
|
5
|
+
✓ should return a valid GraphQL schema (7 ms)
|
|
6
6
|
✓ should return a valid GraphQL schema contain all expected types (4 ms)
|
|
7
|
-
✓ should return a valid GraphQL schema contain all expected queries (
|
|
8
|
-
✓ should return a valid GraphQL schema contain all expected mutations
|
|
7
|
+
✓ should return a valid GraphQL schema contain all expected queries (1 ms)
|
|
8
|
+
✓ should return a valid GraphQL schema contain all expected mutations (1 ms)
|
|
9
9
|
VTEX API Extension
|
|
10
|
-
✓ getTypeDefsFromFolder function should return an Array (
|
|
10
|
+
✓ getTypeDefsFromFolder function should return an Array (6 ms)
|
|
11
11
|
Third Party API Extension
|
|
12
|
-
✓ getTypeDefsFromFolder function should return an Array (
|
|
12
|
+
✓ getTypeDefsFromFolder function should return an Array (10 ms)
|
|
13
13
|
Final Schema after merging
|
|
14
|
-
✓ should return a valid merged GraphQL schema (
|
|
14
|
+
✓ should return a valid merged GraphQL schema (32 ms)
|
|
15
15
|
Envelop
|
|
16
|
-
✓ should exist with its plugins (
|
|
17
|
-
✓ should handle options and execute (
|
|
16
|
+
✓ should exist with its plugins (26 ms)
|
|
17
|
+
✓ should handle options and execute (320 ms)
|
|
18
18
|
|
|
19
19
|
Test Suites: 1 passed, 1 total
|
|
20
20
|
Tests: 9 passed, 9 total
|
|
21
21
|
Snapshots: 0 total
|
|
22
|
-
Time: 21.
|
|
22
|
+
Time: 21.62 s
|
|
23
23
|
Ran all test suites.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/core",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.70",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "vtex/faststore",
|
|
6
6
|
"browserslist": "supports es6-module and not dead",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"@envelop/graphql-jit": "^1.1.1",
|
|
38
38
|
"@envelop/parser-cache": "^2.2.0",
|
|
39
39
|
"@envelop/validation-cache": "^2.2.0",
|
|
40
|
-
"@faststore/api": "^2.2.
|
|
41
|
-
"@faststore/components": "^2.2.
|
|
42
|
-
"@faststore/graphql-utils": "^2.2.
|
|
43
|
-
"@faststore/sdk": "^2.2.
|
|
44
|
-
"@faststore/ui": "^2.2.
|
|
40
|
+
"@faststore/api": "^2.2.69",
|
|
41
|
+
"@faststore/components": "^2.2.69",
|
|
42
|
+
"@faststore/graphql-utils": "^2.2.69",
|
|
43
|
+
"@faststore/sdk": "^2.2.69",
|
|
44
|
+
"@faststore/ui": "^2.2.69",
|
|
45
45
|
"@graphql-codegen/cli": "^3.3.1",
|
|
46
46
|
"@graphql-codegen/typescript": "^3.0.4",
|
|
47
47
|
"@graphql-codegen/typescript-operations": "^3.0.4",
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@cypress/code-coverage": "^3.12.1",
|
|
80
80
|
"@envelop/testing": "^6.0.0",
|
|
81
|
-
"@faststore/cli": "^2.2.
|
|
82
|
-
"@faststore/eslint-config": "^2.2.
|
|
81
|
+
"@faststore/cli": "^2.2.69",
|
|
82
|
+
"@faststore/eslint-config": "^2.2.69",
|
|
83
83
|
"@faststore/lighthouse": "^1.12.32",
|
|
84
84
|
"@lhci/cli": "^0.9.0",
|
|
85
85
|
"@testing-library/cypress": "^10.0.1",
|
|
@@ -123,5 +123,5 @@
|
|
|
123
123
|
"node": "18.19.0",
|
|
124
124
|
"yarn": "1.19.1"
|
|
125
125
|
},
|
|
126
|
-
"gitHead": "
|
|
126
|
+
"gitHead": "f3b56c76db2f97cc9d0e6b81839b4eda151044e8"
|
|
127
127
|
}
|
|
@@ -8,9 +8,9 @@ import Toast from 'src/components/common/Toast'
|
|
|
8
8
|
import RenderSections from './RenderSections'
|
|
9
9
|
|
|
10
10
|
import { OverriddenDefaultAlert as Alert } from 'src/components/sections/Alert/OverriddenDefaultAlert'
|
|
11
|
+
import { OverriddenDefaultNavbar as Navbar } from 'src/components/sections/Navbar/OverriddenDefaultNavbar'
|
|
11
12
|
import { OverriddenDefaultRegionBar as RegionBar } from 'src/components/sections/RegionBar/OverriddenDefaultRegionBar'
|
|
12
13
|
import Footer from 'src/components/sections/Footer'
|
|
13
|
-
import Navbar from 'src/components/sections/Navbar'
|
|
14
14
|
|
|
15
15
|
const RegionModal = lazy(() => import('src/components/region/RegionModal'))
|
|
16
16
|
const CartSidebar = lazy(() => import('src/components/cart/CartSidebar'))
|
|
@@ -12,17 +12,10 @@ import CartToggle from 'src/components/cart/CartToggle'
|
|
|
12
12
|
import Logo from 'src/components/ui/Logo'
|
|
13
13
|
import Link from 'src/components/ui/Link'
|
|
14
14
|
import { ButtonSignIn } from 'src/components/ui/Button'
|
|
15
|
+
import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
|
|
15
16
|
|
|
16
17
|
import type { NavbarProps as SectionNavbarProps } from '../../sections/Navbar'
|
|
17
18
|
|
|
18
|
-
import {
|
|
19
|
-
Navbar as NavbarWrapper,
|
|
20
|
-
NavbarHeader,
|
|
21
|
-
NavbarRow,
|
|
22
|
-
NavbarButtons,
|
|
23
|
-
IconButton,
|
|
24
|
-
} from 'src/components/sections/Navbar/Overrides'
|
|
25
|
-
|
|
26
19
|
export interface NavbarProps {
|
|
27
20
|
/**
|
|
28
21
|
* Logo props.
|
|
@@ -75,9 +68,16 @@ function Navbar({
|
|
|
75
68
|
home: { label: homeLabel },
|
|
76
69
|
signIn: { button: signInButton },
|
|
77
70
|
menu: {
|
|
78
|
-
icon: { icon: menuIcon, alt: menuIconAlt
|
|
71
|
+
icon: { icon: menuIcon, alt: menuIconAlt },
|
|
79
72
|
},
|
|
80
73
|
}: NavbarProps) {
|
|
74
|
+
const {
|
|
75
|
+
Navbar: NavbarWrapper,
|
|
76
|
+
NavbarHeader,
|
|
77
|
+
NavbarRow,
|
|
78
|
+
NavbarButtons,
|
|
79
|
+
IconButton,
|
|
80
|
+
} = useOverrideComponents<'Navbar'>()
|
|
81
81
|
const scrollDirection = useScrollDirection()
|
|
82
82
|
const { openNavbar, navbar: displayNavbar } = useUI()
|
|
83
83
|
const searchMobileRef = useRef<SearchInputRef>(null)
|
|
@@ -107,7 +107,7 @@ function Navbar({
|
|
|
107
107
|
onClick={openNavbar}
|
|
108
108
|
icon={<UIIcon name={menuIcon} width={32} height={32} />}
|
|
109
109
|
{...IconButton.props}
|
|
110
|
-
aria-label={menuIconAlt}
|
|
110
|
+
aria-label={menuIconAlt ?? IconButton.props['aria-label']}
|
|
111
111
|
/>
|
|
112
112
|
<Link
|
|
113
113
|
data-fs-navbar-logo
|
|
@@ -8,11 +8,7 @@ import RegionButton from 'src/components/region/RegionButton'
|
|
|
8
8
|
import type { NavbarProps } from 'src/components/navigation/Navbar'
|
|
9
9
|
|
|
10
10
|
import { mark } from 'src/sdk/tests/mark'
|
|
11
|
-
|
|
12
|
-
import {
|
|
13
|
-
NavbarLinks as NavbarLinksWrapper,
|
|
14
|
-
NavbarLinksList,
|
|
15
|
-
} from 'src/components/sections/Navbar/Overrides'
|
|
11
|
+
import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
|
|
16
12
|
|
|
17
13
|
interface NavbarLinksProps extends UINavbarLinksProps {
|
|
18
14
|
links: NavbarProps['links']
|
|
@@ -29,6 +25,8 @@ function NavbarLinks({
|
|
|
29
25
|
region: { icon: regionIcon, label: regionLabel, shouldDisplayRegion },
|
|
30
26
|
...otherProps
|
|
31
27
|
}: NavbarLinksProps) {
|
|
28
|
+
const { NavbarLinks: NavbarLinksWrapper, NavbarLinksList } =
|
|
29
|
+
useOverrideComponents<'Navbar'>()
|
|
32
30
|
return (
|
|
33
31
|
<NavbarLinksWrapper.Component {...otherProps} {...NavbarLinksWrapper.props}>
|
|
34
32
|
<div data-fs-navbar-links-wrapper data-fs-content="navbar">
|
|
@@ -10,13 +10,7 @@ import { mark } from 'src/sdk/tests/mark'
|
|
|
10
10
|
import type { NavbarProps } from '../Navbar'
|
|
11
11
|
|
|
12
12
|
import styles from './section.module.scss'
|
|
13
|
-
|
|
14
|
-
import {
|
|
15
|
-
NavbarSlider as NavbarSliderWrapper,
|
|
16
|
-
NavbarSliderHeader,
|
|
17
|
-
NavbarSliderContent,
|
|
18
|
-
NavbarSliderFooter,
|
|
19
|
-
} from 'src/components/sections/Navbar/Overrides'
|
|
13
|
+
import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
|
|
20
14
|
|
|
21
15
|
interface NavbarSliderProps {
|
|
22
16
|
logo: NavbarProps['logo']
|
|
@@ -33,6 +27,13 @@ function NavbarSlider({
|
|
|
33
27
|
home: { label: homeLabel },
|
|
34
28
|
signIn: { button: signInButton },
|
|
35
29
|
}: NavbarSliderProps) {
|
|
30
|
+
const {
|
|
31
|
+
NavbarSlider: NavbarSliderWrapper,
|
|
32
|
+
NavbarSliderHeader,
|
|
33
|
+
NavbarSliderContent,
|
|
34
|
+
NavbarSliderFooter,
|
|
35
|
+
} = useOverrideComponents<'Navbar'>()
|
|
36
|
+
|
|
36
37
|
const { closeNavbar } = useUI()
|
|
37
38
|
const { fade, fadeOut } = useFadeEffect()
|
|
38
39
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { BannerTextProps } from 'src/components/sections/BannerText'
|
|
2
1
|
import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
|
|
3
|
-
import
|
|
2
|
+
import type { BannerTextProps } from 'src/components/sections/BannerText'
|
|
3
|
+
|
|
4
|
+
import { OverriddenDefaultNewsletter as Newsletter } from 'src/components/sections/Newsletter/OverriddenDefaultNewsletter'
|
|
5
|
+
import type { NewsletterProps } from 'src/components/sections/Newsletter'
|
|
6
|
+
|
|
4
7
|
import Section from '../Section'
|
|
5
8
|
import styles from './section.module.scss'
|
|
6
9
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Navbar as UINavbar,
|
|
3
|
+
NavbarLinks as UINavbarLinks,
|
|
4
|
+
NavbarLinksList as UINavbarLinksList,
|
|
5
|
+
NavbarSlider as UINavbarSlider,
|
|
6
|
+
NavbarSliderHeader as UINavbarSliderHeader,
|
|
7
|
+
NavbarSliderContent as UINavbarSliderContent,
|
|
8
|
+
NavbarSliderFooter as UINavbarSliderFooter,
|
|
9
|
+
NavbarHeader as UINavbarHeader,
|
|
10
|
+
NavbarRow as UINavbarRow,
|
|
11
|
+
NavbarButtons as UINavbarButtons,
|
|
12
|
+
IconButton as UIIconButton,
|
|
13
|
+
} from '@faststore/ui'
|
|
14
|
+
|
|
15
|
+
export const NavbarDefaultComponents = {
|
|
16
|
+
Navbar: UINavbar,
|
|
17
|
+
NavbarLinks: UINavbarLinks,
|
|
18
|
+
NavbarLinksList: UINavbarLinksList,
|
|
19
|
+
NavbarSlider: UINavbarSlider,
|
|
20
|
+
NavbarSliderHeader: UINavbarSliderHeader,
|
|
21
|
+
NavbarSliderContent: UINavbarSliderContent,
|
|
22
|
+
NavbarSliderFooter: UINavbarSliderFooter,
|
|
23
|
+
NavbarHeader: UINavbarHeader,
|
|
24
|
+
NavbarRow: UINavbarRow,
|
|
25
|
+
NavbarButtons: UINavbarButtons,
|
|
26
|
+
IconButton: UIIconButton,
|
|
27
|
+
} as const
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { override } from 'src/customizations/src/components/overrides/Navbar'
|
|
2
|
+
import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
|
|
3
|
+
import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This component exists to support overrides 1.0
|
|
7
|
+
*
|
|
8
|
+
* This allows users to override the default Navbar section present in the Headless CMS
|
|
9
|
+
*/
|
|
10
|
+
export const OverriddenDefaultNavbar = getOverriddenSection(
|
|
11
|
+
override as SectionOverrideDefinition<'Navbar'>
|
|
12
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Button as UIButton,
|
|
3
|
+
InputField as UIInputField,
|
|
4
|
+
Icon as UIIcon,
|
|
5
|
+
Newsletter as UINewsletter,
|
|
6
|
+
NewsletterContent as UINewsletterContent,
|
|
7
|
+
NewsletterForm as UINewsletterForm,
|
|
8
|
+
NewsletterHeader as UINewsletterHeader,
|
|
9
|
+
} from '@faststore/ui'
|
|
10
|
+
|
|
11
|
+
import { NewsletterAddendum as UINewsletterAddendum } from 'src/components/ui/Newsletter'
|
|
12
|
+
|
|
13
|
+
export const NewsletterDefaultComponents = {
|
|
14
|
+
Button: UIButton,
|
|
15
|
+
HeaderIcon: UIIcon,
|
|
16
|
+
InputFieldEmail: UIInputField,
|
|
17
|
+
InputFieldName: UIInputField,
|
|
18
|
+
Newsletter: UINewsletter,
|
|
19
|
+
NewsletterAddendum: UINewsletterAddendum,
|
|
20
|
+
NewsletterContent: UINewsletterContent,
|
|
21
|
+
NewsletterForm: UINewsletterForm,
|
|
22
|
+
NewsletterHeader: UINewsletterHeader,
|
|
23
|
+
ToastIconError: UIIcon,
|
|
24
|
+
ToastIconSuccess: UIIcon,
|
|
25
|
+
} as const
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NewsletterProps as UINewsletterProps,
|
|
3
3
|
NewsletterAddendumProps as UINewsletterAddendumProps,
|
|
4
|
-
NewsletterFormProps as UINewsletterFormProps,
|
|
5
4
|
NewsletterHeaderProps as UINewsletterHeaderProps,
|
|
6
5
|
} from '@faststore/ui'
|
|
7
6
|
|
|
@@ -74,7 +73,7 @@ export interface NewsletterProps {
|
|
|
74
73
|
toastSubscribeError?: SubscribeMessage
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
function Newsletter({
|
|
78
77
|
icon,
|
|
79
78
|
title,
|
|
80
79
|
description,
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { override } from 'src/customizations/src/components/overrides/Newsletter'
|
|
2
|
+
import { getOverriddenSection } from 'src/sdk/overrides/getOverriddenSection'
|
|
3
|
+
import type { SectionOverrideDefinition } from 'src/typings/overridesDefinition'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This component exists to support overrides 1.0
|
|
7
|
+
*
|
|
8
|
+
* This allows users to override the default Newsletter section present in the Headless CMS
|
|
9
|
+
*/
|
|
10
|
+
export const OverriddenDefaultNewsletter = getOverriddenSection(
|
|
11
|
+
override as SectionOverrideDefinition<'Newsletter'>
|
|
12
|
+
)
|
|
@@ -4,12 +4,12 @@ import type { Locator } from '@vtex/client-cms'
|
|
|
4
4
|
|
|
5
5
|
import MissingContentError from 'src/sdk/error/MissingContentError/MissingContentError'
|
|
6
6
|
import RenderSections from 'src/components/cms/RenderSections'
|
|
7
|
+
import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
|
|
7
8
|
import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
|
|
8
|
-
import
|
|
9
|
+
import { OverriddenDefaultNewsletter as Newsletter } from 'src/components/sections/Newsletter/OverriddenDefaultNewsletter'
|
|
9
10
|
import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
|
|
11
|
+
import Incentives from 'src/components/sections/Incentives'
|
|
10
12
|
import ProductTiles from 'src/components/sections/ProductTiles'
|
|
11
|
-
import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
|
|
12
|
-
import Newsletter from 'src/components/sections/Newsletter'
|
|
13
13
|
import { getPage } from 'src/server/cms'
|
|
14
14
|
import type { PageContentType } from 'src/server/cms'
|
|
15
15
|
import CUSTOM_COMPONENTS from 'src/customizations/src/components'
|
|
@@ -5,21 +5,9 @@ import { useUI } from '@faststore/ui'
|
|
|
5
5
|
import type { InputFieldProps } from '@faststore/ui'
|
|
6
6
|
|
|
7
7
|
import { useNewsletter } from 'src/sdk/newsletter/useNewsletter'
|
|
8
|
+
import { useOverrideComponents } from 'src/sdk/overrides/OverrideContext'
|
|
8
9
|
|
|
9
10
|
import type { NewsletterProps as SectionNewsletterProps } from 'src/components/sections/Newsletter'
|
|
10
|
-
import {
|
|
11
|
-
Newsletter as NewsletterWrapper,
|
|
12
|
-
NewsletterAddendum,
|
|
13
|
-
NewsletterContent,
|
|
14
|
-
NewsletterForm,
|
|
15
|
-
NewsletterHeader,
|
|
16
|
-
ToastIconSuccess,
|
|
17
|
-
ToastIconError,
|
|
18
|
-
HeaderIcon,
|
|
19
|
-
InputFieldName,
|
|
20
|
-
InputFieldEmail,
|
|
21
|
-
Button,
|
|
22
|
-
} from 'src/components/sections/Newsletter/Overrides'
|
|
23
11
|
|
|
24
12
|
export type NewsletterProps = SectionNewsletterProps
|
|
25
13
|
|
|
@@ -38,6 +26,20 @@ function Newsletter({
|
|
|
38
26
|
toastSubscribeError,
|
|
39
27
|
colorVariant,
|
|
40
28
|
}: NewsletterProps) {
|
|
29
|
+
const {
|
|
30
|
+
Button,
|
|
31
|
+
HeaderIcon,
|
|
32
|
+
InputFieldName,
|
|
33
|
+
InputFieldEmail,
|
|
34
|
+
Newsletter: NewsletterWrapper,
|
|
35
|
+
NewsletterAddendum,
|
|
36
|
+
NewsletterContent,
|
|
37
|
+
NewsletterForm,
|
|
38
|
+
NewsletterHeader,
|
|
39
|
+
ToastIconError,
|
|
40
|
+
ToastIconSuccess,
|
|
41
|
+
} = useOverrideComponents<'Newsletter'>()
|
|
42
|
+
|
|
41
43
|
const { pushToast } = useUI()
|
|
42
44
|
const { subscribeUser, loading, data } = useNewsletter()
|
|
43
45
|
|
package/src/pages/index.tsx
CHANGED
|
@@ -6,9 +6,9 @@ import type { ComponentType } from 'react'
|
|
|
6
6
|
import RenderSections from 'src/components/cms/RenderSections'
|
|
7
7
|
import { OverriddenDefaultBannerText as BannerText } from 'src/components/sections/BannerText/OverriddenDefaultBannerText'
|
|
8
8
|
import { OverriddenDefaultHero as Hero } from 'src/components/sections/Hero/OverriddenDefaultHero'
|
|
9
|
-
import
|
|
10
|
-
import Newsletter from 'src/components/sections/Newsletter'
|
|
9
|
+
import { OverriddenDefaultNewsletter as Newsletter } from 'src/components/sections/Newsletter/OverriddenDefaultNewsletter'
|
|
11
10
|
import { OverriddenDefaultProductShelf as ProductShelf } from 'src/components/sections/ProductShelf/OverriddenDefaultProductShelf'
|
|
11
|
+
import Incentives from 'src/components/sections/Incentives'
|
|
12
12
|
import ProductTiles from 'src/components/sections/ProductTiles'
|
|
13
13
|
import CUSTOM_COMPONENTS from 'src/customizations/src/components'
|
|
14
14
|
import { mark } from 'src/sdk/tests/mark'
|
|
@@ -2,6 +2,8 @@ import Alert from '../../components/sections/Alert'
|
|
|
2
2
|
import BannerText from '../../components/sections/BannerText'
|
|
3
3
|
import Breadcrumb from '../../components/sections/Breadcrumb'
|
|
4
4
|
import Hero from '../../components/sections/Hero'
|
|
5
|
+
import Navbar from '../../components/sections/Navbar'
|
|
6
|
+
import Newsletter from '../../components/sections/Newsletter'
|
|
5
7
|
import ProductShelf from '../../components/sections/ProductShelf'
|
|
6
8
|
import CrossSellingShelf from '../../components/sections/CrossSellingShelf'
|
|
7
9
|
import ProductDetails from '../../components/sections/ProductDetails'
|
|
@@ -15,6 +17,8 @@ import { BannerTextDefaultComponents } from '../../components/sections/BannerTex
|
|
|
15
17
|
import { BreadcrumbDefaultComponents } from 'src/components/sections/Breadcrumb/DefaultComponents'
|
|
16
18
|
import { CrossSellingShelfDefaultComponents } from 'src/components/sections/CrossSellingShelf/DefaultComponents'
|
|
17
19
|
import { HeroDefaultComponents } from '../../components/sections/Hero/DefaultComponents'
|
|
20
|
+
import { NavbarDefaultComponents } from 'src/components/sections/Navbar/DefaultComponents'
|
|
21
|
+
import { NewsletterDefaultComponents } from '../../components/sections/Newsletter/DefaultComponents'
|
|
18
22
|
import { ProductDetailsDefaultComponents } from '../../components/sections/ProductDetails/DefaultComponents'
|
|
19
23
|
import { ProductGalleryDefaultComponents } from '../../components/sections/ProductGallery/DefaultComponents'
|
|
20
24
|
import { ProductShelfDefaultComponents } from '../../components/sections/ProductShelf/DefaultComponents'
|
|
@@ -26,6 +30,8 @@ export const Sections = {
|
|
|
26
30
|
Breadcrumb,
|
|
27
31
|
CrossSellingShelf,
|
|
28
32
|
Hero,
|
|
33
|
+
Navbar,
|
|
34
|
+
Newsletter,
|
|
29
35
|
ProductDetails,
|
|
30
36
|
ProductGallery,
|
|
31
37
|
ProductShelf,
|
|
@@ -43,6 +49,8 @@ export const DefaultComponents: Partial<
|
|
|
43
49
|
Breadcrumb: BreadcrumbDefaultComponents,
|
|
44
50
|
CrossSellingShelf: CrossSellingShelfDefaultComponents,
|
|
45
51
|
Hero: HeroDefaultComponents,
|
|
52
|
+
Navbar: NavbarDefaultComponents,
|
|
53
|
+
Newsletter: NewsletterDefaultComponents,
|
|
46
54
|
ProductDetails: ProductDetailsDefaultComponents,
|
|
47
55
|
ProductGallery: ProductGalleryDefaultComponents,
|
|
48
56
|
ProductShelf: ProductShelfDefaultComponents,
|