@faststore/core 2.0.113-alpha.0 → 2.0.114-alpha.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.
Files changed (157) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/CHANGELOG.md +4 -0
  3. package/package.json +4 -4
  4. package/src/Layout.tsx +1 -1
  5. package/src/components/common/Navbar/NavLinks.stories.mdx +122 -0
  6. package/src/components/{navigation/NavbarLinks/NavbarLinks.tsx → common/Navbar/NavLinks.tsx} +12 -18
  7. package/src/components/common/Navbar/Navbar.stories.mdx +179 -0
  8. package/src/components/{navigation → common}/Navbar/Navbar.tsx +26 -35
  9. package/src/components/common/Navbar/NavbarSlider.stories.mdx +108 -0
  10. package/src/components/{navigation/NavbarSlider → common/Navbar}/NavbarSlider.tsx +21 -18
  11. package/src/components/common/Navbar/index.ts +3 -0
  12. package/src/components/common/Navbar/navbar-slider.module.scss +53 -0
  13. package/src/components/common/Navbar/navbar.module.scss +204 -0
  14. package/src/components/common/Navbar/navlinks.module.scss +96 -0
  15. package/src/sdk/ui/useScrollDirection.ts +31 -0
  16. package/.next/BUILD_ID +0 -1
  17. package/.next/build-manifest.json +0 -99
  18. package/.next/cache/.tsbuildinfo +0 -1
  19. package/.next/cache/config.json +0 -7
  20. package/.next/cache/eslint/.cache_1gneedd +0 -1
  21. package/.next/cache/next-server.js.nft.json +0 -1
  22. package/.next/cache/webpack/client-production/0.pack +0 -0
  23. package/.next/cache/webpack/client-production/index.pack +0 -0
  24. package/.next/cache/webpack/server-production/0.pack +0 -0
  25. package/.next/cache/webpack/server-production/index.pack +0 -0
  26. package/.next/export-marker.json +0 -1
  27. package/.next/images-manifest.json +0 -1
  28. package/.next/next-server.js.nft.json +0 -1
  29. package/.next/package.json +0 -1
  30. package/.next/prerender-manifest.json +0 -1
  31. package/.next/react-loadable-manifest.json +0 -42
  32. package/.next/required-server-files.json +0 -1
  33. package/.next/routes-manifest.json +0 -1
  34. package/.next/server/chunks/120.js +0 -435
  35. package/.next/server/chunks/123.js +0 -58
  36. package/.next/server/chunks/1394.js +0 -3801
  37. package/.next/server/chunks/1597.js +0 -151
  38. package/.next/server/chunks/1608.js +0 -515
  39. package/.next/server/chunks/2154.js +0 -206
  40. package/.next/server/chunks/247.js +0 -61
  41. package/.next/server/chunks/2502.js +0 -584
  42. package/.next/server/chunks/2914.js +0 -95
  43. package/.next/server/chunks/2922.js +0 -7293
  44. package/.next/server/chunks/3264.js +0 -67
  45. package/.next/server/chunks/3431.js +0 -7241
  46. package/.next/server/chunks/350.js +0 -142
  47. package/.next/server/chunks/3746.js +0 -250
  48. package/.next/server/chunks/3898.js +0 -240
  49. package/.next/server/chunks/4312.js +0 -674
  50. package/.next/server/chunks/4371.js +0 -1424
  51. package/.next/server/chunks/5098.js +0 -124
  52. package/.next/server/chunks/5335.js +0 -544
  53. package/.next/server/chunks/5576.js +0 -72
  54. package/.next/server/chunks/6280.js +0 -322
  55. package/.next/server/chunks/6465.js +0 -91
  56. package/.next/server/chunks/676.js +0 -32
  57. package/.next/server/chunks/6859.js +0 -959
  58. package/.next/server/chunks/6881.js +0 -320
  59. package/.next/server/chunks/6898.js +0 -149
  60. package/.next/server/chunks/7104.js +0 -235
  61. package/.next/server/chunks/7181.js +0 -664
  62. package/.next/server/chunks/7183.js +0 -72
  63. package/.next/server/chunks/8098.js +0 -246
  64. package/.next/server/chunks/810.js +0 -432
  65. package/.next/server/chunks/8287.js +0 -58
  66. package/.next/server/chunks/9143.js +0 -106
  67. package/.next/server/chunks/9557.js +0 -119
  68. package/.next/server/chunks/9854.js +0 -72
  69. package/.next/server/chunks/font-manifest.json +0 -1
  70. package/.next/server/font-manifest.json +0 -1
  71. package/.next/server/middleware-build-manifest.js +0 -1
  72. package/.next/server/middleware-manifest.json +0 -6
  73. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  74. package/.next/server/pages/404.js.nft.json +0 -1
  75. package/.next/server/pages/500.js.nft.json +0 -1
  76. package/.next/server/pages/[...slug].js +0 -666
  77. package/.next/server/pages/[...slug].js.nft.json +0 -1
  78. package/.next/server/pages/[slug]/p.js +0 -2327
  79. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  80. package/.next/server/pages/_app.js +0 -2442
  81. package/.next/server/pages/_app.js.nft.json +0 -1
  82. package/.next/server/pages/_document.js +0 -304
  83. package/.next/server/pages/_document.js.nft.json +0 -1
  84. package/.next/server/pages/_error.js +0 -164
  85. package/.next/server/pages/_error.js.nft.json +0 -1
  86. package/.next/server/pages/account.js.nft.json +0 -1
  87. package/.next/server/pages/api/graphql.js +0 -315
  88. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  89. package/.next/server/pages/api/preview.js +0 -118
  90. package/.next/server/pages/api/preview.js.nft.json +0 -1
  91. package/.next/server/pages/checkout.js.nft.json +0 -1
  92. package/.next/server/pages/en-US/404.html +0 -81
  93. package/.next/server/pages/en-US/500.html +0 -81
  94. package/.next/server/pages/en-US/account.html +0 -81
  95. package/.next/server/pages/en-US/checkout.html +0 -81
  96. package/.next/server/pages/en-US/login.html +0 -81
  97. package/.next/server/pages/en-US/s.html +0 -81
  98. package/.next/server/pages/en-US.html +0 -81
  99. package/.next/server/pages/en-US.json +0 -1
  100. package/.next/server/pages/index.js +0 -474
  101. package/.next/server/pages/index.js.nft.json +0 -1
  102. package/.next/server/pages/login.js.nft.json +0 -1
  103. package/.next/server/pages/s.js.nft.json +0 -1
  104. package/.next/server/pages-manifest.json +0 -16
  105. package/.next/server/webpack-api-runtime.js +0 -229
  106. package/.next/server/webpack-runtime.js +0 -229
  107. package/.next/static/FoOP4frMbgwDj5doLKiqK/_buildManifest.js +0 -1
  108. package/.next/static/FoOP4frMbgwDj5doLKiqK/_ssgManifest.js +0 -1
  109. package/.next/static/chunks/143.dd8a556e6957baa1.js +0 -1
  110. package/.next/static/chunks/170.79b2f8527e327bca.js +0 -1
  111. package/.next/static/chunks/264-5b07911df63b8601.js +0 -1
  112. package/.next/static/chunks/351-a4e28d64f48c5269.js +0 -1
  113. package/.next/static/chunks/54.e6562383f8a1dfe7.js +0 -1
  114. package/.next/static/chunks/597.fc79494903e8bb84.js +0 -1
  115. package/.next/static/chunks/608.59e69b83f35d9c44.js +0 -1
  116. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  117. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  118. package/.next/static/chunks/781-e1b538e051ff4c3e.js +0 -1
  119. package/.next/static/chunks/98.97381d2021f86cd9.js +0 -1
  120. package/.next/static/chunks/996.98e590872c51f815.js +0 -1
  121. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  122. package/.next/static/chunks/main-9746772201fe3ac1.js +0 -1
  123. package/.next/static/chunks/pages/404-3637ef83b3359df7.js +0 -1
  124. package/.next/static/chunks/pages/500-910883c20541d9ce.js +0 -1
  125. package/.next/static/chunks/pages/[...slug]-29d3b81ee0953846.js +0 -1
  126. package/.next/static/chunks/pages/[slug]/p-74cef56b58dadbab.js +0 -1
  127. package/.next/static/chunks/pages/_app-501ccc46c846c040.js +0 -1
  128. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +0 -1
  129. package/.next/static/chunks/pages/account-b8fc5222ffe89b60.js +0 -1
  130. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +0 -1
  131. package/.next/static/chunks/pages/index-3aae9f104d28d1a1.js +0 -1
  132. package/.next/static/chunks/pages/login-45cc84352bac2408.js +0 -1
  133. package/.next/static/chunks/pages/s-ba2868e14fedb65b.js +0 -1
  134. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  135. package/.next/static/chunks/webpack-855ba0986bd6023a.js +0 -1
  136. package/.next/static/css/1f987650dd4e39d0.css +0 -1
  137. package/.next/static/css/231b8c31105a684a.css +0 -1
  138. package/.next/static/css/3a57acf6e411f24d.css +0 -1
  139. package/.next/static/css/4abccf9803c3c356.css +0 -1
  140. package/.next/static/css/6507cb48401e73a4.css +0 -1
  141. package/.next/static/css/6f4d3e91f1d161a8.css +0 -1
  142. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  143. package/.next/trace +0 -64
  144. package/public/~partytown/debug/partytown-atomics.js +0 -556
  145. package/public/~partytown/debug/partytown-media.js +0 -374
  146. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  147. package/public/~partytown/debug/partytown-sw.js +0 -59
  148. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  149. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  150. package/public/~partytown/debug/partytown.js +0 -72
  151. package/public/~partytown/partytown-atomics.js +0 -2
  152. package/public/~partytown/partytown-media.js +0 -2
  153. package/public/~partytown/partytown-sw.js +0 -2
  154. package/public/~partytown/partytown.js +0 -2
  155. package/src/components/navigation/Navbar/index.ts +0 -1
  156. package/src/components/navigation/NavbarLinks/index.ts +0 -1
  157. package/src/components/navigation/NavbarSlider/index.ts +0 -1
@@ -1,31 +1,34 @@
1
1
  import { Suspense } from 'react'
2
2
  import {
3
- useUI,
4
- useFadeEffect,
5
- NavbarSlider as UINavbarSlider,
6
- NavbarSliderHeader as UINavbarSliderHeader,
7
- NavbarSliderContent as UINavbarSliderContent,
8
- NavbarSliderFooter as UINavbarSliderFooter,
3
+ SlideOver as UISlideOver,
4
+ SlideOverHeader as UISlideOverHeader,
9
5
  } from '@faststore/ui'
10
6
 
11
- import { mark } from 'src/sdk/tests/mark'
7
+ import { ButtonSignIn, ButtonSignInFallback } from 'src/components/ui/Button'
12
8
  import Link from 'src/components/ui/Link'
13
9
  import Logo from 'src/components/ui/Logo'
14
- import { ButtonSignIn, ButtonSignInFallback } from 'src/components/ui/Button'
10
+ import { mark } from 'src/sdk/tests/mark'
11
+ import { useUI } from '@faststore/ui'
12
+ import { useFadeEffect } from '@faststore/ui'
15
13
 
16
- import NavbarLinks from '../NavbarLinks'
14
+ import styles from './navbar-slider.module.scss'
15
+ import NavLinks from './NavLinks'
17
16
 
18
17
  function NavbarSlider() {
19
18
  const { closeNavbar } = useUI()
20
19
  const { fade, fadeOut } = useFadeEffect()
21
20
 
22
21
  return (
23
- <UINavbarSlider
22
+ <UISlideOver
23
+ isOpen
24
24
  fade={fade}
25
25
  onDismiss={fadeOut}
26
+ size="full"
27
+ direction="leftSide"
28
+ className={styles.fsNavbarSlider}
26
29
  onTransitionEnd={() => fade === 'out' && closeNavbar()}
27
30
  >
28
- <UINavbarSliderHeader onClose={fadeOut}>
31
+ <UISlideOverHeader data-fs-navbar-slider-header onClose={fadeOut}>
29
32
  <Link
30
33
  href="/"
31
34
  onClick={fadeOut}
@@ -35,16 +38,16 @@ function NavbarSlider() {
35
38
  >
36
39
  <Logo />
37
40
  </Link>
38
- </UINavbarSliderHeader>
39
- <UINavbarSliderContent>
40
- <NavbarLinks onClickLink={fadeOut} />
41
- </UINavbarSliderContent>
42
- <UINavbarSliderFooter>
41
+ </UISlideOverHeader>
42
+ <div data-fs-navbar-slider-content>
43
+ <NavLinks onClickLink={fadeOut} />
44
+ </div>
45
+ <footer data-fs-navbar-slider-footer>
43
46
  <Suspense fallback={<ButtonSignInFallback />}>
44
47
  <ButtonSignIn />
45
48
  </Suspense>
46
- </UINavbarSliderFooter>
47
- </UINavbarSlider>
49
+ </footer>
50
+ </UISlideOver>
48
51
  )
49
52
  }
50
53
 
@@ -0,0 +1,3 @@
1
+ export { default } from './Navbar'
2
+ export { default as NavbarSlider } from './NavbarSlider'
3
+ export { default as NavLinks } from './NavLinks'
@@ -0,0 +1,53 @@
1
+ .fs-navbar-slider {
2
+ // --------------------------------------------------------
3
+ // Design Tokens for Navbar Slider
4
+ // --------------------------------------------------------
5
+
6
+ // Default properties
7
+ --fs-navbar-slider-padding : var(--fs-spacing-3);
8
+
9
+ // Header
10
+ --fs-navbar-slider-header-padding-bottom : var(--fs-spacing-2);
11
+ --fs-navbar-slider-header-button-margin-right : calc(-1 * var(--fs-spacing-1));
12
+
13
+ // Logo
14
+ --fs-navbar-slider-logo-height : 2.375rem;
15
+ --fs-navbar-slider-logo-padding : 0;
16
+ --fs-navbar-slider-logo-margin-right : var(--fs-spacing-5);
17
+
18
+ // Footer
19
+ --fs-navbar-slider-footer-padding-top : var(--fs-spacing-2);
20
+ --fs-navbar-slider-footer-margin-top : var(--fs-spacing-2);
21
+
22
+ // --------------------------------------------------------
23
+ // Structural Styles
24
+ // --------------------------------------------------------
25
+
26
+ padding: var(--fs-navbar-slider-padding);
27
+
28
+ [data-fs-slide-over-header] {
29
+ padding: 0;
30
+ padding-bottom: var(--fs-navbar-slider-header-padding-bottom);
31
+ }
32
+
33
+ [data-fs-navbar-slider-logo] {
34
+ height: var(--fs-navbar-slider-logo-height);
35
+ padding: var(--fs-navbar-slider-logo-padding);
36
+ margin-right: var(--fs-navbar-slider-logo-margin-right);
37
+
38
+ img {
39
+ width: 100%;
40
+ height: 100%;
41
+ }
42
+ }
43
+
44
+ [data-fs-navbar-slider-footer] {
45
+ padding-top: var(--fs-navbar-slider-footer-padding-top);
46
+ margin-top: var(--fs-navbar-slider-footer-margin-top);
47
+
48
+ [data-fs-button-signin-link] {
49
+ width: fit-content;
50
+ padding-left: 0;
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,204 @@
1
+ @import "src/styles/scaffold";
2
+
3
+ .fs-navbar {
4
+ // --------------------------------------------------------
5
+ // Design Tokens for Navbar
6
+ // --------------------------------------------------------
7
+
8
+ // Default properties
9
+
10
+ --fs-navbar-height-mobile : 3.5rem;
11
+
12
+ --fs-navbar-bkg-color : rgb(255 255 255 / 90%);
13
+
14
+ --fs-navbar-transition-timing : var(--fs-transition-timing);
15
+ --fs-navbar-transition-function : var(--fs-transition-function);
16
+
17
+ --fs-navbar-box-shadow : 0 var(--fs-spacing-0) var(--fs-spacing-3) rgb(0 0 0 / 5%);
18
+
19
+ // Search
20
+ --fs-navbar-search-button-icon-width-mobile : var(--fs-spacing-5);
21
+ --fs-navbar-search-button-icon-height-mobile : var(--fs-navbar-search-button-icon-width-mobile);
22
+
23
+ // Search Expanded
24
+ --fs-navbar-search-expanded-input-wrapper-margin-right : 0.625rem;
25
+ --fs-navbar-search-expanded-input-wrapper-margin-left : var(--fs-spacing-9);
26
+
27
+ --fs-navbar-search-expanded-input-width : calc(100% - var(--fs-spacing-7));
28
+
29
+ --fs-navbar-search-expanded-button-icon-margin-right : -4.063rem;
30
+
31
+ // Header
32
+ --fs-navbar-header-padding : 0 var(--fs-spacing-0);
33
+
34
+ --fs-navbar-header-padding-top-notebook : var(--fs-spacing-1);
35
+ --fs-navbar-header-padding-bottom-notebook : var(--fs-navbar-header-padding-top-notebook);
36
+
37
+ // Logo
38
+ --fs-navbar-logo-border-left-width : var(--fs-border-width);
39
+ --fs-navbar-logo-border-left-color : var(--fs-border-color-light);
40
+
41
+ // --------------------------------------------------------
42
+ // Structural Styles
43
+ // --------------------------------------------------------
44
+
45
+ position: sticky;
46
+ top: 0;
47
+ z-index: var(--fs-z-index-high);
48
+ display: flex;
49
+ flex-direction: column;
50
+ justify-content: center;
51
+ padding: 0;
52
+ box-shadow: var(--fs-navbar-box-shadow);
53
+ transition: top var(--fs-navbar-transition-timing) var(--fs-navbar-transition-function);
54
+
55
+ @include media("<notebook") {
56
+ height: var(--fs-navbar-height-mobile);
57
+ }
58
+
59
+ &[data-fs-navbar-scroll="down"] {
60
+ > nav {
61
+ top: calc(-1 * var(--fs-spacing-3));
62
+ height: 0;
63
+ padding: 0;
64
+ opacity: 0;
65
+ }
66
+ }
67
+
68
+ &[data-fs-navbar-scroll="up"] {
69
+ > nav {
70
+ top: 0;
71
+ opacity: 1;
72
+ }
73
+ }
74
+
75
+ [data-fs-search-input] {
76
+ flex: 1 0 100%;
77
+ order: 2;
78
+
79
+ @include media("<notebook") {
80
+ display: none;
81
+ }
82
+ }
83
+
84
+ [data-fs-navbar-row] {
85
+ display: flex;
86
+ flex-flow: row wrap;
87
+ align-items: center;
88
+ justify-content: space-between;
89
+ width: 100%;
90
+
91
+ @include media("<notebook") {
92
+ padding: 0;
93
+ }
94
+
95
+ @include media(">=notebook") {
96
+ display: grid;
97
+ grid-template-columns: 1fr minmax(auto, 37.5rem) 1fr;
98
+ }
99
+
100
+ [data-fs-navbar-button-menu] {
101
+ @include media(">=notebook") { display: none; }
102
+ }
103
+ }
104
+
105
+ [data-fs-navbar-buttons] {
106
+ display: flex;
107
+ align-items: center;
108
+ justify-content: flex-end;
109
+
110
+ [data-fs-button-signin-link] + [data-fs-cart-toggle] {
111
+ @include media(">=notebook") {
112
+ margin-left: var(--fs-spacing-3);
113
+ }
114
+ }
115
+
116
+ [data-fs-button-signin-link] {
117
+ display: none;
118
+ }
119
+
120
+ @include media(">=notebook") {
121
+ order: 2;
122
+
123
+ [data-fs-button-signin-link] {
124
+ display: inline-flex;
125
+ }
126
+ }
127
+
128
+ [data-fs-search-input] {
129
+ display: none;
130
+ transition: flex var(--fs-navbar-transition-timing) var(--fs-navbar-transition-function);
131
+
132
+ @include media("<notebook") {
133
+ display: flex;
134
+ flex: 0;
135
+ flex-direction: column;
136
+ order: 0;
137
+ width: min-content;
138
+
139
+ &[data-fs-search-input-dropdown-visible="false"] [data-fs-search-input-field-input] {
140
+ width: 0;
141
+ padding: 0;
142
+ border-width: 0;
143
+
144
+ &:hover, &:focus, &:focus-visible &:hover:focus-visible {
145
+ border-width: 0;
146
+ box-shadow: 0 0;
147
+ }
148
+ }
149
+
150
+ [data-fs-icon] {
151
+ margin-right: 0;
152
+ line-height: 0;
153
+
154
+ svg {
155
+ width: var(--fs-navbar-search-button-icon-width-mobile);
156
+ height: var(--fs-navbar-search-button-icon-height-mobile);
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ &[data-fs-navbar-search-expanded="true"] {
163
+ width: 100%;
164
+
165
+ [data-fs-search-input] {
166
+ flex: 1 1;
167
+ margin-right: var(--fs-navbar-search-expanded-input-wrapper-margin-right);
168
+ margin-left: var(--fs-navbar-search-expanded-input-wrapper-margin-left);
169
+
170
+ [data-fs-search-input-field] [data-fs-search-input-field-input] {
171
+ width: var(--fs-navbar-search-expanded-input-width);
172
+ padding: var(--fs-spacing-2);
173
+ }
174
+
175
+ [data-fs-icon] {
176
+ margin-right: 0;
177
+ }
178
+ }
179
+
180
+ [data-fs-icon-button="true"] {
181
+ margin-right: var(--fs-navbar-search-expanded-button-icon-margin-right);
182
+ transition: margin var(--fs-navbar-transition-timing) var(--fs-navbar-transition-function);
183
+ }
184
+ }
185
+ }
186
+
187
+ [data-fs-navbar-header] {
188
+ padding: var(--fs-navbar-header-padding);
189
+ overflow-x: clip;
190
+ background-color: var(--fs-navbar-bkg-color);
191
+ backdrop-filter: blur(10px);
192
+ }
193
+
194
+ [data-fs-navbar-logo] {
195
+ align-self: stretch;
196
+
197
+ @include media("<notebook") {
198
+ padding: var(--fs-spacing-1) 0 var(--fs-spacing-1) var(--fs-spacing-3);
199
+ margin-right: auto;
200
+ margin-left: var(--fs-spacing-0);
201
+ border-left: var(--fs-navbar-logo-border-left-width) solid var(--fs-navbar-logo-border-left-color);
202
+ }
203
+ }
204
+ }
@@ -0,0 +1,96 @@
1
+ @import "src/styles/scaffold";
2
+
3
+ .fs-navlinks {
4
+ // --------------------------------------------------------
5
+ // Design Tokens for Navlinks
6
+ // --------------------------------------------------------
7
+
8
+ --fs-navlinks-padding-top-notebook : var(--fs-spacing-1);
9
+ --fs-navlinks-padding-bottom-notebook : var(--fs-navlinks-padding-top-notebook);
10
+
11
+ --fs-navlinks-bkg-color : var(--fs-color-body-bkg);
12
+
13
+ --fs-navlinks-transition-property : var(--fs-transition-property);
14
+ --fs-navlinks-transition-timing : var(--fs-transition-timing);
15
+ --fs-navlinks-transition-function : var(--fs-transition-function);
16
+
17
+ --fs-navlinks-border-top-width-mobile : var(--fs-border-width);
18
+ --fs-navlinks-border-top-color-mobile : var(--fs-border-color-light);
19
+ --fs-navlinks-border-bottom-width-mobile : var(--fs-navlinks-border-top-width-mobile);
20
+ --fs-navlinks-border-bottom-color-mobile : var(--fs-navlinks-border-top-color-mobile);
21
+
22
+ // Link
23
+ --fs-navlinks-link-width-notebook : auto;
24
+ --fs-navlinks-link-padding-notebook : 0 var(--fs-spacing-0);
25
+
26
+ // List
27
+ --fs-navlinks-list-padding-left-notebook : var(--fs-spacing-3);
28
+ --fs-navlinks-list-margin-left-notebook : var(--fs-spacing-2);
29
+ --fs-navlinks-list-border-left-width-notebook : var(--fs-border-width);
30
+ --fs-navlinks-list-border-left-color-notebook : var(--fs-border-color-light);
31
+
32
+ // --------------------------------------------------------
33
+ // Structural Styles
34
+ // --------------------------------------------------------
35
+
36
+ position: relative;
37
+ background-color: var(--fs-navlinks-bkg-color);
38
+ transition: var(--fs-navlinks-transition-property) var(--fs-navlinks-transition-timing) var(--fs-navlinks-transition-function);
39
+
40
+ @include media("<notebook") { padding: 0; }
41
+
42
+ @include media(">=notebook") {
43
+ z-index: var(--fs-z-index-below);
44
+
45
+ > div {
46
+ display: flex;
47
+ align-items: center;
48
+ }
49
+ }
50
+
51
+ [data-fs-navlinks-list-item] {
52
+ display: flex;
53
+ align-items: center;
54
+ }
55
+
56
+ [data-fs-button] {
57
+ margin-left: calc(-1 * var(--fs-spacing-1));
58
+
59
+ // TODO: remove this after navbar 2.0 is implemented
60
+ &[data-fs-button-variant="tertiary"] {
61
+ color: var(--fs-color-text-display);
62
+ }
63
+
64
+ @include media("<notebook") {
65
+ display: none;
66
+ }
67
+ }
68
+
69
+ [data-fs-navlinks-link] {
70
+ display: block;
71
+ width: 100%;
72
+ }
73
+
74
+ @include media(">=notebook") {
75
+ padding-top: var(--fs-navlinks-padding-top-notebook);
76
+ padding-bottom: var(--fs-navlinks-padding-bottom-notebook);
77
+
78
+ [data-fs-navlinks-list] {
79
+ display: flex;
80
+ column-gap: var(--fs-spacing-3);
81
+ padding-left: var(--fs-navlinks-list-padding-left-notebook);
82
+ margin-left: var(--fs-navlinks-list-margin-left-notebook);
83
+ border-left: var(--fs-navlinks-list-border-left-width-notebook) solid var(--fs-navlinks-list-border-left-color-notebook);
84
+ }
85
+
86
+ [data-fs-navlinks-link] {
87
+ width: var(--fs-navlinks-link-width-notebook);
88
+ padding: var(--fs-navlinks-link-padding-notebook);
89
+ }
90
+ }
91
+
92
+ @include media("<notebook") {
93
+ border-top: var(--fs-navlinks-border-top-width-mobile) solid var(--fs-navlinks-border-top-color-mobile);
94
+ border-bottom: var(--fs-navlinks-border-bottom-width-mobile) solid var(--fs-navlinks-border-bottom-color-mobile);
95
+ }
96
+ }
@@ -0,0 +1,31 @@
1
+ import { useEffect, useState, useTransition } from 'react'
2
+
3
+ export default function useScrollDirection() {
4
+ const [scrollDirection, setScrollDirection] = useState<string>('')
5
+ const [isPending, startTransition] = useTransition()
6
+
7
+ useEffect(() => {
8
+ let lastScrollY = window.scrollY
9
+
10
+ const updateScrollDirection = () => {
11
+ const { scrollY } = window
12
+ const direction = scrollY > lastScrollY ? 'down' : 'up'
13
+
14
+ if (
15
+ !isPending &&
16
+ direction !== scrollDirection &&
17
+ (scrollY - lastScrollY > 10 || scrollY - lastScrollY < -10)
18
+ ) {
19
+ startTransition(() => setScrollDirection(direction))
20
+ }
21
+
22
+ lastScrollY = scrollY > 0 ? scrollY : 0
23
+ }
24
+
25
+ window.addEventListener('scroll', updateScrollDirection)
26
+
27
+ return () => window.removeEventListener('scroll', updateScrollDirection)
28
+ }, [isPending, scrollDirection])
29
+
30
+ return scrollDirection
31
+ }
package/.next/BUILD_ID DELETED
@@ -1 +0,0 @@
1
- FoOP4frMbgwDj5doLKiqK
@@ -1,99 +0,0 @@
1
- {
2
- "polyfillFiles": [
3
- "static/chunks/polyfills-c67a75d1b6f99dc8.js"
4
- ],
5
- "devFiles": [],
6
- "ampDevFiles": [],
7
- "lowPriorityFiles": [
8
- "static/FoOP4frMbgwDj5doLKiqK/_buildManifest.js",
9
- "static/FoOP4frMbgwDj5doLKiqK/_ssgManifest.js"
10
- ],
11
- "rootMainFiles": [],
12
- "pages": {
13
- "/": [
14
- "static/chunks/webpack-855ba0986bd6023a.js",
15
- "static/chunks/framework-dfd14d7ce6600b03.js",
16
- "static/chunks/main-9746772201fe3ac1.js",
17
- "static/chunks/351-a4e28d64f48c5269.js",
18
- "static/chunks/781-e1b538e051ff4c3e.js",
19
- "static/css/3a57acf6e411f24d.css",
20
- "static/chunks/pages/index-3aae9f104d28d1a1.js"
21
- ],
22
- "/404": [
23
- "static/chunks/webpack-855ba0986bd6023a.js",
24
- "static/chunks/framework-dfd14d7ce6600b03.js",
25
- "static/chunks/main-9746772201fe3ac1.js",
26
- "static/chunks/351-a4e28d64f48c5269.js",
27
- "static/chunks/pages/404-3637ef83b3359df7.js"
28
- ],
29
- "/500": [
30
- "static/chunks/webpack-855ba0986bd6023a.js",
31
- "static/chunks/framework-dfd14d7ce6600b03.js",
32
- "static/chunks/main-9746772201fe3ac1.js",
33
- "static/chunks/351-a4e28d64f48c5269.js",
34
- "static/chunks/pages/500-910883c20541d9ce.js"
35
- ],
36
- "/[...slug]": [
37
- "static/chunks/webpack-855ba0986bd6023a.js",
38
- "static/chunks/framework-dfd14d7ce6600b03.js",
39
- "static/chunks/main-9746772201fe3ac1.js",
40
- "static/chunks/351-a4e28d64f48c5269.js",
41
- "static/chunks/264-5b07911df63b8601.js",
42
- "static/css/1f987650dd4e39d0.css",
43
- "static/chunks/pages/[...slug]-29d3b81ee0953846.js"
44
- ],
45
- "/[slug]/p": [
46
- "static/chunks/webpack-855ba0986bd6023a.js",
47
- "static/chunks/framework-dfd14d7ce6600b03.js",
48
- "static/chunks/main-9746772201fe3ac1.js",
49
- "static/chunks/351-a4e28d64f48c5269.js",
50
- "static/chunks/781-e1b538e051ff4c3e.js",
51
- "static/css/4abccf9803c3c356.css",
52
- "static/chunks/pages/[slug]/p-74cef56b58dadbab.js"
53
- ],
54
- "/_app": [
55
- "static/chunks/webpack-855ba0986bd6023a.js",
56
- "static/chunks/framework-dfd14d7ce6600b03.js",
57
- "static/chunks/main-9746772201fe3ac1.js",
58
- "static/css/231b8c31105a684a.css",
59
- "static/chunks/pages/_app-501ccc46c846c040.js"
60
- ],
61
- "/_error": [
62
- "static/chunks/webpack-855ba0986bd6023a.js",
63
- "static/chunks/framework-dfd14d7ce6600b03.js",
64
- "static/chunks/main-9746772201fe3ac1.js",
65
- "static/chunks/pages/_error-a7a0c1d9bfbb4f38.js"
66
- ],
67
- "/account": [
68
- "static/chunks/webpack-855ba0986bd6023a.js",
69
- "static/chunks/framework-dfd14d7ce6600b03.js",
70
- "static/chunks/main-9746772201fe3ac1.js",
71
- "static/chunks/351-a4e28d64f48c5269.js",
72
- "static/chunks/pages/account-b8fc5222ffe89b60.js"
73
- ],
74
- "/checkout": [
75
- "static/chunks/webpack-855ba0986bd6023a.js",
76
- "static/chunks/framework-dfd14d7ce6600b03.js",
77
- "static/chunks/main-9746772201fe3ac1.js",
78
- "static/chunks/351-a4e28d64f48c5269.js",
79
- "static/chunks/pages/checkout-f8cb7cb22225ef9d.js"
80
- ],
81
- "/login": [
82
- "static/chunks/webpack-855ba0986bd6023a.js",
83
- "static/chunks/framework-dfd14d7ce6600b03.js",
84
- "static/chunks/main-9746772201fe3ac1.js",
85
- "static/chunks/351-a4e28d64f48c5269.js",
86
- "static/chunks/pages/login-45cc84352bac2408.js"
87
- ],
88
- "/s": [
89
- "static/chunks/webpack-855ba0986bd6023a.js",
90
- "static/chunks/framework-dfd14d7ce6600b03.js",
91
- "static/chunks/main-9746772201fe3ac1.js",
92
- "static/chunks/351-a4e28d64f48c5269.js",
93
- "static/chunks/264-5b07911df63b8601.js",
94
- "static/css/6f4d3e91f1d161a8.css",
95
- "static/chunks/pages/s-ba2868e14fedb65b.js"
96
- ]
97
- },
98
- "ampFirstPages": []
99
- }