@faststore/core 2.0.113-alpha.0 → 2.0.115-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 (70) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +17 -17
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/eslint/.cache_1gneedd +1 -1
  6. package/.next/cache/next-server.js.nft.json +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/next-server.js.nft.json +1 -1
  12. package/.next/prerender-manifest.json +1 -1
  13. package/.next/react-loadable-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/350.js +1 -1
  16. package/.next/server/chunks/4312.js +1 -1
  17. package/.next/server/chunks/5576.js +7 -0
  18. package/.next/server/chunks/7181.js +14 -14
  19. package/.next/server/chunks/7183.js +7 -0
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  22. package/.next/server/pages/404.js.nft.json +1 -1
  23. package/.next/server/pages/500.js.nft.json +1 -1
  24. package/.next/server/pages/[...slug].js.nft.json +1 -1
  25. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  26. package/.next/server/pages/_app.js +341 -415
  27. package/.next/server/pages/_app.js.nft.json +1 -1
  28. package/.next/server/pages/api/graphql.js +1 -1
  29. package/.next/server/pages/en-US/404.html +2 -2
  30. package/.next/server/pages/en-US/500.html +2 -2
  31. package/.next/server/pages/en-US/account.html +2 -2
  32. package/.next/server/pages/en-US/checkout.html +2 -2
  33. package/.next/server/pages/en-US/login.html +2 -2
  34. package/.next/server/pages/en-US/s.html +2 -2
  35. package/.next/server/pages/en-US.html +2 -2
  36. package/.next/server/pages/s.js.nft.json +1 -1
  37. package/.next/server/pages-manifest.json +1 -1
  38. package/.next/static/chunks/{996.98e590872c51f815.js → 996.0cec637399d0f543.js} +1 -1
  39. package/.next/static/chunks/pages/[slug]/{p-74cef56b58dadbab.js → p-9b24055cb30ee7a8.js} +1 -1
  40. package/.next/static/chunks/pages/_app-1f0f91614f519698.js +1 -0
  41. package/.next/static/chunks/pages/{index-3aae9f104d28d1a1.js → index-218f29b878a08dc6.js} +1 -1
  42. package/.next/static/chunks/{webpack-855ba0986bd6023a.js → webpack-62b0142505600323.js} +1 -1
  43. package/.next/static/css/b32231bee7a654b8.css +1 -0
  44. package/.next/static/{FoOP4frMbgwDj5doLKiqK → p4uTTHaqqJotnVxY7d4Kh}/_buildManifest.js +1 -1
  45. package/.next/trace +64 -64
  46. package/.turbo/turbo-build.log +8 -8
  47. package/@generated/graphql/index.ts +19 -62
  48. package/@generated/graphql/persisted.json +3 -3
  49. package/CHANGELOG.md +10 -0
  50. package/faststore.config.js +8 -0
  51. package/package.json +4 -4
  52. package/src/Layout.tsx +1 -1
  53. package/src/components/common/Navbar/NavLinks.stories.mdx +122 -0
  54. package/src/components/{navigation/NavbarLinks/NavbarLinks.tsx → common/Navbar/NavLinks.tsx} +12 -18
  55. package/src/components/common/Navbar/Navbar.stories.mdx +179 -0
  56. package/src/components/{navigation → common}/Navbar/Navbar.tsx +26 -35
  57. package/src/components/common/Navbar/NavbarSlider.stories.mdx +108 -0
  58. package/src/components/{navigation/NavbarSlider → common/Navbar}/NavbarSlider.tsx +21 -18
  59. package/src/components/common/Navbar/index.ts +3 -0
  60. package/src/components/common/Navbar/navbar-slider.module.scss +53 -0
  61. package/src/components/common/Navbar/navbar.module.scss +204 -0
  62. package/src/components/common/Navbar/navlinks.module.scss +96 -0
  63. package/src/sdk/cart/index.ts +5 -9
  64. package/src/sdk/ui/useScrollDirection.ts +31 -0
  65. package/.next/static/chunks/pages/_app-501ccc46c846c040.js +0 -1
  66. package/.next/static/css/231b8c31105a684a.css +0 -1
  67. package/src/components/navigation/Navbar/index.ts +0 -1
  68. package/src/components/navigation/NavbarLinks/index.ts +0 -1
  69. package/src/components/navigation/NavbarSlider/index.ts +0 -1
  70. /package/.next/static/{FoOP4frMbgwDj5doLKiqK → p4uTTHaqqJotnVxY7d4Kh}/_ssgManifest.js +0 -0
@@ -4,40 +4,6 @@ exports.id = 2888;
4
4
  exports.ids = [2888];
5
5
  exports.modules = {
6
6
 
7
- /***/ 4933:
8
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
-
10
- "use strict";
11
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
12
- /* harmony export */ "C": () => (/* binding */ useScrollDirection)
13
- /* harmony export */ });
14
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
15
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
16
-
17
- const useScrollDirection = () => {
18
- const [scrollDirection, setScrollDirection] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('');
19
- const [isPending, startTransition] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useTransition)();
20
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
21
- let lastScrollY = window.scrollY;
22
- const updateScrollDirection = () => {
23
- const { scrollY } = window;
24
- const direction = scrollY > lastScrollY ? 'down' : 'up';
25
- if (!isPending &&
26
- direction !== scrollDirection &&
27
- (scrollY - lastScrollY > 10 || scrollY - lastScrollY < -10)) {
28
- startTransition(() => setScrollDirection(direction));
29
- }
30
- lastScrollY = scrollY > 0 ? scrollY : 0;
31
- };
32
- window.addEventListener('scroll', updateScrollDirection);
33
- return () => window.removeEventListener('scroll', updateScrollDirection);
34
- }, [isPending, scrollDirection]);
35
- return scrollDirection;
36
- };
37
- //# sourceMappingURL=useScrollDirection.js.map
38
-
39
- /***/ }),
40
-
41
7
  /***/ 6970:
42
8
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
43
9
 
@@ -129,78 +95,6 @@ function SearchProvider({ onSearchSelection, children, term, terms, products, is
129
95
 
130
96
  /***/ }),
131
97
 
132
- /***/ 1852:
133
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
134
-
135
- "use strict";
136
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
137
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
138
- /* harmony export */ });
139
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
140
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
141
-
142
- const Navbar = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function Navbar({ children, scrollDirection, testId = 'fs-navbar', ...otherProps }, ref) {
143
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("header", { "data-fs-navbar": true, ref: ref, "data-testid": testId, "data-fs-navbar-scroll": scrollDirection, ...otherProps }, children));
144
- });
145
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Navbar);
146
- //# sourceMappingURL=Navbar.js.map
147
-
148
- /***/ }),
149
-
150
- /***/ 3563:
151
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
152
-
153
- "use strict";
154
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
155
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
156
- /* harmony export */ });
157
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
158
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
159
-
160
- const NavbarButtons = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function NavbarButtons({ children, searchExpanded, testId = 'fs-navbar-buttons', ...otherProps }, ref) {
161
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-navbar-buttons": true, ref: ref, "data-testid": testId, "data-fs-navbar-search-expanded": searchExpanded, ...otherProps }, children));
162
- });
163
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarButtons);
164
- //# sourceMappingURL=NavbarButtons.js.map
165
-
166
- /***/ }),
167
-
168
- /***/ 4360:
169
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
170
-
171
- "use strict";
172
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
173
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
174
- /* harmony export */ });
175
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
176
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
177
-
178
- const NavbarHeader = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function NavbarHeader({ children, testId = 'fs-navbar-header', ...otherProps }, ref) {
179
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", { "data-fs-navbar-header": true, ref: ref, "data-testid": testId, ...otherProps }, children));
180
- });
181
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarHeader);
182
- //# sourceMappingURL=NavbarHeader.js.map
183
-
184
- /***/ }),
185
-
186
- /***/ 8204:
187
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
188
-
189
- "use strict";
190
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
191
- /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
192
- /* harmony export */ });
193
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
194
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
195
-
196
- const NavbarRow = (0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(function NavbarRow({ children, testId = 'fs-navbar-row', ...otherProps }, ref) {
197
- return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { "data-fs-navbar-row": true, ref: ref, "data-testid": testId, ...otherProps }, children));
198
- });
199
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavbarRow);
200
- //# sourceMappingURL=NavbarRow.js.map
201
-
202
- /***/ }),
203
-
204
98
  /***/ 6399:
205
99
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
206
100
 
@@ -236,13 +130,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
236
130
  /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5045);
237
131
  /* harmony import */ var src_components_common_Alert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(915);
238
132
  /* harmony import */ var src_components_common_Footer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1091);
239
- /* harmony import */ var src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3583);
133
+ /* harmony import */ var src_components_common_Navbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7783);
240
134
  /* harmony import */ var src_components_common_Toast__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7568);
241
135
  /* harmony import */ var src_components_region_RegionBar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3921);
242
136
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(997);
243
137
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__);
244
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__]);
245
- src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
138
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_common_Navbar__WEBPACK_IMPORTED_MODULE_3__]);
139
+ src_components_common_Navbar__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
246
140
 
247
141
 
248
142
 
@@ -277,7 +171,7 @@ function Layout({
277
171
  children: ["Get 10% off today:\xA0", /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx("span", {
278
172
  children: "NEW10"
279
173
  })]
280
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_navigation_Navbar__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_common_Toast__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("main", {
174
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_common_Navbar__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .ZP, {}), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_common_Toast__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("main", {
281
175
  children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_region_RegionBar__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
282
176
  className: "display-mobile"
283
177
  }), children]
@@ -870,100 +764,122 @@ Footer.displayName = 'Footer';
870
764
 
871
765
  /***/ }),
872
766
 
873
- /***/ 7568:
767
+ /***/ 3565:
874
768
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
875
769
 
876
770
  "use strict";
877
771
 
878
772
  // EXPORTS
879
773
  __webpack_require__.d(__webpack_exports__, {
880
- "Z": () => (/* reexport */ common_Toast_Toast)
774
+ "Z": () => (/* binding */ Navbar_NavLinks)
881
775
  });
882
776
 
883
- // EXTERNAL MODULE: external "react"
884
- var external_react_ = __webpack_require__(6689);
885
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
777
+ // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
778
+ var List = __webpack_require__(1329);
779
+ // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
780
+ var Button = __webpack_require__(7578);
886
781
  // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
887
782
  var UIProvider = __webpack_require__(395);
888
- ;// CONCATENATED MODULE: ../components/dist/molecules/Toast/Toast.js
889
-
890
-
891
- function Toast() {
892
- const { toasts, popToast } = (0,UIProvider/* useUI */.l)();
893
- const toast = toasts[toasts.length - 1];
894
- const timeoutRef = (0,external_react_.useRef)();
895
- const [visible, setVisible] = (0,external_react_.useState)(false);
896
- (0,external_react_.useEffect)(() => {
897
- if (!toast) {
898
- return undefined;
899
- }
900
- const timeout = setTimeout(() => setVisible(true), 10);
901
- return () => clearTimeout(timeout);
902
- }, [toast]);
903
- (0,external_react_.useEffect)(() => {
904
- timeoutRef.current = setTimeout(() => setVisible(false), 6e3);
905
- return () => timeoutRef.current && clearTimeout(timeoutRef.current);
906
- }, [toast]);
907
- if (toast === undefined) {
908
- return null;
909
- }
910
- return (external_react_default().createElement("div", { role: "status", "data-fs-toast": true, "data-fs-toast-visible": visible, onTransitionEnd: () => !visible && popToast() },
911
- toast.icon && (external_react_default().createElement("div", { "data-fs-toast-icon-container": true }, external_react_default().isValidElement(toast.icon) && toast.icon)),
912
- external_react_default().createElement("div", { "data-fs-toast-content": true },
913
- toast.title && external_react_default().createElement("p", { "data-fs-toast-title": true }, toast.title),
914
- external_react_default().createElement("p", { "data-fs-toast-message": true }, toast.message))));
915
- }
916
- /* harmony default export */ const Toast_Toast = (Toast);
917
- //# sourceMappingURL=Toast.js.map
918
- // EXTERNAL MODULE: ./src/sdk/cart/index.ts
919
- var cart = __webpack_require__(7566);
783
+ // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
784
+ var Icon = __webpack_require__(5045);
785
+ // EXTERNAL MODULE: ./src/sdk/session/index.ts
786
+ var session = __webpack_require__(5971);
920
787
  // EXTERNAL MODULE: external "react/jsx-runtime"
921
788
  var jsx_runtime_ = __webpack_require__(997);
922
- ;// CONCATENATED MODULE: ./src/components/common/Toast/Toast.tsx
923
-
789
+ ;// CONCATENATED MODULE: ./src/components/region/RegionButton/RegionButton.tsx
924
790
 
925
791
 
926
792
 
927
793
 
928
794
 
929
- function Toast_Toast_Toast() {
795
+ function RegionButton() {
930
796
  const {
931
- toasts,
932
- pushToast
797
+ openModal
933
798
  } = (0,UIProvider/* useUI */.l)();
934
799
  const {
935
- messages
936
- } = (0,cart/* useCart */.jD)();
937
- /**
938
- * Send cart notifications to toast in case the cart
939
- * returns warnings
940
- */
800
+ postalCode
801
+ } = (0,session/* useSession */.kP)();
802
+ return /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, {
803
+ variant: "tertiary",
804
+ size: "small",
805
+ icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
806
+ name: "MapPin",
807
+ width: 24,
808
+ height: 24
809
+ }),
810
+ iconPosition: "left",
811
+ onClick: openModal,
812
+ children: /*#__PURE__*/jsx_runtime_.jsx("span", {
813
+ children: postalCode ?? 'Set your location'
814
+ })
815
+ });
816
+ }
941
817
 
942
- (0,external_react_.useEffect)(() => {
943
- if (!messages) {
944
- return;
945
- }
818
+ /* harmony default export */ const RegionButton_RegionButton = (RegionButton);
819
+ ;// CONCATENATED MODULE: ./src/components/region/RegionButton/index.ts
946
820
 
947
- messages.forEach(message => pushToast({
948
- message: message.text,
949
- status: message.status
950
- }));
951
- }, [messages, pushToast]);
952
- return /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
953
- children: toasts.length > 0 && /*#__PURE__*/jsx_runtime_.jsx(external_react_.Suspense, {
954
- fallback: null,
955
- children: /*#__PURE__*/jsx_runtime_.jsx(Toast_Toast, {})
821
+ // EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
822
+ var Link = __webpack_require__(1093);
823
+ // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
824
+ var mark = __webpack_require__(2541);
825
+ // EXTERNAL MODULE: ./src/components/common/Navbar/navlinks.module.scss
826
+ var navlinks_module = __webpack_require__(844);
827
+ var navlinks_module_default = /*#__PURE__*/__webpack_require__.n(navlinks_module);
828
+ ;// CONCATENATED MODULE: ./src/components/common/Navbar/NavLinks.tsx
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+ const collections = [{
837
+ name: 'Office',
838
+ href: '/office'
839
+ }, {
840
+ name: 'Home Appliances',
841
+ href: '/kitchen---home-appliances'
842
+ }, {
843
+ name: 'Computer and Software',
844
+ href: '/computer---software'
845
+ }, {
846
+ name: 'Technology',
847
+ href: '/technology'
848
+ }];
849
+
850
+ function NavLinks({
851
+ onClickLink,
852
+ classes = ''
853
+ }) {
854
+ return /*#__PURE__*/jsx_runtime_.jsx("nav", {
855
+ className: `${(navlinks_module_default()).fsNavlinks} ${classes}`,
856
+ children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
857
+ className: "layout__content",
858
+ children: [/*#__PURE__*/jsx_runtime_.jsx(RegionButton_RegionButton, {}), /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
859
+ "data-fs-navlinks-list": true,
860
+ children: collections.map(({
861
+ href,
862
+ name
863
+ }) => /*#__PURE__*/jsx_runtime_.jsx("li", {
864
+ "data-fs-navlinks-list-item": true,
865
+ children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
866
+ "data-fs-navlinks-link": true,
867
+ variant: "display",
868
+ href: href,
869
+ onClick: onClickLink,
870
+ children: name
871
+ })
872
+ }, name))
873
+ })]
956
874
  })
957
875
  });
958
876
  }
959
877
 
960
- /* harmony default export */ const common_Toast_Toast = (Toast_Toast_Toast);
961
- ;// CONCATENATED MODULE: ./src/components/common/Toast/index.ts
962
-
878
+ /* harmony default export */ const Navbar_NavLinks = ((0,mark/* mark */.B)(NavLinks));
963
879
 
964
880
  /***/ }),
965
881
 
966
- /***/ 2024:
882
+ /***/ 6259:
967
883
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
968
884
 
969
885
  "use strict";
@@ -973,24 +889,22 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
973
889
  /* harmony export */ });
974
890
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
975
891
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
976
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4933);
977
892
  /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(395);
978
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(1852);
979
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4360);
980
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(8204);
981
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(2765);
982
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(5045);
983
- /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(3563);
893
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2765);
894
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5045);
984
895
  /* harmony import */ var src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1419);
985
896
  /* harmony import */ var src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(475);
986
- /* harmony import */ var src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5811);
897
+ /* harmony import */ var src_components_ui_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7758);
987
898
  /* harmony import */ var src_components_ui_Link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1093);
988
- /* harmony import */ var src_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7758);
899
+ /* harmony import */ var src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5811);
989
900
  /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2541);
990
- /* harmony import */ var _NavbarSlider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5029);
991
- /* harmony import */ var _NavbarLinks__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6670);
992
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(997);
993
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__);
901
+ /* harmony import */ var src_sdk_ui_useScrollDirection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3428);
902
+ /* harmony import */ var _navbar_module_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3460);
903
+ /* harmony import */ var _navbar_module_scss__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_navbar_module_scss__WEBPACK_IMPORTED_MODULE_12__);
904
+ /* harmony import */ var _NavbarSlider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(781);
905
+ /* harmony import */ var _NavLinks__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3565);
906
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(997);
907
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__);
994
908
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__]);
995
909
  src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
996
910
 
@@ -1007,8 +921,10 @@ src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__ = (__webpack_asyn
1007
921
 
1008
922
 
1009
923
 
924
+
925
+
1010
926
  function Navbar() {
1011
- const scrollDirection = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_10__/* .useScrollDirection */ .C)();
927
+ const scrollDirection = (0,src_sdk_ui_useScrollDirection__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)();
1012
928
  const {
1013
929
  openNavbar,
1014
930
  navbar: displayNavbar
@@ -1024,35 +940,39 @@ function Navbar() {
1024
940
  searchMobileRef.current?.inputRef?.focus();
1025
941
  };
1026
942
 
1027
- return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
1028
- className: "layout__content-full",
1029
- scrollDirection: scrollDirection,
1030
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
1031
- children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
943
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("header", {
944
+ "data-fs-navbar": true,
945
+ "data-fs-navbar-scroll": scrollDirection,
946
+ className: `${(_navbar_module_scss__WEBPACK_IMPORTED_MODULE_12___default().fsNavbar)} layout__content-full`,
947
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx("section", {
948
+ "data-fs-navbar-header": true,
949
+ children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
1032
950
  className: "layout__content",
1033
- children: [!searchExpanded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.Fragment, {
1034
- children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
951
+ "data-fs-navbar-row": true,
952
+ children: [!searchExpanded && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.Fragment, {
953
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
1035
954
  "data-fs-navbar-button-menu": true,
1036
955
  "aria-label": "Open Menu",
1037
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
956
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
1038
957
  name: "List",
1039
958
  width: 32,
1040
959
  height: 32
1041
960
  }),
1042
961
  onClick: openNavbar
1043
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
962
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
1044
963
  href: "/",
1045
964
  "aria-label": "Go to Faststore home",
1046
965
  title: "Go to Faststore home",
1047
966
  "data-fs-navbar-logo": true,
1048
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {})
967
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {})
1049
968
  })]
1050
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_17__/* ["default"] */ .Z, {
1051
- searchExpanded: searchExpanded,
1052
- children: [searchExpanded && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z, {
969
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)("div", {
970
+ "data-fs-navbar-buttons": true,
971
+ "data-fs-navbar-search-expanded": searchExpanded,
972
+ children: [searchExpanded && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
1053
973
  "data-fs-button-collapse": true,
1054
974
  "aria-label": "Collapse search bar",
1055
- icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_16__/* ["default"] */ .Z, {
975
+ icon: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
1056
976
  name: "CaretLeft",
1057
977
  width: 32,
1058
978
  height: 32
@@ -1061,21 +981,21 @@ function Navbar() {
1061
981
  setSearchExpanded(false);
1062
982
  searchMobileRef.current?.resetSearchInput();
1063
983
  }
1064
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
984
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_search_SearchInput__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1065
985
  placeholder: "",
1066
986
  ref: searchMobileRef,
1067
987
  testId: "store-input-mobile",
1068
988
  buttonTestId: "store-input-mobile-button",
1069
989
  onSearchClick: handlerExpandSearch
1070
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {
1071
- fallback: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSignInFallback */ .A, {}),
1072
- children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__/* .ButtonSignIn */ .p, {})
1073
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {})]
990
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {
991
+ fallback: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonSignInFallback */ .A, {}),
992
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_3__/* .ButtonSignIn */ .p, {})
993
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(src_components_cart_CartToggle__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, {})]
1074
994
  })]
1075
995
  })
1076
- }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_NavbarLinks__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
1077
- className: "hidden-mobile"
1078
- }), displayNavbar && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx(_NavbarSlider__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {})]
996
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(_NavLinks__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
997
+ classes: "hidden-mobile"
998
+ }), displayNavbar && /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx(_NavbarSlider__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {})]
1079
999
  });
1080
1000
  }
1081
1001
 
@@ -1086,167 +1006,116 @@ __webpack_async_result__();
1086
1006
 
1087
1007
  /***/ }),
1088
1008
 
1089
- /***/ 3583:
1090
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
1009
+ /***/ 781:
1010
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1091
1011
 
1092
1012
  "use strict";
1093
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1094
1013
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1095
- /* harmony export */ "Z": () => (/* reexport safe */ _Navbar__WEBPACK_IMPORTED_MODULE_0__.Z)
1014
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
1096
1015
  /* harmony export */ });
1097
- /* harmony import */ var _Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2024);
1098
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Navbar__WEBPACK_IMPORTED_MODULE_0__]);
1099
- _Navbar__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1016
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1017
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1018
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1021);
1019
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9648);
1020
+ /* harmony import */ var src_components_ui_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7758);
1021
+ /* harmony import */ var src_components_ui_Link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1093);
1022
+ /* harmony import */ var src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5811);
1023
+ /* harmony import */ var src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2541);
1024
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(395);
1025
+ /* harmony import */ var _faststore_ui__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6074);
1026
+ /* harmony import */ var _navbar_slider_module_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(4325);
1027
+ /* harmony import */ var _navbar_slider_module_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_navbar_slider_module_scss__WEBPACK_IMPORTED_MODULE_10__);
1028
+ /* harmony import */ var _NavLinks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3565);
1029
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(997);
1030
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__);
1100
1031
 
1101
- __webpack_async_result__();
1102
- } catch(e) { __webpack_async_result__(e); } });
1103
1032
 
1104
- /***/ }),
1105
1033
 
1106
- /***/ 6670:
1107
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1108
1034
 
1109
- "use strict";
1110
1035
 
1111
- // EXPORTS
1112
- __webpack_require__.d(__webpack_exports__, {
1113
- "Z": () => (/* reexport */ navigation_NavbarLinks_NavbarLinks)
1114
- });
1115
1036
 
1116
- // EXTERNAL MODULE: external "react"
1117
- var external_react_ = __webpack_require__(6689);
1118
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1119
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarLinks/NavbarLinks.js
1120
1037
 
1121
- const NavbarLinks = (0,external_react_.forwardRef)(function NavbarLinks({ children, testId = 'fs-navbar-links', ...otherProps }, ref) {
1122
- return (external_react_default().createElement("nav", { "data-fs-navbar-links": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1123
- });
1124
- /* harmony default export */ const NavbarLinks_NavbarLinks = (NavbarLinks);
1125
- //# sourceMappingURL=NavbarLinks.js.map
1126
- // EXTERNAL MODULE: ../components/dist/atoms/List/List.js
1127
- var List = __webpack_require__(1329);
1128
- // EXTERNAL MODULE: ../components/dist/atoms/Button/Button.js
1129
- var Button = __webpack_require__(7578);
1130
- // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
1131
- var UIProvider = __webpack_require__(395);
1132
- // EXTERNAL MODULE: ../components/dist/atoms/Icon/Icon.js
1133
- var Icon = __webpack_require__(5045);
1134
- // EXTERNAL MODULE: ./src/sdk/session/index.ts
1135
- var session = __webpack_require__(5971);
1136
- // EXTERNAL MODULE: external "react/jsx-runtime"
1137
- var jsx_runtime_ = __webpack_require__(997);
1138
- ;// CONCATENATED MODULE: ./src/components/region/RegionButton/RegionButton.tsx
1139
1038
 
1140
1039
 
1141
1040
 
1142
1041
 
1143
1042
 
1144
- function RegionButton() {
1043
+
1044
+ function NavbarSlider() {
1145
1045
  const {
1146
- openModal
1147
- } = (0,UIProvider/* useUI */.l)();
1046
+ closeNavbar
1047
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_7__/* .useUI */ .l)();
1148
1048
  const {
1149
- postalCode
1150
- } = (0,session/* useSession */.kP)();
1151
- return /*#__PURE__*/jsx_runtime_.jsx(Button/* default */.Z, {
1152
- variant: "tertiary",
1153
- size: "small",
1154
- icon: /*#__PURE__*/jsx_runtime_.jsx(Icon/* default */.Z, {
1155
- name: "MapPin",
1156
- width: 24,
1157
- height: 24
1158
- }),
1159
- iconPosition: "left",
1160
- onClick: openModal,
1161
- children: /*#__PURE__*/jsx_runtime_.jsx("span", {
1162
- children: postalCode ?? 'Set your location'
1163
- })
1049
+ fade,
1050
+ fadeOut
1051
+ } = (0,_faststore_ui__WEBPACK_IMPORTED_MODULE_8__/* .useFadeEffect */ .b)();
1052
+ return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)(_faststore_ui__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
1053
+ isOpen: true,
1054
+ fade: fade,
1055
+ onDismiss: fadeOut,
1056
+ size: "full",
1057
+ direction: "leftSide",
1058
+ className: (_navbar_slider_module_scss__WEBPACK_IMPORTED_MODULE_10___default().fsNavbarSlider),
1059
+ onTransitionEnd: () => fade === 'out' && closeNavbar(),
1060
+ children: [/*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(_faststore_ui__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
1061
+ "data-fs-navbar-slider-header": true,
1062
+ onClose: fadeOut,
1063
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_ui_Link__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
1064
+ href: "/",
1065
+ onClick: fadeOut,
1066
+ "aria-label": "Go to FastStore home",
1067
+ title: "Go to FastStore home",
1068
+ "data-fs-navbar-slider-logo": true,
1069
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_ui_Logo__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {})
1070
+ })
1071
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx("div", {
1072
+ "data-fs-navbar-slider-content": true,
1073
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(_NavLinks__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
1074
+ onClickLink: fadeOut
1075
+ })
1076
+ }), /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx("footer", {
1077
+ "data-fs-navbar-slider-footer": true,
1078
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {
1079
+ fallback: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_1__/* .ButtonSignInFallback */ .A, {}),
1080
+ children: /*#__PURE__*/react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx(src_components_ui_Button__WEBPACK_IMPORTED_MODULE_1__/* .ButtonSignIn */ .p, {})
1081
+ })
1082
+ })]
1164
1083
  });
1165
1084
  }
1166
1085
 
1167
- /* harmony default export */ const RegionButton_RegionButton = (RegionButton);
1168
- ;// CONCATENATED MODULE: ./src/components/region/RegionButton/index.ts
1169
-
1170
- // EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
1171
- var Link = __webpack_require__(1093);
1172
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1173
- var mark = __webpack_require__(2541);
1174
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarLinks/NavbarLinks.tsx
1175
- const _excluded = ["onClickLink"];
1176
-
1177
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1178
-
1179
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1180
-
1181
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1182
-
1183
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
1184
-
1185
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
1186
-
1187
-
1188
-
1189
-
1190
-
1086
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,src_sdk_tests_mark__WEBPACK_IMPORTED_MODULE_4__/* .mark */ .B)(NavbarSlider));
1191
1087
 
1088
+ /***/ }),
1192
1089
 
1193
- const collections = [{
1194
- name: 'Office',
1195
- href: '/office'
1196
- }, {
1197
- name: 'Home Appliances',
1198
- href: '/kitchen---home-appliances'
1199
- }, {
1200
- name: 'Computer and Software',
1201
- href: '/computer---software'
1202
- }, {
1203
- name: 'Technology',
1204
- href: '/technology'
1205
- }];
1090
+ /***/ 7783:
1091
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
1206
1092
 
1207
- function NavbarLinks_NavbarLinks_NavbarLinks(_ref) {
1208
- let {
1209
- onClickLink
1210
- } = _ref,
1211
- otherProps = _objectWithoutProperties(_ref, _excluded);
1093
+ "use strict";
1094
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
1095
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1096
+ /* harmony export */ "ZP": () => (/* reexport safe */ _Navbar__WEBPACK_IMPORTED_MODULE_0__.Z)
1097
+ /* harmony export */ });
1098
+ /* harmony import */ var _Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6259);
1099
+ /* harmony import */ var _NavbarSlider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(781);
1100
+ /* harmony import */ var _NavLinks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3565);
1101
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Navbar__WEBPACK_IMPORTED_MODULE_0__]);
1102
+ _Navbar__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
1212
1103
 
1213
- return /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks_NavbarLinks, _objectSpread(_objectSpread({}, otherProps), {}, {
1214
- children: /*#__PURE__*/(0,jsx_runtime_.jsxs)("div", {
1215
- className: "layout__content",
1216
- children: [/*#__PURE__*/jsx_runtime_.jsx(RegionButton_RegionButton, {}), /*#__PURE__*/jsx_runtime_.jsx(List/* default */.Z, {
1217
- "data-fs-navbar-links-list": true,
1218
- children: collections.map(({
1219
- href,
1220
- name
1221
- }) => /*#__PURE__*/jsx_runtime_.jsx("li", {
1222
- "data-fs-navbar-links-list-item": true,
1223
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
1224
- "data-fs-navbar-links-link": true,
1225
- variant: "display",
1226
- href: href,
1227
- onClick: onClickLink,
1228
- children: name
1229
- })
1230
- }, name))
1231
- })]
1232
- })
1233
- }));
1234
- }
1235
1104
 
1236
- /* harmony default export */ const navigation_NavbarLinks_NavbarLinks = ((0,mark/* mark */.B)(NavbarLinks_NavbarLinks_NavbarLinks));
1237
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarLinks/index.ts
1238
1105
 
1106
+ __webpack_async_result__();
1107
+ } catch(e) { __webpack_async_result__(e); } });
1239
1108
 
1240
1109
  /***/ }),
1241
1110
 
1242
- /***/ 5029:
1111
+ /***/ 7568:
1243
1112
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1244
1113
 
1245
1114
  "use strict";
1246
1115
 
1247
1116
  // EXPORTS
1248
1117
  __webpack_require__.d(__webpack_exports__, {
1249
- "Z": () => (/* reexport */ navigation_NavbarSlider_NavbarSlider)
1118
+ "Z": () => (/* reexport */ common_Toast_Toast)
1250
1119
  });
1251
1120
 
1252
1121
  // EXTERNAL MODULE: external "react"
@@ -1254,102 +1123,80 @@ var external_react_ = __webpack_require__(6689);
1254
1123
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
1255
1124
  // EXTERNAL MODULE: ../components/dist/hooks/UIProvider.js
1256
1125
  var UIProvider = __webpack_require__(395);
1257
- // EXTERNAL MODULE: ../components/dist/hooks/useFadeEffect.js
1258
- var useFadeEffect = __webpack_require__(6074);
1259
- // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOver.js
1260
- var SlideOver = __webpack_require__(1021);
1261
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarSlider/NavbarSlider.js
1262
-
1263
-
1264
- function NavbarSlider({ children, size = 'full', isOpen = true, direction = 'leftSide', testId = 'fs-navbar-slider', ...otherProps }) {
1265
- return (external_react_default().createElement(SlideOver/* default */.Z, { size: "full", isOpen: isOpen, direction: "leftSide", "data-fs-navbar-slider": true, "data-testid": testId, ...otherProps }, children));
1266
- }
1267
- /* harmony default export */ const NavbarSlider_NavbarSlider = (NavbarSlider);
1268
- //# sourceMappingURL=NavbarSlider.js.map
1269
- // EXTERNAL MODULE: ../components/dist/organisms/SlideOver/SlideOverHeader.js
1270
- var SlideOverHeader = __webpack_require__(9648);
1271
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarSlider/NavbarSliderHeader.js
1126
+ ;// CONCATENATED MODULE: ../components/dist/molecules/Toast/Toast.js
1272
1127
 
1273
1128
 
1274
- function NavbarSliderHeader({ children, testId = 'fs-navbar-slider-header', ...otherProps }) {
1275
- return (external_react_default().createElement(SlideOverHeader/* default */.Z, { "data-fs-navbar-slider-header": true, "data-testid": testId, ...otherProps }, children));
1129
+ function Toast() {
1130
+ const { toasts, popToast } = (0,UIProvider/* useUI */.l)();
1131
+ const toast = toasts[toasts.length - 1];
1132
+ const timeoutRef = (0,external_react_.useRef)();
1133
+ const [visible, setVisible] = (0,external_react_.useState)(false);
1134
+ (0,external_react_.useEffect)(() => {
1135
+ if (!toast) {
1136
+ return undefined;
1137
+ }
1138
+ const timeout = setTimeout(() => setVisible(true), 10);
1139
+ return () => clearTimeout(timeout);
1140
+ }, [toast]);
1141
+ (0,external_react_.useEffect)(() => {
1142
+ timeoutRef.current = setTimeout(() => setVisible(false), 6e3);
1143
+ return () => timeoutRef.current && clearTimeout(timeoutRef.current);
1144
+ }, [toast]);
1145
+ if (toast === undefined) {
1146
+ return null;
1147
+ }
1148
+ return (external_react_default().createElement("div", { role: "status", "data-fs-toast": true, "data-fs-toast-visible": visible, onTransitionEnd: () => !visible && popToast() },
1149
+ toast.icon && (external_react_default().createElement("div", { "data-fs-toast-icon-container": true }, external_react_default().isValidElement(toast.icon) && toast.icon)),
1150
+ external_react_default().createElement("div", { "data-fs-toast-content": true },
1151
+ toast.title && external_react_default().createElement("p", { "data-fs-toast-title": true }, toast.title),
1152
+ external_react_default().createElement("p", { "data-fs-toast-message": true }, toast.message))));
1276
1153
  }
1277
- /* harmony default export */ const NavbarSlider_NavbarSliderHeader = (NavbarSliderHeader);
1278
- //# sourceMappingURL=NavbarSliderHeader.js.map
1279
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarSlider/NavbarSliderContent.js
1280
-
1281
- const NavbarSliderContent = (0,external_react_.forwardRef)(function NavbarSliderContent({ children, testId = 'fs-navbar-slider-content', ...otherProps }, ref) {
1282
- return (external_react_default().createElement("div", { "data-fs-navbar-slider-content": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1283
- });
1284
- /* harmony default export */ const NavbarSlider_NavbarSliderContent = (NavbarSliderContent);
1285
- //# sourceMappingURL=NavbarSliderContent.js.map
1286
- ;// CONCATENATED MODULE: ../components/dist/molecules/NavbarSlider/NavbarSliderFooter.js
1287
-
1288
- const NavbarSliderFooter = (0,external_react_.forwardRef)(function NavbarSliderFooter({ children, testId = 'fs-navbar-slider-footer', ...otherProps }, ref) {
1289
- return (external_react_default().createElement("footer", { "data-fs-navbar-slider-footer": true, ref: ref, "data-testid": testId, ...otherProps }, children));
1290
- });
1291
- /* harmony default export */ const NavbarSlider_NavbarSliderFooter = (NavbarSliderFooter);
1292
- //# sourceMappingURL=NavbarSliderFooter.js.map
1293
- // EXTERNAL MODULE: ./src/sdk/tests/mark.tsx
1294
- var mark = __webpack_require__(2541);
1295
- // EXTERNAL MODULE: ./src/components/ui/Link/index.ts + 1 modules
1296
- var Link = __webpack_require__(1093);
1297
- // EXTERNAL MODULE: ./src/components/ui/Logo/index.ts + 1 modules
1298
- var Logo = __webpack_require__(5811);
1299
- // EXTERNAL MODULE: ./src/components/ui/Button/index.ts + 4 modules
1300
- var Button = __webpack_require__(7758);
1301
- // EXTERNAL MODULE: ./src/components/navigation/NavbarLinks/index.ts + 4 modules
1302
- var NavbarLinks = __webpack_require__(6670);
1154
+ /* harmony default export */ const Toast_Toast = (Toast);
1155
+ //# sourceMappingURL=Toast.js.map
1156
+ // EXTERNAL MODULE: ./src/sdk/cart/index.ts
1157
+ var cart = __webpack_require__(7566);
1303
1158
  // EXTERNAL MODULE: external "react/jsx-runtime"
1304
1159
  var jsx_runtime_ = __webpack_require__(997);
1305
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarSlider/NavbarSlider.tsx
1306
-
1307
-
1308
-
1309
-
1160
+ ;// CONCATENATED MODULE: ./src/components/common/Toast/Toast.tsx
1310
1161
 
1311
1162
 
1312
1163
 
1313
1164
 
1314
1165
 
1315
1166
 
1316
- function NavbarSlider_NavbarSlider_NavbarSlider() {
1167
+ function Toast_Toast_Toast() {
1317
1168
  const {
1318
- closeNavbar
1169
+ toasts,
1170
+ pushToast
1319
1171
  } = (0,UIProvider/* useUI */.l)();
1320
1172
  const {
1321
- fade,
1322
- fadeOut
1323
- } = (0,useFadeEffect/* useFadeEffect */.b)();
1324
- return /*#__PURE__*/(0,jsx_runtime_.jsxs)(NavbarSlider_NavbarSlider, {
1325
- fade: fade,
1326
- onDismiss: fadeOut,
1327
- onTransitionEnd: () => fade === 'out' && closeNavbar(),
1328
- children: [/*#__PURE__*/jsx_runtime_.jsx(NavbarSlider_NavbarSliderHeader, {
1329
- onClose: fadeOut,
1330
- children: /*#__PURE__*/jsx_runtime_.jsx(Link/* default */.Z, {
1331
- href: "/",
1332
- onClick: fadeOut,
1333
- "aria-label": "Go to FastStore home",
1334
- title: "Go to FastStore home",
1335
- "data-fs-navbar-slider-logo": true,
1336
- children: /*#__PURE__*/jsx_runtime_.jsx(Logo/* default */.Z, {})
1337
- })
1338
- }), /*#__PURE__*/jsx_runtime_.jsx(NavbarSlider_NavbarSliderContent, {
1339
- children: /*#__PURE__*/jsx_runtime_.jsx(NavbarLinks/* default */.Z, {
1340
- onClickLink: fadeOut
1341
- })
1342
- }), /*#__PURE__*/jsx_runtime_.jsx(NavbarSlider_NavbarSliderFooter, {
1343
- children: /*#__PURE__*/jsx_runtime_.jsx(external_react_.Suspense, {
1344
- fallback: /*#__PURE__*/jsx_runtime_.jsx(Button/* ButtonSignInFallback */.A, {}),
1345
- children: /*#__PURE__*/jsx_runtime_.jsx(Button/* ButtonSignIn */.p, {})
1346
- })
1347
- })]
1173
+ messages
1174
+ } = (0,cart/* useCart */.jD)();
1175
+ /**
1176
+ * Send cart notifications to toast in case the cart
1177
+ * returns warnings
1178
+ */
1179
+
1180
+ (0,external_react_.useEffect)(() => {
1181
+ if (!messages) {
1182
+ return;
1183
+ }
1184
+
1185
+ messages.forEach(message => pushToast({
1186
+ message: message.text,
1187
+ status: message.status
1188
+ }));
1189
+ }, [messages, pushToast]);
1190
+ return /*#__PURE__*/jsx_runtime_.jsx(jsx_runtime_.Fragment, {
1191
+ children: toasts.length > 0 && /*#__PURE__*/jsx_runtime_.jsx(external_react_.Suspense, {
1192
+ fallback: null,
1193
+ children: /*#__PURE__*/jsx_runtime_.jsx(Toast_Toast, {})
1194
+ })
1348
1195
  });
1349
1196
  }
1350
1197
 
1351
- /* harmony default export */ const navigation_NavbarSlider_NavbarSlider = ((0,mark/* mark */.B)(NavbarSlider_NavbarSlider_NavbarSlider));
1352
- ;// CONCATENATED MODULE: ./src/components/navigation/NavbarSlider/index.ts
1198
+ /* harmony default export */ const common_Toast_Toast = (Toast_Toast_Toast);
1199
+ ;// CONCATENATED MODULE: ./src/components/common/Toast/index.ts
1353
1200
 
1354
1201
 
1355
1202
  /***/ }),
@@ -2032,6 +1879,49 @@ function useOnClickOutside(ref, handler) {
2032
1879
 
2033
1880
  /***/ }),
2034
1881
 
1882
+ /***/ 3428:
1883
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1884
+
1885
+ "use strict";
1886
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1887
+ /* harmony export */ "Z": () => (/* binding */ useScrollDirection)
1888
+ /* harmony export */ });
1889
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6689);
1890
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1891
+
1892
+ function useScrollDirection() {
1893
+ const {
1894
+ 0: scrollDirection,
1895
+ 1: setScrollDirection
1896
+ } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)('');
1897
+ const {
1898
+ 0: isPending,
1899
+ 1: startTransition
1900
+ } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useTransition)();
1901
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
1902
+ let lastScrollY = window.scrollY;
1903
+
1904
+ const updateScrollDirection = () => {
1905
+ const {
1906
+ scrollY
1907
+ } = window;
1908
+ const direction = scrollY > lastScrollY ? 'down' : 'up';
1909
+
1910
+ if (!isPending && direction !== scrollDirection && (scrollY - lastScrollY > 10 || scrollY - lastScrollY < -10)) {
1911
+ startTransition(() => setScrollDirection(direction));
1912
+ }
1913
+
1914
+ lastScrollY = scrollY > 0 ? scrollY : 0;
1915
+ };
1916
+
1917
+ window.addEventListener('scroll', updateScrollDirection);
1918
+ return () => window.removeEventListener('scroll', updateScrollDirection);
1919
+ }, [isPending, scrollDirection]);
1920
+ return scrollDirection;
1921
+ }
1922
+
1923
+ /***/ }),
1924
+
2035
1925
  /***/ 1893:
2036
1926
  /***/ ((module) => {
2037
1927
 
@@ -2042,6 +1932,42 @@ module.exports = {
2042
1932
  };
2043
1933
 
2044
1934
 
1935
+ /***/ }),
1936
+
1937
+ /***/ 4325:
1938
+ /***/ ((module) => {
1939
+
1940
+ // Exports
1941
+ module.exports = {
1942
+ "fs-navbar-slider": "navbar-slider_fs-navbar-slider__bAYHh",
1943
+ "fsNavbarSlider": "navbar-slider_fs-navbar-slider__bAYHh"
1944
+ };
1945
+
1946
+
1947
+ /***/ }),
1948
+
1949
+ /***/ 3460:
1950
+ /***/ ((module) => {
1951
+
1952
+ // Exports
1953
+ module.exports = {
1954
+ "fs-navbar": "navbar_fs-navbar__JA7gD",
1955
+ "fsNavbar": "navbar_fs-navbar__JA7gD"
1956
+ };
1957
+
1958
+
1959
+ /***/ }),
1960
+
1961
+ /***/ 844:
1962
+ /***/ ((module) => {
1963
+
1964
+ // Exports
1965
+ module.exports = {
1966
+ "fs-navlinks": "navlinks_fs-navlinks__nbR4q",
1967
+ "fsNavlinks": "navlinks_fs-navlinks__nbR4q"
1968
+ };
1969
+
1970
+
2045
1971
  /***/ }),
2046
1972
 
2047
1973
  /***/ 4635: