@faststore/core 3.99.0 → 4.0.0-dev.1

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 (543) hide show
  1. package/.turbo/turbo-generate.log +29 -0
  2. package/.turbo/turbo-test.log +47 -16
  3. package/@generated/cached-operations.json +24 -0
  4. package/@generated/gql.ts +134 -210
  5. package/@generated/graphql.ts +1628 -3037
  6. package/@generated/index.ts +1 -1
  7. package/@generated/persisted-documents.json +1 -1
  8. package/@generated/schema.graphql +1854 -1743
  9. package/CHANGELOG.md +12 -2
  10. package/README.md +2 -1
  11. package/api/index.ts +6 -7
  12. package/cms/faststore/base.jsonc +1 -1
  13. package/cms/faststore/components/cms_component__alert.jsonc +5 -1
  14. package/cms/faststore/components/cms_component__bannernewsletter.jsonc +5 -1
  15. package/cms/faststore/components/cms_component__bannertext.jsonc +5 -1
  16. package/cms/faststore/components/cms_component__breadcrumb.jsonc +16 -4
  17. package/cms/faststore/components/cms_component__cartsidebar.jsonc +21 -1
  18. package/cms/faststore/components/cms_component__children.jsonc +5 -1
  19. package/cms/faststore/components/cms_component__crosssellingshelf.jsonc +5 -1
  20. package/cms/faststore/components/cms_component__emptystate.jsonc +8 -3
  21. package/cms/faststore/components/cms_component__footer.jsonc +9 -3
  22. package/cms/faststore/components/cms_component__hero.jsonc +5 -1
  23. package/cms/faststore/components/cms_component__incentives.jsonc +5 -1
  24. package/cms/faststore/components/cms_component__navbar.jsonc +139 -1
  25. package/cms/faststore/components/cms_component__newsletter.jsonc +5 -1
  26. package/cms/faststore/components/cms_component__productdetails.jsonc +33 -1
  27. package/cms/faststore/components/cms_component__productgallery.jsonc +113 -15
  28. package/cms/faststore/components/cms_component__productshelf.jsonc +5 -1
  29. package/cms/faststore/components/cms_component__producttiles.jsonc +5 -1
  30. package/cms/faststore/components/cms_component__regionbar.jsonc +5 -1
  31. package/cms/faststore/components/cms_component__regionmodal.jsonc +5 -1
  32. package/cms/faststore/components/cms_component__regionpopover.jsonc +5 -1
  33. package/cms/faststore/components/cms_component__scrolltotopbutton.jsonc +29 -0
  34. package/cms/faststore/components/cms_component__search.jsonc +5 -1
  35. package/cms/faststore/content-types.json +115 -0
  36. package/cms/faststore/pages/cms_content_type__globalsections.jsonc +52 -0
  37. package/cms/faststore/pages/cms_content_type__home.jsonc +6 -0
  38. package/cms/faststore/pages/cms_content_type__landingpage.jsonc +8 -1
  39. package/cms/faststore/pages/cms_content_type__pdp.jsonc +6 -0
  40. package/cms/faststore/pages/cms_content_type__plp.jsonc +17 -0
  41. package/cms/faststore/pages/cms_content_type__search.jsonc +17 -0
  42. package/cms/faststore/schema.json +547 -43
  43. package/cms/faststore/sections.json +330 -21
  44. package/discovery.config.default.js +49 -3
  45. package/next-env.d.ts +2 -1
  46. package/next.config.js +48 -26
  47. package/package.json +47 -60
  48. package/public/icons.svg +5 -1
  49. package/scripts/i18n.js +76 -0
  50. package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +2 -1
  51. package/src/components/account/MyAccountDrawer/OrganizationDrawer/section.module.scss +25 -24
  52. package/src/components/account/MyAccountDrawer/ProfileSummary/profile-summary.scss +8 -6
  53. package/src/components/account/MyAccountLayout/styles.scss +16 -12
  54. package/src/components/account/MyAccountMenu/styles.scss +21 -22
  55. package/src/components/account/MyAccountUserDetails/styles.module.scss +4 -2
  56. package/src/components/account/components/MyAccountAccordion/styles.scss +4 -2
  57. package/src/components/account/components/MyAccountHeader/styles.scss +3 -1
  58. package/src/components/account/components/MyAccountTable/styles.scss +6 -4
  59. package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/section.module.scss +21 -19
  60. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/MyAccountListOrdersTable.tsx +3 -1
  61. package/src/components/account/orders/MyAccountListOrders/MyAccountListOrdersTable/styles.scss +5 -3
  62. package/src/components/account/orders/MyAccountListOrders/styles.module.scss +25 -22
  63. package/src/components/account/orders/MyAccountOrderDetails/MyAccountBudgetsCard/styles.scss +7 -5
  64. package/src/components/account/orders/MyAccountOrderDetails/MyAccountDeliveryOptionAccordion/styles.scss +7 -5
  65. package/src/components/account/orders/MyAccountOrderDetails/MyAccountMoreInformationCard/styles.scss +3 -1
  66. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActionModal/styles.module.scss +8 -6
  67. package/src/components/account/orders/MyAccountOrderDetails/MyAccountOrderActions/styles.scss +3 -1
  68. package/src/components/account/orders/MyAccountOrderDetails/MyAccountStatusCard/styles.scss +8 -6
  69. package/src/components/account/orders/MyAccountOrderDetails/section.module.scss +36 -43
  70. package/src/components/account/profile/profile.module.scss +3 -1
  71. package/src/components/account/section.module.scss +3 -1
  72. package/src/components/account/security/styles.module.scss +14 -8
  73. package/src/components/cart/CartSidebar/CartSidebar.tsx +10 -1
  74. package/src/components/cart/CartSidebar/section.module.scss +19 -17
  75. package/src/components/cart/EmptyCart/EmptyCart.tsx +12 -4
  76. package/src/components/cms/GlobalSections.tsx +12 -12
  77. package/src/components/cms/RenderSections.tsx +10 -2
  78. package/src/components/cms/plp/Components.ts +9 -0
  79. package/src/components/common/Alert/section.module.scss +10 -5
  80. package/src/components/common/PreviewTag/section.module.scss +48 -40
  81. package/src/components/common/Toast/section.module.scss +4 -2
  82. package/src/components/localization/LocalizationSelector/LocalizationSelector.tsx +320 -0
  83. package/src/components/localization/LocalizationSelector/index.ts +1 -0
  84. package/src/components/localization/LocalizationSelector/section.module.scss +18 -0
  85. package/src/components/localization/index.ts +1 -0
  86. package/src/components/navigation/Navbar/Navbar.tsx +49 -1
  87. package/src/components/navigation/NavbarSlider/NavbarSlider.tsx +19 -1
  88. package/src/components/navigation/NavbarSlider/section.module.scss +12 -10
  89. package/src/components/product/OutOfStock/OutOfStock.tsx +6 -1
  90. package/src/components/product/ProductCard/ProductCard.tsx +1 -1
  91. package/src/components/region/RegionModal/RegionModal.tsx +4 -1
  92. package/src/components/region/RegionModal/section.module.scss +10 -8
  93. package/src/components/region/RegionPopover/RegionPopover.tsx +6 -5
  94. package/src/components/region/RegionPopover/section.module.scss +9 -7
  95. package/src/components/region/RegionSlider/RegionSlider.tsx +5 -2
  96. package/src/components/region/RegionSlider/section.module.scss +16 -13
  97. package/src/components/search/Filter/FilterDeliveryMethodFacet.tsx +5 -5
  98. package/src/components/search/Filter/FilterDesktop.tsx +13 -4
  99. package/src/components/search/Filter/FilterSlider.tsx +18 -6
  100. package/src/components/search/Filter/section.module.scss +21 -19
  101. package/src/components/search/SearchDropdown/SearchDropdown.tsx +9 -7
  102. package/src/components/search/SearchHistory/SearchHistory.tsx +7 -2
  103. package/src/components/search/SearchInput/SearchInput.tsx +21 -8
  104. package/src/components/search/SearchProductItem/SearchProductItem.tsx +10 -3
  105. package/src/components/search/SearchTop/SearchTop.tsx +30 -24
  106. package/src/components/search/Sort/Sort.tsx +17 -19
  107. package/src/components/sections/Alert/Alert.tsx +6 -1
  108. package/src/components/sections/BannerNewsletter/section.module.scss +6 -4
  109. package/src/components/sections/BannerText/section.module.scss +5 -3
  110. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +6 -2
  111. package/src/components/sections/Breadcrumb/section.module.scss +7 -5
  112. package/src/components/sections/EmptyState/section.module.scss +5 -3
  113. package/src/components/sections/Footer/Footer.tsx +1 -5
  114. package/src/components/sections/Footer/section.module.scss +10 -8
  115. package/src/components/sections/Hero/Hero.tsx +3 -1
  116. package/src/components/sections/Hero/section.module.scss +6 -4
  117. package/src/components/sections/Incentives/section.module.scss +5 -3
  118. package/src/components/sections/Navbar/Navbar.tsx +45 -0
  119. package/src/components/sections/Navbar/section.module.scss +34 -33
  120. package/src/components/sections/Newsletter/section.module.scss +10 -8
  121. package/src/components/sections/ProductDetails/ProductDetails.tsx +23 -1
  122. package/src/components/sections/ProductDetails/section.module.scss +32 -30
  123. package/src/components/sections/ProductGallery/EmptyGallery.tsx +13 -16
  124. package/src/components/sections/ProductGallery/section.module.scss +42 -39
  125. package/src/components/sections/ProductShelf/section.module.scss +22 -17
  126. package/src/components/sections/ProductTiles/section.module.scss +15 -13
  127. package/src/components/sections/RegionBar/section.module.scss +5 -3
  128. package/src/components/sections/ScrollToTopButton/ScrollToTopButton.tsx +4 -3
  129. package/src/components/sections/ScrollToTopButton/section.module.scss +4 -2
  130. package/src/components/templates/LandingPage/LandingPage.tsx +22 -16
  131. package/src/components/templates/ProductListingPage/ProductListing.tsx +1 -13
  132. package/src/components/templates/ProductListingPage/ProductListingPage.tsx +8 -3
  133. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +14 -11
  134. package/src/components/ui/Button/ButtonSignIn/ButtonSignIn.tsx +2 -1
  135. package/src/components/ui/Button/ButtonSignIn/ButtonSignInFallback/ButtonSignInFallback.tsx +3 -1
  136. package/src/components/ui/Link/Link.tsx +19 -2
  137. package/src/components/ui/LinkButton/LinkButton.tsx +28 -0
  138. package/src/components/ui/LinkButton/index.ts +2 -0
  139. package/src/components/ui/LocalizationButton/LocalizationButton.tsx +124 -0
  140. package/src/components/ui/LocalizationButton/index.ts +1 -0
  141. package/src/components/ui/PickupPoints/PickupPointCards.tsx +2 -4
  142. package/src/components/ui/ProductComparison/ProductComparisonSidebar.tsx +34 -17
  143. package/src/components/ui/ProductDescription/ProductDescription.tsx +8 -3
  144. package/src/components/ui/ProductDetails/AddToCartLoadingSkeleton.tsx +6 -2
  145. package/src/components/ui/ProductDetails/ProductDetailsSettings.tsx +17 -5
  146. package/src/components/ui/ProductGallery/ProductGallery.tsx +7 -3
  147. package/src/components/ui/ProductGallery/ProductGalleryPage.tsx +1 -3
  148. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +6 -1
  149. package/src/customizations/src/styles/custom-mixins.scss +0 -2
  150. package/src/experimental/index.ts +26 -0
  151. package/src/experimental/myAccountServerSideProps.ts +11 -2
  152. package/src/experimental/searchServerSideFunctions/getServerSideProps.ts +13 -7
  153. package/src/experimental/searchServerSideFunctions/getStaticProps.ts +5 -4
  154. package/src/instrumentation.ts +20 -6
  155. package/src/pages/404.tsx +5 -4
  156. package/src/pages/500.tsx +5 -4
  157. package/src/pages/[...slug].tsx +7 -4
  158. package/src/pages/[slug]/p.tsx +26 -8
  159. package/src/pages/_app.tsx +9 -1
  160. package/src/pages/api/fs/logout.ts +3 -2
  161. package/src/pages/api/graphql.ts +7 -23
  162. package/src/pages/api/preview.ts +21 -8
  163. package/src/pages/checkout.tsx +15 -5
  164. package/src/pages/index.tsx +18 -9
  165. package/src/pages/login.tsx +5 -4
  166. package/src/pages/pvt/account/403.tsx +11 -2
  167. package/src/pages/pvt/account/404.tsx +13 -3
  168. package/src/pages/pvt/account/index.tsx +6 -4
  169. package/src/pages/pvt/account/orders/[id].tsx +11 -3
  170. package/src/pages/pvt/account/orders/index.tsx +11 -3
  171. package/src/pages/pvt/account/profile.tsx +11 -2
  172. package/src/pages/pvt/account/security.tsx +11 -2
  173. package/src/pages/pvt/account/user-details.tsx +11 -2
  174. package/src/pages/s.tsx +26 -6
  175. package/src/proxy.ts +154 -0
  176. package/src/sdk/account/refreshToken.ts +4 -4
  177. package/src/sdk/account/useReorder.ts +8 -2
  178. package/src/sdk/analytics/platform/vtex/search.ts +3 -2
  179. package/src/sdk/cart/redirectToCheckout.ts +14 -8
  180. package/src/sdk/cart/useCheckoutButton.ts +7 -1
  181. package/src/sdk/deliveryPromise/useDeliveryPromise.ts +10 -18
  182. package/src/sdk/graphql/request.ts +102 -50
  183. package/src/sdk/localization/bindingSelector.ts +91 -0
  184. package/src/sdk/localization/index.ts +4 -0
  185. package/src/sdk/localization/match-url.ts +64 -0
  186. package/src/sdk/localization/types.ts +31 -0
  187. package/src/sdk/localization/useBindingSelector.ts +183 -0
  188. package/src/sdk/localization/useLocaleValidation.ts +49 -0
  189. package/src/sdk/localization/useLocalizationConfig.tsx +160 -0
  190. package/src/sdk/offer/fetcher.ts +3 -2
  191. package/src/sdk/product/useLocalizedVariables.ts +1 -1
  192. package/src/sdk/product/usePageProductsQuery.ts +2 -2
  193. package/src/sdk/product/useProductGalleryQuery.ts +1 -2
  194. package/src/sdk/product/useProductLink.ts +3 -1
  195. package/src/sdk/search/formatSearchPath.ts +28 -3
  196. package/src/sdk/search/state.ts +22 -13
  197. package/src/sdk/search/useSearchBase.ts +10 -0
  198. package/src/sdk/search/useSearchHistory.ts +41 -7
  199. package/src/sdk/session/index.ts +21 -3
  200. package/src/sdk/shipping/useShippingSimulation.ts +10 -2
  201. package/src/sdk/tsconfig.json +6 -0
  202. package/src/sdk/ui/useLink.ts +48 -0
  203. package/src/server/cms/global.ts +40 -0
  204. package/src/server/cms/index.ts +18 -10
  205. package/src/server/cms/pdp.ts +1 -0
  206. package/src/server/cms/plp.ts +3 -0
  207. package/src/server/content/service.ts +36 -24
  208. package/src/server/content/types.ts +10 -3
  209. package/src/server/index.ts +27 -20
  210. package/src/server/options.ts +27 -2
  211. package/src/styles/global/index.scss +10 -7
  212. package/src/styles/main.scss +3 -3
  213. package/src/typings/locales.ts +41 -0
  214. package/src/utils/fetchProductGallerySSR.ts +3 -1
  215. package/src/utils/getBaseDomain.ts +2 -1
  216. package/src/utils/getRequestHostname.ts +26 -0
  217. package/src/utils/globalSettings.ts +11 -0
  218. package/src/utils/localization/bindingPaths.ts +337 -0
  219. package/src/utils/localization/validateLocaleForHostname.ts +69 -0
  220. package/src/utils/localization/withLocaleValidation.ts +36 -0
  221. package/src/utils/utilities.ts +22 -0
  222. package/test/pages/api/preview.test.ts +93 -0
  223. package/test/sdk/localization/bindingSelector.test.ts +246 -0
  224. package/test/sdk/localization/store-url.browser.test.ts +140 -0
  225. package/test/sdk/localization/store-url.test.ts +96 -0
  226. package/test/sdk/localization/useBindingSelector.test.tsx +219 -0
  227. package/test/sdk/search/useSearchHistory.test.ts +222 -0
  228. package/test/server/cms/index.test.ts +3 -4
  229. package/test/server/content/service.test.ts +98 -0
  230. package/test/server/index.test.ts +10 -22
  231. package/test/utils/cookieCacheBusting.test.ts +32 -24
  232. package/test/utils/getRequestHostname.test.ts +71 -0
  233. package/test/utils/localization/bindingPaths.test.ts +706 -0
  234. package/test/utils/match-url.test.ts +388 -0
  235. package/tsconfig.json +11 -3
  236. package/vitest.config.ts +61 -0
  237. package/.next/BUILD_ID +0 -1
  238. package/.next/build-manifest.json +0 -197
  239. package/.next/cache/.tsbuildinfo +0 -1
  240. package/.next/cache/config.json +0 -7
  241. package/.next/cache/webpack/client-production/0.pack +0 -0
  242. package/.next/cache/webpack/client-production/index.pack +0 -0
  243. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  244. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  245. package/.next/cache/webpack/server-production/0.pack +0 -0
  246. package/.next/cache/webpack/server-production/index.pack +0 -0
  247. package/.next/export-marker.json +0 -1
  248. package/.next/images-manifest.json +0 -1
  249. package/.next/next-minimal-server.js.nft.json +0 -1
  250. package/.next/next-server.js.nft.json +0 -1
  251. package/.next/package.json +0 -1
  252. package/.next/prerender-manifest.js +0 -1
  253. package/.next/prerender-manifest.json +0 -1
  254. package/.next/react-loadable-manifest.json +0 -478
  255. package/.next/required-server-files.json +0 -1
  256. package/.next/routes-manifest.json +0 -1
  257. package/.next/server/chunks/1280.js +0 -1
  258. package/.next/server/chunks/1454.js +0 -1
  259. package/.next/server/chunks/1554.js +0 -1
  260. package/.next/server/chunks/1607.js +0 -1
  261. package/.next/server/chunks/1780.js +0 -1
  262. package/.next/server/chunks/1917.js +0 -1
  263. package/.next/server/chunks/1972.js +0 -1
  264. package/.next/server/chunks/2230.js +0 -1
  265. package/.next/server/chunks/2249.js +0 -1
  266. package/.next/server/chunks/2430.js +0 -1
  267. package/.next/server/chunks/2445.js +0 -12
  268. package/.next/server/chunks/2570.js +0 -1
  269. package/.next/server/chunks/2792.js +0 -1
  270. package/.next/server/chunks/2903.js +0 -1
  271. package/.next/server/chunks/294.js +0 -1
  272. package/.next/server/chunks/2955.js +0 -1
  273. package/.next/server/chunks/3006.js +0 -1
  274. package/.next/server/chunks/3029.js +0 -1
  275. package/.next/server/chunks/3060.js +0 -1
  276. package/.next/server/chunks/3408.js +0 -1
  277. package/.next/server/chunks/3483.js +0 -1
  278. package/.next/server/chunks/3683.js +0 -1
  279. package/.next/server/chunks/3836.js +0 -1
  280. package/.next/server/chunks/3890.js +0 -494
  281. package/.next/server/chunks/3922.js +0 -1
  282. package/.next/server/chunks/3945.js +0 -1
  283. package/.next/server/chunks/3951.js +0 -7
  284. package/.next/server/chunks/416.js +0 -1
  285. package/.next/server/chunks/4194.js +0 -1
  286. package/.next/server/chunks/4365.js +0 -1
  287. package/.next/server/chunks/4451.js +0 -1
  288. package/.next/server/chunks/4803.js +0 -1
  289. package/.next/server/chunks/4913.js +0 -13
  290. package/.next/server/chunks/5402.js +0 -1
  291. package/.next/server/chunks/5723.js +0 -13
  292. package/.next/server/chunks/5796.js +0 -1
  293. package/.next/server/chunks/6393.js +0 -1
  294. package/.next/server/chunks/6457.js +0 -6
  295. package/.next/server/chunks/6698.js +0 -1
  296. package/.next/server/chunks/6804.js +0 -6
  297. package/.next/server/chunks/6886.js +0 -1
  298. package/.next/server/chunks/7098.js +0 -9
  299. package/.next/server/chunks/7169.js +0 -1
  300. package/.next/server/chunks/7228.js +0 -1
  301. package/.next/server/chunks/7275.js +0 -1
  302. package/.next/server/chunks/7371.js +0 -1
  303. package/.next/server/chunks/7692.js +0 -1
  304. package/.next/server/chunks/7799.js +0 -1
  305. package/.next/server/chunks/8068.js +0 -1
  306. package/.next/server/chunks/83.js +0 -1
  307. package/.next/server/chunks/831.js +0 -1
  308. package/.next/server/chunks/8563.js +0 -1
  309. package/.next/server/chunks/8569.js +0 -1
  310. package/.next/server/chunks/8687.js +0 -1
  311. package/.next/server/chunks/870.js +0 -1
  312. package/.next/server/chunks/8737.js +0 -1
  313. package/.next/server/chunks/8741.js +0 -1
  314. package/.next/server/chunks/9088.js +0 -1
  315. package/.next/server/chunks/9117.js +0 -1
  316. package/.next/server/chunks/9237.js +0 -1
  317. package/.next/server/chunks/948.js +0 -3
  318. package/.next/server/chunks/9563.js +0 -3
  319. package/.next/server/chunks/9570.js +0 -1
  320. package/.next/server/chunks/9740.js +0 -1
  321. package/.next/server/chunks/9853.js +0 -1
  322. package/.next/server/chunks/9984.js +0 -1
  323. package/.next/server/chunks/9985.js +0 -1
  324. package/.next/server/chunks/9990.js +0 -1
  325. package/.next/server/chunks/ButtonSignIn.js +0 -1
  326. package/.next/server/chunks/Dropdown.js +0 -1
  327. package/.next/server/chunks/DropdownButton.js +0 -1
  328. package/.next/server/chunks/DropdownItem.js +0 -1
  329. package/.next/server/chunks/DropdownMenu.js +0 -1
  330. package/.next/server/chunks/FilterSkeleton.js +0 -1
  331. package/.next/server/chunks/ScrollToTopButton.js +0 -1
  332. package/.next/server/chunks/UIBannerText.js +0 -1
  333. package/.next/server/chunks/UISKUMatrixSidebar.js +0 -1
  334. package/.next/server/chunks/font-manifest.json +0 -1
  335. package/.next/server/edge-instrumentation.js +0 -2
  336. package/.next/server/edge-instrumentation.js.map +0 -1
  337. package/.next/server/edge-runtime-webpack.js +0 -157
  338. package/.next/server/edge-runtime-webpack.js.map +0 -1
  339. package/.next/server/font-manifest.json +0 -1
  340. package/.next/server/functions-config-manifest.json +0 -1
  341. package/.next/server/instrumentation.js +0 -1
  342. package/.next/server/instrumentation.js.nft.json +0 -1
  343. package/.next/server/middleware-build-manifest.js +0 -1
  344. package/.next/server/middleware-manifest.json +0 -6
  345. package/.next/server/middleware-react-loadable-manifest.js +0 -1
  346. package/.next/server/next-font-manifest.js +0 -1
  347. package/.next/server/next-font-manifest.json +0 -1
  348. package/.next/server/pages/404.js +0 -1
  349. package/.next/server/pages/404.js.nft.json +0 -1
  350. package/.next/server/pages/500.js +0 -1
  351. package/.next/server/pages/500.js.nft.json +0 -1
  352. package/.next/server/pages/[...slug].js +0 -1
  353. package/.next/server/pages/[...slug].js.nft.json +0 -1
  354. package/.next/server/pages/[slug]/p.js +0 -1
  355. package/.next/server/pages/[slug]/p.js.nft.json +0 -1
  356. package/.next/server/pages/_app.js +0 -1
  357. package/.next/server/pages/_app.js.nft.json +0 -1
  358. package/.next/server/pages/_document.js +0 -1
  359. package/.next/server/pages/_document.js.nft.json +0 -1
  360. package/.next/server/pages/_error.js +0 -1
  361. package/.next/server/pages/_error.js.nft.json +0 -1
  362. package/.next/server/pages/api/fs/logout.js +0 -1
  363. package/.next/server/pages/api/fs/logout.js.nft.json +0 -1
  364. package/.next/server/pages/api/graphql.js +0 -3
  365. package/.next/server/pages/api/graphql.js.nft.json +0 -1
  366. package/.next/server/pages/api/health/live.js +0 -1
  367. package/.next/server/pages/api/health/live.js.nft.json +0 -1
  368. package/.next/server/pages/api/health/ready.js +0 -1
  369. package/.next/server/pages/api/health/ready.js.nft.json +0 -1
  370. package/.next/server/pages/api/preview.js +0 -1
  371. package/.next/server/pages/api/preview.js.nft.json +0 -1
  372. package/.next/server/pages/checkout.js +0 -1
  373. package/.next/server/pages/checkout.js.nft.json +0 -1
  374. package/.next/server/pages/en-US/404.html +0 -42
  375. package/.next/server/pages/en-US/404.json +0 -1
  376. package/.next/server/pages/en-US/500.html +0 -42
  377. package/.next/server/pages/en-US/500.json +0 -1
  378. package/.next/server/pages/en-US/checkout.html +0 -42
  379. package/.next/server/pages/en-US/checkout.json +0 -1
  380. package/.next/server/pages/en-US/login.html +0 -42
  381. package/.next/server/pages/en-US/login.json +0 -1
  382. package/.next/server/pages/en-US/s.html +0 -42
  383. package/.next/server/pages/en-US/s.json +0 -1
  384. package/.next/server/pages/en-US.html +0 -42
  385. package/.next/server/pages/en-US.json +0 -1
  386. package/.next/server/pages/index.js +0 -1
  387. package/.next/server/pages/index.js.nft.json +0 -1
  388. package/.next/server/pages/login.js +0 -1
  389. package/.next/server/pages/login.js.nft.json +0 -1
  390. package/.next/server/pages/pvt/account/403.js +0 -1
  391. package/.next/server/pages/pvt/account/403.js.nft.json +0 -1
  392. package/.next/server/pages/pvt/account/404.js +0 -1
  393. package/.next/server/pages/pvt/account/404.js.nft.json +0 -1
  394. package/.next/server/pages/pvt/account/[...unknown].js +0 -1
  395. package/.next/server/pages/pvt/account/[...unknown].js.nft.json +0 -1
  396. package/.next/server/pages/pvt/account/orders/[id].js +0 -1
  397. package/.next/server/pages/pvt/account/orders/[id].js.nft.json +0 -1
  398. package/.next/server/pages/pvt/account/orders.js +0 -1
  399. package/.next/server/pages/pvt/account/orders.js.nft.json +0 -1
  400. package/.next/server/pages/pvt/account/profile.js +0 -1
  401. package/.next/server/pages/pvt/account/profile.js.nft.json +0 -1
  402. package/.next/server/pages/pvt/account/security.js +0 -1
  403. package/.next/server/pages/pvt/account/security.js.nft.json +0 -1
  404. package/.next/server/pages/pvt/account/user-details.js +0 -1
  405. package/.next/server/pages/pvt/account/user-details.js.nft.json +0 -1
  406. package/.next/server/pages/pvt/account.js +0 -1
  407. package/.next/server/pages/pvt/account.js.nft.json +0 -1
  408. package/.next/server/pages/s.js +0 -1
  409. package/.next/server/pages/s.js.nft.json +0 -1
  410. package/.next/server/pages-manifest.json +0 -1
  411. package/.next/server/webpack-api-runtime.js +0 -1
  412. package/.next/server/webpack-runtime.js +0 -1
  413. package/.next/static/chunks/227-f109b24190a008ab.js +0 -8
  414. package/.next/static/chunks/2284.185d834d9829b652.js +0 -1
  415. package/.next/static/chunks/2851.e68ed3c8d27a032a.js +0 -1
  416. package/.next/static/chunks/2927.23bae2c79f0ac0f3.js +0 -1
  417. package/.next/static/chunks/3155.7bc4c730a79d9ecb.js +0 -1
  418. package/.next/static/chunks/3166-0b30a3887c0c346d.js +0 -1
  419. package/.next/static/chunks/3399.017c5209b74b0d97.js +0 -1
  420. package/.next/static/chunks/3483.ef53d632a763da3f.js +0 -1
  421. package/.next/static/chunks/349.b3b38e1e9f719dda.js +0 -1
  422. package/.next/static/chunks/3802.5e8b0b689eacc0f8.js +0 -1
  423. package/.next/static/chunks/3836.620480018be48233.js +0 -1
  424. package/.next/static/chunks/4436.e7af66f0b654ee36.js +0 -1
  425. package/.next/static/chunks/4803.b1920b6e3a1a6304.js +0 -1
  426. package/.next/static/chunks/5796.4351370494d8b8b6.js +0 -1
  427. package/.next/static/chunks/6393.55f991b1a6bb4fe7.js +0 -1
  428. package/.next/static/chunks/6700.b23221a57514e737.js +0 -1
  429. package/.next/static/chunks/6789.960162355435a81d.js +0 -1
  430. package/.next/static/chunks/7191-befad64ba238a817.js +0 -1
  431. package/.next/static/chunks/7692.8d5bf4560341a2f6.js +0 -1
  432. package/.next/static/chunks/7861.7f9f1a124a43da30.js +0 -6
  433. package/.next/static/chunks/8068.43663fb64762f7b8.js +0 -1
  434. package/.next/static/chunks/83.e0c16f0299b364a5.js +0 -1
  435. package/.next/static/chunks/8325.dabe9aa22eaadeed.js +0 -1
  436. package/.next/static/chunks/8587.53c8ce185ed1a2cb.js +0 -1
  437. package/.next/static/chunks/9173-e89da04079c35360.js +0 -2
  438. package/.next/static/chunks/9237.7555603703f81bf7.js +0 -1
  439. package/.next/static/chunks/9298-1d1ed0a54133cb59.js +0 -28
  440. package/.next/static/chunks/9399.d116a7fd62024783.js +0 -1
  441. package/.next/static/chunks/941.3e2782ab9c490eb0.js +0 -1
  442. package/.next/static/chunks/9701.f9a0bfffba8807dc.js +0 -1
  443. package/.next/static/chunks/9909.787576b171184aa5.js +0 -1
  444. package/.next/static/chunks/9960.7ef77f8a8b046170.js +0 -1
  445. package/.next/static/chunks/9979.aedbc094bdc2c599.js +0 -1
  446. package/.next/static/chunks/BannerNewsletter.00328ad162109908.js +0 -1
  447. package/.next/static/chunks/BannerText.dbbec87cadb8a521.js +0 -1
  448. package/.next/static/chunks/ButtonSignIn.f6e210eaca873e48.js +0 -1
  449. package/.next/static/chunks/CartItem.b34e295377f6f94f.js +0 -1
  450. package/.next/static/chunks/CartSidebar.ac447d1ef6276da1.js +0 -1
  451. package/.next/static/chunks/Dropdown.38b48c749bad6b60.js +0 -1
  452. package/.next/static/chunks/DropdownButton.66fa6b25dddb3a07.js +0 -1
  453. package/.next/static/chunks/DropdownItem.38b8f5a07c7f422a.js +0 -1
  454. package/.next/static/chunks/DropdownMenu.48b11521a24c6efd.js +0 -1
  455. package/.next/static/chunks/EmptyCart.320e2f94a0d5e6b1.js +0 -1
  456. package/.next/static/chunks/FilterSkeleton.7ab99e28f92341c9.js +0 -1
  457. package/.next/static/chunks/Footer.166b02c2f13980c6.js +0 -1
  458. package/.next/static/chunks/Gift.c49ba26da2fbab5e.js +0 -1
  459. package/.next/static/chunks/Newsletter.fc406f6029057022.js +0 -1
  460. package/.next/static/chunks/OrderSummary.5957d69f990d9add.js +0 -1
  461. package/.next/static/chunks/PreviewTag.f4f0c8710a7bcad9.js +0 -1
  462. package/.next/static/chunks/ProductShelf.cc46f5cdeeaeaff6.js +0 -1
  463. package/.next/static/chunks/ProductTiles.9b804e51b0704d60.js +0 -1
  464. package/.next/static/chunks/RegionModal.319ad44250cb12d2.js +0 -1
  465. package/.next/static/chunks/RegionSlider.0e0e93369f4f9c92.js +0 -1
  466. package/.next/static/chunks/ScrollToTopButton.c15431f2e8bb93ef.js +0 -1
  467. package/.next/static/chunks/ShoppingAssistant.ba191eb4dbed67e5.js +0 -1
  468. package/.next/static/chunks/Toast.5f90f0436708be5e.js +0 -1
  469. package/.next/static/chunks/UIBannerText.7315b16af4457059.js +0 -1
  470. package/.next/static/chunks/UISKUMatrixSidebar.b4349b2682bbe183.js +0 -1
  471. package/.next/static/chunks/UIToast.de15325248043ce5.js +0 -1
  472. package/.next/static/chunks/framework-d514426edf885c68.js +0 -33
  473. package/.next/static/chunks/main-ec03882c4375091d.js +0 -1
  474. package/.next/static/chunks/pages/404-e3dfbbac003b02a2.js +0 -1
  475. package/.next/static/chunks/pages/500-c7814e085081d7b8.js +0 -1
  476. package/.next/static/chunks/pages/[...slug]-dc8a395a43b081f1.js +0 -1
  477. package/.next/static/chunks/pages/[slug]/p-644f1132f5a0f736.js +0 -1
  478. package/.next/static/chunks/pages/_app-84aaff8a9d4de60e.js +0 -1
  479. package/.next/static/chunks/pages/_error-2b0148be56a716e9.js +0 -1
  480. package/.next/static/chunks/pages/checkout-2071467ad42dfb99.js +0 -1
  481. package/.next/static/chunks/pages/index-8774d5b4a8744eb2.js +0 -1
  482. package/.next/static/chunks/pages/login-e74747c9f9cb5b49.js +0 -1
  483. package/.next/static/chunks/pages/pvt/account/403-491e6b062487b30f.js +0 -1
  484. package/.next/static/chunks/pages/pvt/account/404-5ad472d9f2ee1980.js +0 -1
  485. package/.next/static/chunks/pages/pvt/account/[...unknown]-f80f645594d2740c.js +0 -1
  486. package/.next/static/chunks/pages/pvt/account/orders/[id]-64e42157c0974c48.js +0 -1
  487. package/.next/static/chunks/pages/pvt/account/orders-faab39f2aff05fae.js +0 -1
  488. package/.next/static/chunks/pages/pvt/account/profile-9672177ee2665bc0.js +0 -1
  489. package/.next/static/chunks/pages/pvt/account/security-03eb1ccab9a30563.js +0 -1
  490. package/.next/static/chunks/pages/pvt/account/user-details-7838e3f79781596c.js +0 -1
  491. package/.next/static/chunks/pages/pvt/account-65fefcc699344bdb.js +0 -1
  492. package/.next/static/chunks/pages/s-162ba789e6611175.js +0 -1
  493. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
  494. package/.next/static/chunks/webpack-dbc0d9f67d2f928f.js +0 -1
  495. package/.next/static/css/02259c549b2179f2.css +0 -1
  496. package/.next/static/css/02eaf202d3d11fd1.css +0 -1
  497. package/.next/static/css/033e241c58ba6fbb.css +0 -1
  498. package/.next/static/css/042d012bc1895b5c.css +0 -1
  499. package/.next/static/css/14176a4704ff97b2.css +0 -1
  500. package/.next/static/css/146a8678babc61bf.css +0 -1
  501. package/.next/static/css/16d65422bfa80f51.css +0 -1
  502. package/.next/static/css/1c4983f11b861ea0.css +0 -1
  503. package/.next/static/css/204754bbd8cc4bef.css +0 -1
  504. package/.next/static/css/24d91007fc96be10.css +0 -1
  505. package/.next/static/css/2980acad3f8e1028.css +0 -1
  506. package/.next/static/css/2c19433e38fd7533.css +0 -1
  507. package/.next/static/css/31380ebc6e671486.css +0 -1
  508. package/.next/static/css/42df884711219edb.css +0 -1
  509. package/.next/static/css/4f0597b0bf0ef2e1.css +0 -1
  510. package/.next/static/css/54cedf4b65e5863f.css +0 -1
  511. package/.next/static/css/6580147d7ab8fcca.css +0 -1
  512. package/.next/static/css/6819dddf2b1b5ea7.css +0 -1
  513. package/.next/static/css/7ef7762f412ed665.css +0 -1
  514. package/.next/static/css/82f3cd529b672812.css +0 -1
  515. package/.next/static/css/837662922091162f.css +0 -1
  516. package/.next/static/css/8e6ab59ace21e03b.css +0 -1
  517. package/.next/static/css/a852afa9be31e946.css +0 -1
  518. package/.next/static/css/b684b347c5cc6514.css +0 -1
  519. package/.next/static/css/bcdaef0a83277ef5.css +0 -1
  520. package/.next/static/css/c33615999008d3f9.css +0 -1
  521. package/.next/static/css/c34f6ea9953e2f63.css +0 -1
  522. package/.next/static/css/ea11d74a2848b093.css +0 -1
  523. package/.next/static/css/f16438bcf4508fb3.css +0 -1
  524. package/.next/static/css/f60366555f563deb.css +0 -1
  525. package/.next/static/es3Z4hhE6B4Nut0ZqqUuB/_buildManifest.js +0 -1
  526. package/.next/static/es3Z4hhE6B4Nut0ZqqUuB/_ssgManifest.js +0 -1
  527. package/.next/trace +0 -143
  528. package/.turbo/turbo-build.log +0 -134
  529. package/jest.config.js +0 -17
  530. package/public/~partytown/debug/partytown-atomics.js +0 -556
  531. package/public/~partytown/debug/partytown-media.js +0 -374
  532. package/public/~partytown/debug/partytown-sandbox-sw.js +0 -543
  533. package/public/~partytown/debug/partytown-sw.js +0 -59
  534. package/public/~partytown/debug/partytown-ww-atomics.js +0 -1789
  535. package/public/~partytown/debug/partytown-ww-sw.js +0 -1781
  536. package/public/~partytown/debug/partytown.js +0 -72
  537. package/public/~partytown/partytown-atomics.js +0 -2
  538. package/public/~partytown/partytown-media.js +0 -2
  539. package/public/~partytown/partytown-sw.js +0 -2
  540. package/public/~partytown/partytown.js +0 -2
  541. package/src/middleware__DISABLED.ts +0 -65
  542. package/src/server/generator/generateGraphQLSchemaFile.ts +0 -3
  543. package/src/server/generator/schema.ts +0 -81
@@ -217,6 +217,11 @@
217
217
  "type": "string",
218
218
  "default": "Try using a different postal code.",
219
219
  "description": "This message will guide user in case of an error."
220
+ },
221
+ "loadingLabel": {
222
+ "title": "Loading Label",
223
+ "type": "string",
224
+ "default": "..."
220
225
  }
221
226
  }
222
227
  },
@@ -484,6 +489,53 @@
484
489
  },
485
490
  "$componentTitle": "Delivery Promise"
486
491
  },
492
+ "filters": {
493
+ "title": "Filters",
494
+ "description": "Filter configurations for PLP/Search pages",
495
+ "type": "object",
496
+ "properties": {
497
+ "filterFacetRange": {
498
+ "title": "PLP/Search Filter: Range Facet",
499
+ "type": "object",
500
+ "properties": {
501
+ "minLabel": {
502
+ "title": "Minimum value label",
503
+ "type": "string",
504
+ "default": "Min"
505
+ },
506
+ "maxLabel": {
507
+ "title": "Maximum value label",
508
+ "type": "string",
509
+ "default": "Max"
510
+ },
511
+ "minPriceErrorMessage": {
512
+ "title": "Error message for the minimum price input field",
513
+ "type": "string",
514
+ "default": "Min price can't be greater than max"
515
+ },
516
+ "maxPriceErrorMessage": {
517
+ "title": "Error message for the maximum price input field",
518
+ "type": "string",
519
+ "default": "Max price can't be smaller than min"
520
+ }
521
+ }
522
+ }
523
+ },
524
+ "$componentTitle": "Filters"
525
+ },
526
+ "loading": {
527
+ "title": "Loading",
528
+ "type": "object",
529
+ "properties": {
530
+ "label": {
531
+ "title": "Loading Label",
532
+ "description": "Default loading message label",
533
+ "type": "string",
534
+ "default": "Loading..."
535
+ }
536
+ },
537
+ "$componentTitle": "Loading"
538
+ },
487
539
  "sections": {
488
540
  "type": "array",
489
541
  "items": {
@@ -578,6 +630,12 @@
578
630
  "type": "string",
579
631
  "default": "FastStore Starter"
580
632
  },
633
+ "titleTemplate": {
634
+ "title": "Default page title template",
635
+ "description": "Template applied to the page title. Use %s to reference the page title.",
636
+ "type": "string",
637
+ "default": "%s | FastStore"
638
+ },
581
639
  "description": {
582
640
  "title": "Meta tag description",
583
641
  "type": "string",
@@ -770,10 +828,11 @@
770
828
  "title": "Landing Page",
771
829
  "properties": {
772
830
  "slug": {
831
+ "type": "string",
773
832
  "widget": {
774
833
  "ui:widget": "slug"
775
834
  },
776
- "type": "string"
835
+ "$componentTitle": "slug"
777
836
  },
778
837
  "seo": {
779
838
  "title": "SEO",
@@ -795,6 +854,12 @@
795
854
  "type": "string",
796
855
  "default": "FastStore Starter"
797
856
  },
857
+ "titleTemplate": {
858
+ "title": "Default page title template",
859
+ "description": "Template applied to the page title. Use %s to reference the page title.",
860
+ "type": "string",
861
+ "default": "%s | FastStore"
862
+ },
798
863
  "description": {
799
864
  "title": "Meta tag description",
800
865
  "type": "string",
@@ -917,6 +982,12 @@
917
982
  "ui:ObjectFieldTemplate": "GoogleSeoPreview"
918
983
  },
919
984
  "properties": {
985
+ "titleTemplate": {
986
+ "title": "PDP page title template",
987
+ "description": "Template applied to the page title. Use %s to reference the page title.",
988
+ "type": "string",
989
+ "default": "%s | FastStore PDP"
990
+ },
920
991
  "id": {
921
992
  "title": "ID",
922
993
  "description": "A unique identifier used to reference the product page. This is a descriptive value (e.g., `#product`) that will be concatenated with the product path (example of the result: `/product-slug/p#product`).",
@@ -1010,6 +1081,20 @@
1010
1081
  "type": "object",
1011
1082
  "title": "Product List Page",
1012
1083
  "properties": {
1084
+ "seo": {
1085
+ "title": "SEO",
1086
+ "description": "Search Engine Optimization options",
1087
+ "type": "object",
1088
+ "properties": {
1089
+ "titleTemplate": {
1090
+ "title": "PLP page title template",
1091
+ "description": "Template applied to the page title. Use %s to reference the page title.",
1092
+ "type": "string",
1093
+ "default": "%s | FastStore PLP"
1094
+ }
1095
+ },
1096
+ "$componentTitle": "SEO"
1097
+ },
1013
1098
  "template": {
1014
1099
  "title": "Template",
1015
1100
  "type": "object",
@@ -1121,6 +1206,9 @@
1121
1206
  },
1122
1207
  {
1123
1208
  "$ref": "#/components/EmptyState"
1209
+ },
1210
+ {
1211
+ "$ref": "#/components/ScrollToTopButton"
1124
1212
  }
1125
1213
  ]
1126
1214
  }
@@ -1138,6 +1226,20 @@
1138
1226
  "type": "object",
1139
1227
  "title": "Search Page",
1140
1228
  "properties": {
1229
+ "seo": {
1230
+ "title": "SEO",
1231
+ "description": "Search Engine Optimization options",
1232
+ "type": "object",
1233
+ "properties": {
1234
+ "titleTemplate": {
1235
+ "title": "Default page title template",
1236
+ "description": "Template applied to the page title. Use %s to reference the page title.",
1237
+ "type": "string",
1238
+ "default": "%s | Search results"
1239
+ }
1240
+ },
1241
+ "$componentTitle": "SEO"
1242
+ },
1141
1243
  "productGallery": {
1142
1244
  "title": "Product Gallery",
1143
1245
  "description": "ProductGallery options",
@@ -1237,6 +1339,9 @@
1237
1339
  },
1238
1340
  {
1239
1341
  "$ref": "#/components/EmptyState"
1342
+ },
1343
+ {
1344
+ "$ref": "#/components/ScrollToTopButton"
1240
1345
  }
1241
1346
  ]
1242
1347
  }
@@ -1295,7 +1400,11 @@
1295
1400
  "default": false,
1296
1401
  "title": "Is dismissible?"
1297
1402
  }
1298
- }
1403
+ },
1404
+ "readOnly": false,
1405
+ "writeOnly": false,
1406
+ "deprecated": false,
1407
+ "$abstract": false
1299
1408
  },
1300
1409
  "BannerNewsletter": {
1301
1410
  "$extends": ["#/$defs/base-component"],
@@ -1478,7 +1587,11 @@
1478
1587
  }
1479
1588
  }
1480
1589
  }
1481
- }
1590
+ },
1591
+ "readOnly": false,
1592
+ "writeOnly": false,
1593
+ "deprecated": false,
1594
+ "$abstract": false
1482
1595
  },
1483
1596
  "BannerText": {
1484
1597
  "$extends": ["#/$defs/base-component"],
@@ -1529,7 +1642,11 @@
1529
1642
  "enumNames": ["Primary", "Secondary"],
1530
1643
  "enum": ["primary", "secondary"]
1531
1644
  }
1532
- }
1645
+ },
1646
+ "readOnly": false,
1647
+ "writeOnly": false,
1648
+ "deprecated": false,
1649
+ "$abstract": false
1533
1650
  },
1534
1651
  "Breadcrumb": {
1535
1652
  "$extends": ["#/$defs/base-component"],
@@ -1538,19 +1655,31 @@
1538
1655
  "title": "Breadcrumb",
1539
1656
  "description": "Configure the breadcrumb icon and depth",
1540
1657
  "type": "object",
1541
- "required": ["icon", "alt"],
1658
+ "required": ["icon", "alt", "fallbackLabel"],
1542
1659
  "properties": {
1660
+ "fallbackLabel": {
1661
+ "title": "Fallback label",
1662
+ "description": "Label shown when there are no breadcrumb items to display, such as on the Search page.",
1663
+ "type": "string",
1664
+ "default": "All Products"
1665
+ },
1543
1666
  "icon": {
1544
1667
  "title": "Icon",
1545
1668
  "type": "string",
1546
1669
  "enumNames": ["House"],
1547
- "enum": ["House"]
1670
+ "enum": ["House"],
1671
+ "default": "House"
1548
1672
  },
1549
1673
  "alt": {
1550
1674
  "title": "Alternative Label",
1551
- "type": "string"
1675
+ "type": "string",
1676
+ "default": "Go to homepage"
1552
1677
  }
1553
- }
1678
+ },
1679
+ "readOnly": false,
1680
+ "writeOnly": false,
1681
+ "deprecated": false,
1682
+ "$abstract": false
1554
1683
  },
1555
1684
  "CartSidebar": {
1556
1685
  "$extends": ["#/$defs/base-component"],
@@ -1609,6 +1738,22 @@
1609
1738
  }
1610
1739
  }
1611
1740
  },
1741
+ "emptyCart": {
1742
+ "title": "Empty Cart",
1743
+ "type": "object",
1744
+ "properties": {
1745
+ "title": {
1746
+ "title": "Title",
1747
+ "type": "string",
1748
+ "default": "Your Cart is empty"
1749
+ },
1750
+ "buttonLabel": {
1751
+ "title": "Button Label",
1752
+ "type": "string",
1753
+ "default": "Start Shopping"
1754
+ }
1755
+ }
1756
+ },
1612
1757
  "checkoutButton": {
1613
1758
  "title": "Checkout button",
1614
1759
  "type": "object",
@@ -1672,7 +1817,11 @@
1672
1817
  }
1673
1818
  }
1674
1819
  }
1675
- }
1820
+ },
1821
+ "readOnly": false,
1822
+ "writeOnly": false,
1823
+ "deprecated": false,
1824
+ "$abstract": false
1676
1825
  },
1677
1826
  "Children": {
1678
1827
  "$extends": ["#/$defs/base-component"],
@@ -1680,7 +1829,11 @@
1680
1829
  "$componentTitle": "Children",
1681
1830
  "title": "Children",
1682
1831
  "type": "object",
1683
- "properties": {}
1832
+ "properties": {},
1833
+ "readOnly": false,
1834
+ "writeOnly": false,
1835
+ "deprecated": false,
1836
+ "$abstract": false
1684
1837
  },
1685
1838
  "CrossSellingShelf": {
1686
1839
  "$extends": ["#/$defs/base-component"],
@@ -1730,7 +1883,11 @@
1730
1883
  }
1731
1884
  }
1732
1885
  }
1733
- }
1886
+ },
1887
+ "readOnly": false,
1888
+ "writeOnly": false,
1889
+ "deprecated": false,
1890
+ "$abstract": false
1734
1891
  },
1735
1892
  "EmptyState": {
1736
1893
  "$extends": ["#/$defs/base-component"],
@@ -1751,8 +1908,9 @@
1751
1908
  "icon": {
1752
1909
  "title": "Icon",
1753
1910
  "type": "string",
1754
- "enumNames": ["CircleWavy Warning"],
1755
- "enum": ["CircleWavyWarning"]
1911
+ "enumNames": ["CircleWavyWarning"],
1912
+ "enum": ["CircleWavyWarning"],
1913
+ "default": "CircleWavyWarning"
1756
1914
  },
1757
1915
  "alt": {
1758
1916
  "title": "Alternative Label",
@@ -1803,7 +1961,11 @@
1803
1961
  }
1804
1962
  }
1805
1963
  }
1806
- }
1964
+ },
1965
+ "readOnly": false,
1966
+ "writeOnly": false,
1967
+ "deprecated": false,
1968
+ "$abstract": false
1807
1969
  },
1808
1970
  "Footer": {
1809
1971
  "$extends": ["#/$defs/base-component"],
@@ -1977,11 +2139,13 @@
1977
2139
  "properties": {
1978
2140
  "url": {
1979
2141
  "title": "Link URL",
1980
- "type": "string"
2142
+ "type": "string",
2143
+ "default": "/"
1981
2144
  },
1982
2145
  "title": {
1983
2146
  "title": "Link Title",
1984
- "type": "string"
2147
+ "type": "string",
2148
+ "default": "Go to Home"
1985
2149
  }
1986
2150
  }
1987
2151
  }
@@ -2052,7 +2216,11 @@
2052
2216
  }
2053
2217
  }
2054
2218
  }
2055
- }
2219
+ },
2220
+ "readOnly": false,
2221
+ "writeOnly": false,
2222
+ "deprecated": false,
2223
+ "$abstract": false
2056
2224
  },
2057
2225
  "Hero": {
2058
2226
  "$extends": ["#/$defs/base-component"],
@@ -2123,7 +2291,11 @@
2123
2291
  "enumNames": ["Primary", "Secondary"],
2124
2292
  "enum": ["primary", "secondary"]
2125
2293
  }
2126
- }
2294
+ },
2295
+ "readOnly": false,
2296
+ "writeOnly": false,
2297
+ "deprecated": false,
2298
+ "$abstract": false
2127
2299
  },
2128
2300
  "Incentives": {
2129
2301
  "$extends": ["#/$defs/base-component"],
@@ -2180,7 +2352,11 @@
2180
2352
  }
2181
2353
  }
2182
2354
  }
2183
- }
2355
+ },
2356
+ "readOnly": false,
2357
+ "writeOnly": false,
2358
+ "deprecated": false,
2359
+ "$abstract": false
2184
2360
  },
2185
2361
  "Navbar": {
2186
2362
  "$extends": ["#/$defs/base-component"],
@@ -2264,6 +2440,21 @@
2264
2440
  "score_desc"
2265
2441
  ]
2266
2442
  },
2443
+ "submitButtonAriaLabel": {
2444
+ "title": "Submit Search Button aria-label",
2445
+ "type": "string",
2446
+ "default": "Submit Search"
2447
+ },
2448
+ "searchHistoryTitle": {
2449
+ "title": "Search History Title",
2450
+ "type": "string",
2451
+ "default": "History"
2452
+ },
2453
+ "searchTopTitle": {
2454
+ "title": "Top Search Title",
2455
+ "type": "string",
2456
+ "default": "Top search"
2457
+ },
2267
2458
  "quickOrderSettings": {
2268
2459
  "title": "Quick Order settings",
2269
2460
  "type": "object",
@@ -2346,8 +2537,41 @@
2346
2537
  }
2347
2538
  }
2348
2539
  }
2540
+ },
2541
+ "invalidQuantityToastLabels": {
2542
+ "title": "Invalid quantity toast",
2543
+ "description": "This toast will be displayed when the quantity is out of the range of the min and max values.",
2544
+ "type": "object",
2545
+ "properties": {
2546
+ "title": {
2547
+ "title": "Title",
2548
+ "type": "string",
2549
+ "default": "Invalid quantity!"
2550
+ },
2551
+ "message": {
2552
+ "title": "Message",
2553
+ "type": "string",
2554
+ "description": "If the message has %{min}, %{max} and %{quantity} placeholders, they will be replaced by the min, max and quantity values.",
2555
+ "default": "The quantity you entered is outside the range of '%{min}' to '%{max}'. The quantity was set to '%{quantity}'."
2556
+ }
2557
+ }
2558
+ },
2559
+ "outOfStockLabel": {
2560
+ "title": "Out of Stock Label",
2561
+ "type": "string",
2562
+ "default": "Out of stock"
2349
2563
  }
2350
2564
  }
2565
+ },
2566
+ "loadingLabel": {
2567
+ "title": "Loading Label",
2568
+ "type": "string",
2569
+ "default": "Loading..."
2570
+ },
2571
+ "collapseSearchAriaLabel": {
2572
+ "title": "Collapse Search Button aria-label",
2573
+ "type": "string",
2574
+ "default": "Collapse search bar"
2351
2575
  }
2352
2576
  }
2353
2577
  },
@@ -2441,6 +2665,92 @@
2441
2665
  }
2442
2666
  }
2443
2667
  },
2668
+ "localizationButton": {
2669
+ "type": "object",
2670
+ "title": "Localization Button",
2671
+ "properties": {
2672
+ "shouldDisplayLocalizationButton": {
2673
+ "type": "boolean",
2674
+ "title": "Should display localization button?",
2675
+ "default": false
2676
+ },
2677
+ "icon": {
2678
+ "title": "Icon",
2679
+ "type": "object",
2680
+ "properties": {
2681
+ "icon": {
2682
+ "title": "Icon",
2683
+ "type": "string",
2684
+ "enumNames": ["Globe"],
2685
+ "enum": ["Globe"],
2686
+ "default": "Globe"
2687
+ }
2688
+ }
2689
+ },
2690
+ "ariaLabel": {
2691
+ "title": "Aria Label for localization selector",
2692
+ "type": "string",
2693
+ "default": "Open localization selector"
2694
+ }
2695
+ }
2696
+ },
2697
+ "localizationSelector": {
2698
+ "type": "object",
2699
+ "title": "Localization Selector",
2700
+ "properties": {
2701
+ "title": {
2702
+ "title": "Title",
2703
+ "type": "string",
2704
+ "default": "Select language and currency"
2705
+ },
2706
+ "languageLabel": {
2707
+ "title": "Language Label",
2708
+ "type": "string",
2709
+ "default": "Language"
2710
+ },
2711
+ "currencyLabel": {
2712
+ "title": "Currency Label",
2713
+ "type": "string",
2714
+ "default": "Currency"
2715
+ },
2716
+ "description": {
2717
+ "title": "Description",
2718
+ "type": "string",
2719
+ "default": "Changing the language or currency may affect prices, promotions and availability."
2720
+ },
2721
+ "saveLabel": {
2722
+ "title": "Save Button Label",
2723
+ "type": "string",
2724
+ "default": "Save"
2725
+ },
2726
+ "errorMessages": {
2727
+ "title": "Error Messages",
2728
+ "type": "object",
2729
+ "properties": {
2730
+ "noBindingFound": {
2731
+ "title": "No Binding Found Error",
2732
+ "type": "string",
2733
+ "default": "Unable to save configuration. No matching store found."
2734
+ },
2735
+ "invalidUrl": {
2736
+ "title": "Invalid URL Error",
2737
+ "type": "string",
2738
+ "default": "Invalid redirect URL. Please try again."
2739
+ },
2740
+ "noCurrencies": {
2741
+ "title": "No Currencies Error",
2742
+ "type": "string",
2743
+ "default": "No currencies available for this language."
2744
+ },
2745
+ "defaultError": {
2746
+ "title": "Default Error",
2747
+ "type": "string",
2748
+ "default": "An error occurred. Please try again."
2749
+ }
2750
+ }
2751
+ }
2752
+ }
2753
+ },
2444
2754
  "pageLinks": {
2445
2755
  "title": "Links",
2446
2756
  "type": "array",
@@ -2498,7 +2808,11 @@
2498
2808
  }
2499
2809
  }
2500
2810
  }
2501
- }
2811
+ },
2812
+ "readOnly": false,
2813
+ "writeOnly": false,
2814
+ "deprecated": false,
2815
+ "$abstract": false
2502
2816
  },
2503
2817
  "Newsletter": {
2504
2818
  "$extends": ["#/$defs/base-component"],
@@ -2631,7 +2945,11 @@
2631
2945
  }
2632
2946
  }
2633
2947
  }
2634
- }
2948
+ },
2949
+ "readOnly": false,
2950
+ "writeOnly": false,
2951
+ "deprecated": false,
2952
+ "$abstract": false
2635
2953
  },
2636
2954
  "ProductDetails": {
2637
2955
  "$extends": ["#/$defs/base-component"],
@@ -2669,6 +2987,11 @@
2669
2987
  }
2670
2988
  }
2671
2989
  },
2990
+ "loadingLabel": {
2991
+ "title": "Loading Label",
2992
+ "type": "string",
2993
+ "default": "Loading..."
2994
+ },
2672
2995
  "buyButton": {
2673
2996
  "title": "Buy Button",
2674
2997
  "type": "object",
@@ -2763,6 +3086,11 @@
2763
3086
  "title": "Description section title",
2764
3087
  "type": "string",
2765
3088
  "default": "Description"
3089
+ },
3090
+ "accordionAriaLabel": {
3091
+ "title": "Product description accordion aria label",
3092
+ "type": "string",
3093
+ "default": "Product Description Content"
2766
3094
  }
2767
3095
  }
2768
3096
  },
@@ -2774,6 +3102,24 @@
2774
3102
  "title": "Should use unit multiplier?",
2775
3103
  "type": "boolean",
2776
3104
  "default": false
3105
+ },
3106
+ "invalidQuantityToastLabels": {
3107
+ "title": "Invalid quantity toast",
3108
+ "description": "This toast will be displayed when the quantity is out of the range of the min and max values.",
3109
+ "type": "object",
3110
+ "properties": {
3111
+ "title": {
3112
+ "title": "Title",
3113
+ "type": "string",
3114
+ "default": "Invalid quantity!"
3115
+ },
3116
+ "message": {
3117
+ "title": "Message",
3118
+ "type": "string",
3119
+ "description": "If the message has %{min}, %{max} and %{quantity} placeholders, they will be replaced by the min, max and quantity values.",
3120
+ "default": "The quantity you entered is outside the range of '%{min}' to '%{max}'. The quantity was set to '%{quantity}'."
3121
+ }
3122
+ }
2777
3123
  }
2778
3124
  }
2779
3125
  },
@@ -2877,7 +3223,11 @@
2877
3223
  }
2878
3224
  }
2879
3225
  }
2880
- }
3226
+ },
3227
+ "readOnly": false,
3228
+ "writeOnly": false,
3229
+ "deprecated": false,
3230
+ "$abstract": false
2881
3231
  },
2882
3232
  "ProductGallery": {
2883
3233
  "$extends": ["#/$defs/base-component"],
@@ -2940,6 +3290,74 @@
2940
3290
  }
2941
3291
  }
2942
3292
  },
3293
+ "sortBySelector": {
3294
+ "title": "Sort by selector",
3295
+ "type": "object",
3296
+ "required": ["label", "options"],
3297
+ "properties": {
3298
+ "label": {
3299
+ "title": "Label",
3300
+ "type": "string",
3301
+ "default": "Sort by"
3302
+ },
3303
+ "options": {
3304
+ "title": "Options labels",
3305
+ "type": "object",
3306
+ "required": [
3307
+ "price_desc",
3308
+ "price_asc",
3309
+ "orders_desc",
3310
+ "name_asc",
3311
+ "name_desc",
3312
+ "release_desc",
3313
+ "discount_desc",
3314
+ "score_desc"
3315
+ ],
3316
+ "properties": {
3317
+ "price_desc": {
3318
+ "title": "Price - Descending",
3319
+ "type": "string",
3320
+ "default": "Price, descending"
3321
+ },
3322
+ "price_asc": {
3323
+ "title": "Price - Ascending",
3324
+ "type": "string",
3325
+ "default": "Price, ascending"
3326
+ },
3327
+ "orders_desc": {
3328
+ "title": "Orders - Descending",
3329
+ "type": "string",
3330
+ "default": "Top sales"
3331
+ },
3332
+ "name_asc": {
3333
+ "title": "Name - Ascending",
3334
+ "type": "string",
3335
+ "default": "Name, A-Z"
3336
+ },
3337
+ "name_desc": {
3338
+ "title": "Name - Descending",
3339
+ "type": "string",
3340
+ "default": "Name, Z-A"
3341
+ },
3342
+ "release_desc": {
3343
+ "title": "Release - Descending",
3344
+ "type": "string",
3345
+ "default": "Release date"
3346
+ },
3347
+ "discount_desc": {
3348
+ "title": "Discount - Descending",
3349
+ "type": "string",
3350
+ "default": "Discount"
3351
+ },
3352
+ "score_desc": {
3353
+ "title": "Score - Descending",
3354
+ "type": "string",
3355
+ "default": "Relevance"
3356
+ }
3357
+ }
3358
+ }
3359
+ }
3360
+ },
2943
3361
  "filter": {
2944
3362
  "title": "Filter",
2945
3363
  "type": "object",
@@ -3038,6 +3456,16 @@
3038
3456
  "title": "Sponsored Label",
3039
3457
  "type": "string",
3040
3458
  "default": "Sponsored"
3459
+ },
3460
+ "buttonLabel": {
3461
+ "title": "Button Label",
3462
+ "type": "string",
3463
+ "default": "Add"
3464
+ },
3465
+ "outOfStockLabel": {
3466
+ "title": "Out of Stock Label",
3467
+ "type": "string",
3468
+ "default": "Out of stock"
3041
3469
  }
3042
3470
  }
3043
3471
  },
@@ -3067,6 +3495,8 @@
3067
3495
  "icon": {
3068
3496
  "title": "Icon",
3069
3497
  "type": "string",
3498
+ "enumNames": ["CircleWavyWarning"],
3499
+ "enum": ["CircleWavyWarning"],
3070
3500
  "default": "CircleWavyWarning"
3071
3501
  }
3072
3502
  }
@@ -3088,6 +3518,8 @@
3088
3518
  "icon": {
3089
3519
  "title": "Icon",
3090
3520
  "type": "string",
3521
+ "enumNames": ["RocketLaunch"],
3522
+ "enum": ["RocketLaunch"],
3091
3523
  "default": "RocketLaunch"
3092
3524
  }
3093
3525
  }
@@ -3136,15 +3568,32 @@
3136
3568
  "type": "string",
3137
3569
  "default": "Filters"
3138
3570
  },
3139
- "productNameFilterLabel": {
3140
- "title": "Filter by product name text",
3141
- "type": "string",
3142
- "default": "Product name"
3143
- },
3144
- "sortLabel": {
3145
- "title": "Sort filter text",
3146
- "type": "string",
3147
- "default": "Sort by"
3571
+ "sortLabels": {
3572
+ "title": "Sort labels",
3573
+ "type": "object",
3574
+ "properties": {
3575
+ "label": {
3576
+ "title": "Sort filter text",
3577
+ "type": "string",
3578
+ "default": "Sort by"
3579
+ },
3580
+ "options": {
3581
+ "title": "Sort options",
3582
+ "type": "object",
3583
+ "properties": {
3584
+ "productByName": {
3585
+ "title": "Product Name",
3586
+ "type": "string",
3587
+ "default": "Product Name"
3588
+ },
3589
+ "productByPrice": {
3590
+ "title": "Price",
3591
+ "type": "string",
3592
+ "default": "Price"
3593
+ }
3594
+ }
3595
+ }
3596
+ }
3148
3597
  },
3149
3598
  "toggleFieldLabel": {
3150
3599
  "title": "Toggle filter text",
@@ -3161,11 +3610,6 @@
3161
3610
  "type": "string",
3162
3611
  "default": "Add to cart"
3163
3612
  },
3164
- "priceLabel": {
3165
- "title": "Price text",
3166
- "type": "string",
3167
- "default": "Price"
3168
- },
3169
3613
  "priceWithTaxLabel": {
3170
3614
  "title": "Price with taxes text",
3171
3615
  "type": "string",
@@ -3193,7 +3637,11 @@
3193
3637
  }
3194
3638
  }
3195
3639
  }
3196
- }
3640
+ },
3641
+ "readOnly": false,
3642
+ "writeOnly": false,
3643
+ "deprecated": false,
3644
+ "$abstract": false
3197
3645
  },
3198
3646
  "ProductShelf": {
3199
3647
  "$extends": ["#/$defs/base-component"],
@@ -3310,7 +3758,11 @@
3310
3758
  }
3311
3759
  }
3312
3760
  }
3313
- }
3761
+ },
3762
+ "readOnly": false,
3763
+ "writeOnly": false,
3764
+ "deprecated": false,
3765
+ "$abstract": false
3314
3766
  },
3315
3767
  "ProductTiles": {
3316
3768
  "$extends": ["#/$defs/base-component"],
@@ -3405,7 +3857,11 @@
3405
3857
  }
3406
3858
  }
3407
3859
  }
3408
- }
3860
+ },
3861
+ "readOnly": false,
3862
+ "writeOnly": false,
3863
+ "deprecated": false,
3864
+ "$abstract": false
3409
3865
  },
3410
3866
  "RegionBar": {
3411
3867
  "$extends": ["#/$defs/base-component"],
@@ -3463,7 +3919,11 @@
3463
3919
  }
3464
3920
  }
3465
3921
  }
3466
- }
3922
+ },
3923
+ "readOnly": false,
3924
+ "writeOnly": false,
3925
+ "deprecated": false,
3926
+ "$abstract": false
3467
3927
  },
3468
3928
  "RegionModal": {
3469
3929
  "$extends": ["#/$defs/base-component"],
@@ -3548,7 +4008,11 @@
3548
4008
  }
3549
4009
  }
3550
4010
  }
3551
- }
4011
+ },
4012
+ "readOnly": false,
4013
+ "writeOnly": false,
4014
+ "deprecated": false,
4015
+ "$abstract": false
3552
4016
  },
3553
4017
  "RegionPopover": {
3554
4018
  "$extends": ["#/$defs/base-component"],
@@ -3645,7 +4109,40 @@
3645
4109
  }
3646
4110
  }
3647
4111
  }
3648
- }
4112
+ },
4113
+ "readOnly": false,
4114
+ "writeOnly": false,
4115
+ "deprecated": false,
4116
+ "$abstract": false
4117
+ },
4118
+ "ScrollToTopButton": {
4119
+ "$extends": ["#/$defs/base-component"],
4120
+ "$componentKey": "ScrollToTopButton",
4121
+ "$componentTitle": "Scroll to Top Button",
4122
+ "title": "Scroll to Top Button",
4123
+ "description": "A button to scroll the page back to the top",
4124
+ "type": "object",
4125
+ "required": ["text"],
4126
+ "properties": {
4127
+ "text": {
4128
+ "title": "Button Text",
4129
+ "description": "Text displayed on the button",
4130
+ "type": "string",
4131
+ "default": "Scroll to top"
4132
+ },
4133
+ "iconPosition": {
4134
+ "title": "Icon Position",
4135
+ "description": "Position of the icon relative to the text",
4136
+ "type": "string",
4137
+ "enumNames": ["Left", "Right"],
4138
+ "enum": ["left", "right"],
4139
+ "default": "left"
4140
+ }
4141
+ },
4142
+ "readOnly": false,
4143
+ "writeOnly": false,
4144
+ "deprecated": false,
4145
+ "$abstract": false
3649
4146
  },
3650
4147
  "Search": {
3651
4148
  "$extends": ["#/$defs/base-component"],
@@ -3789,7 +4286,11 @@
3789
4286
  }
3790
4287
  }
3791
4288
  }
3792
- }
4289
+ },
4290
+ "readOnly": false,
4291
+ "writeOnly": false,
4292
+ "deprecated": false,
4293
+ "$abstract": false
3793
4294
  },
3794
4295
  "ShoppingAssistant": {
3795
4296
  "$extends": ["#/$defs/base-component"],
@@ -3879,6 +4380,9 @@
3879
4380
  {
3880
4381
  "$ref": "#/components/RegionPopover"
3881
4382
  },
4383
+ {
4384
+ "$ref": "#/components/ScrollToTopButton"
4385
+ },
3882
4386
  {
3883
4387
  "$ref": "#/components/Search"
3884
4388
  },