@faststore/core 22.42.6

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 (475) hide show
  1. package/.babelrc +4 -0
  2. package/.editorconfig +13 -0
  3. package/.eslintignore +8 -0
  4. package/.eslintrc +21 -0
  5. package/.github/CODEOWNERS +2 -0
  6. package/.github/workflows/release.yml +40 -0
  7. package/.husky/pre-commit +4 -0
  8. package/.prettierignore +8 -0
  9. package/.prettierrc +1 -0
  10. package/.release-it.json +31 -0
  11. package/.storybook/components/BestPractices.tsx +18 -0
  12. package/.storybook/components/BestPracticesRule.tsx +43 -0
  13. package/.storybook/components/Callout.tsx +12 -0
  14. package/.storybook/components/SectionItem.tsx +44 -0
  15. package/.storybook/components/SectionList.tsx +27 -0
  16. package/.storybook/components/TokenDivider.tsx +12 -0
  17. package/.storybook/components/TokenRow.tsx +32 -0
  18. package/.storybook/components/TokenTable.tsx +33 -0
  19. package/.storybook/components/index.ts +8 -0
  20. package/.storybook/main.js +59 -0
  21. package/.storybook/manager-head.html +9 -0
  22. package/.storybook/manager.js +6 -0
  23. package/.storybook/mocks/cart-sidebar.js +40 -0
  24. package/.storybook/mocks/filter-slider.js +59 -0
  25. package/.storybook/mocks/index.ts +5 -0
  26. package/.storybook/mocks/product.ts +67 -0
  27. package/.storybook/mocks/productGridItems.ts +334 -0
  28. package/.storybook/mocks/searchHistory.ts +8 -0
  29. package/.storybook/mocks/searchTerms.ts +5 -0
  30. package/.storybook/preview-head.html +1 -0
  31. package/.storybook/preview.js +89 -0
  32. package/.storybook/storybook.css +550 -0
  33. package/.storybook/theme.js +21 -0
  34. package/.stylelintignore +1 -0
  35. package/.vscode/settings.json +7 -0
  36. package/@generated/graphql/index.ts +1133 -0
  37. package/@generated/graphql/persisted.json +12 -0
  38. package/CHANGELOG.md +730 -0
  39. package/LICENSE +21 -0
  40. package/README.md +437 -0
  41. package/bun.lockb +0 -0
  42. package/cms/content-types.json +52 -0
  43. package/cms/sections.json +350 -0
  44. package/cms/translation-keys.json +1 -0
  45. package/cms-webhook-urls.json +5 -0
  46. package/codegen.yml +22 -0
  47. package/cypress/fixtures/example.json +5 -0
  48. package/cypress/global.js +15 -0
  49. package/cypress/integration/a11y.test.js +45 -0
  50. package/cypress/integration/analytics.test.js +381 -0
  51. package/cypress/integration/cart.test.js +100 -0
  52. package/cypress/integration/performance.test.js +65 -0
  53. package/cypress/integration/plp.test.js +224 -0
  54. package/cypress/integration/search.test.js +38 -0
  55. package/cypress/integration/seo.test.js +318 -0
  56. package/cypress/plugins/index.js +41 -0
  57. package/cypress/support/commands.js +70 -0
  58. package/cypress/support/index.js +3 -0
  59. package/cypress.json +9 -0
  60. package/lighthouserc.js +22 -0
  61. package/next-env.d.ts +5 -0
  62. package/next.config.js +35 -0
  63. package/package.json +114 -0
  64. package/postcss.config.js +5 -0
  65. package/public/brandless-negative.png +0 -0
  66. package/public/brandless-neutral.png +0 -0
  67. package/public/brandless-positive.png +0 -0
  68. package/public/brandless-storybook.png +0 -0
  69. package/public/favicon.ico +0 -0
  70. package/public/icons.svg +58 -0
  71. package/public/logo.svg +42 -0
  72. package/public/mockServiceWorker.js +367 -0
  73. package/public/robots.txt +5 -0
  74. package/pull_request_template.md +37 -0
  75. package/renovate.json +5 -0
  76. package/src/Layout.tsx +51 -0
  77. package/src/components/ThirdPartyScripts/GoogleTagManager.tsx +61 -0
  78. package/src/components/ThirdPartyScripts/ThirdPartyScripts.tsx +37 -0
  79. package/src/components/ThirdPartyScripts/index.ts +1 -0
  80. package/src/components/ThirdPartyScripts/vtex.tsx +23 -0
  81. package/src/components/cart/CartItem/CartItem.stories.mdx +134 -0
  82. package/src/components/cart/CartItem/CartItem.tsx +158 -0
  83. package/src/components/cart/CartItem/cart-item.module.scss +68 -0
  84. package/src/components/cart/CartItem/index.ts +1 -0
  85. package/src/components/cart/CartSidebar/CartSidebar.stories.mdx +119 -0
  86. package/src/components/cart/CartSidebar/CartSidebar.tsx +140 -0
  87. package/src/components/cart/CartSidebar/cart-sidebar.module.scss +69 -0
  88. package/src/components/cart/CartSidebar/index.ts +1 -0
  89. package/src/components/cart/CartToggle/CartToggle.tsx +20 -0
  90. package/src/components/cart/CartToggle/index.ts +1 -0
  91. package/src/components/cart/EmptyCart/EmptyCart.tsx +26 -0
  92. package/src/components/cart/EmptyCart/index.ts +1 -0
  93. package/src/components/cart/OrderSummary/OrderSummary.tsx +39 -0
  94. package/src/components/cart/OrderSummary/index.ts +1 -0
  95. package/src/components/cart/OrderSummary/order-summary.module.scss +22 -0
  96. package/src/components/cms/RenderPageSections.tsx +52 -0
  97. package/src/components/cms/SectionBoundary.tsx +34 -0
  98. package/src/components/common/Alert/Alert.tsx +53 -0
  99. package/src/components/common/Alert/index.ts +1 -0
  100. package/src/components/common/Footer/Footer.stories.mdx +158 -0
  101. package/src/components/common/Footer/Footer.tsx +160 -0
  102. package/src/components/common/Footer/FooterLinks.tsx +155 -0
  103. package/src/components/common/Footer/footer.module.scss +246 -0
  104. package/src/components/common/Footer/index.ts +2 -0
  105. package/src/components/common/Navbar/NavLinks.stories.mdx +122 -0
  106. package/src/components/common/Navbar/NavLinks.tsx +58 -0
  107. package/src/components/common/Navbar/Navbar.stories.mdx +179 -0
  108. package/src/components/common/Navbar/Navbar.tsx +97 -0
  109. package/src/components/common/Navbar/NavbarSlider.stories.mdx +108 -0
  110. package/src/components/common/Navbar/NavbarSlider.tsx +62 -0
  111. package/src/components/common/Navbar/index.ts +3 -0
  112. package/src/components/common/Navbar/navbar-slider.module.scss +60 -0
  113. package/src/components/common/Navbar/navbar.module.scss +204 -0
  114. package/src/components/common/Navbar/navlinks.module.scss +96 -0
  115. package/src/components/common/Toast/Toast.tsx +40 -0
  116. package/src/components/common/Toast/index.ts +1 -0
  117. package/src/components/product/OutOfStock/OutOfStock.stories.mdx +127 -0
  118. package/src/components/product/OutOfStock/OutOfStock.tsx +134 -0
  119. package/src/components/product/OutOfStock/index.ts +2 -0
  120. package/src/components/product/OutOfStock/out-of-stock.module.scss +55 -0
  121. package/src/components/product/ProductCard/ProductCard.stories.mdx +412 -0
  122. package/src/components/product/ProductCard/ProductCard.tsx +170 -0
  123. package/src/components/product/ProductCard/index.ts +2 -0
  124. package/src/components/product/ProductCard/product-card.module.scss +254 -0
  125. package/src/components/product/ProductGrid/ProductGrid.stories.mdx +97 -0
  126. package/src/components/product/ProductGrid/ProductGrid.tsx +37 -0
  127. package/src/components/product/ProductGrid/index.ts +1 -0
  128. package/src/components/product/ProductGrid/product-grid.module.scss +39 -0
  129. package/src/components/regionalization/Regionalization.stories.mdx +182 -0
  130. package/src/components/regionalization/RegionalizationBar/RegionalizationBar.stories.mdx +116 -0
  131. package/src/components/regionalization/RegionalizationBar/RegionalizationBar.tsx +40 -0
  132. package/src/components/regionalization/RegionalizationBar/index.ts +1 -0
  133. package/src/components/regionalization/RegionalizationBar/regionalization-bar.module.scss +56 -0
  134. package/src/components/regionalization/RegionalizationButton/RegionalizationButton.tsx +24 -0
  135. package/src/components/regionalization/RegionalizationButton/index.ts +1 -0
  136. package/src/components/regionalization/RegionalizationInput/RegionalizationInput.tsx +61 -0
  137. package/src/components/regionalization/RegionalizationInput/index.ts +1 -0
  138. package/src/components/regionalization/RegionalizationModal/RegionalizationModal.stories.mdx +161 -0
  139. package/src/components/regionalization/RegionalizationModal/RegionalizationModal.tsx +13 -0
  140. package/src/components/regionalization/RegionalizationModal/RegionalizationModalContent.tsx +48 -0
  141. package/src/components/regionalization/RegionalizationModal/index.ts +2 -0
  142. package/src/components/regionalization/RegionalizationModal/regionalization-modal-content.module.scss +79 -0
  143. package/src/components/search/Filter/Facets.stories.mdx +284 -0
  144. package/src/components/search/Filter/Facets.tsx +136 -0
  145. package/src/components/search/Filter/Filter.stories.mdx +209 -0
  146. package/src/components/search/Filter/Filter.tsx +91 -0
  147. package/src/components/search/Filter/FilterSlider.stories.mdx +226 -0
  148. package/src/components/search/Filter/FilterSlider.tsx +109 -0
  149. package/src/components/search/Filter/facets.module.scss +117 -0
  150. package/src/components/search/Filter/filter-slider.module.scss +63 -0
  151. package/src/components/search/Filter/index.ts +2 -0
  152. package/src/components/search/Filter/useFilter.ts +131 -0
  153. package/src/components/search/Search.stories.mdx +169 -0
  154. package/src/components/search/SearchDropdown/SearchDropdown.stories.mdx +62 -0
  155. package/src/components/search/SearchDropdown/SearchDropdown.tsx +44 -0
  156. package/src/components/search/SearchDropdown/index.ts +2 -0
  157. package/src/components/search/SearchHistory/SearchHistory.stories.mdx +59 -0
  158. package/src/components/search/SearchHistory/SearchHistory.tsx +51 -0
  159. package/src/components/search/SearchHistory/index.ts +1 -0
  160. package/src/components/search/SearchInput/SearchInput.stories.mdx +205 -0
  161. package/src/components/search/SearchInput/SearchInput.tsx +128 -0
  162. package/src/components/search/SearchInput/index.ts +2 -0
  163. package/src/components/search/SearchInput/search-input.module.scss +153 -0
  164. package/src/components/search/SearchProductCard/SearchProductCard.stories.mdx +96 -0
  165. package/src/components/search/SearchProductCard/SearchProductCard.tsx +103 -0
  166. package/src/components/search/SearchProductCard/index.ts +1 -0
  167. package/src/components/search/SearchProductCard/search-product-card.module.scss +54 -0
  168. package/src/components/search/SearchSharedTokenTable.mdx +98 -0
  169. package/src/components/search/SearchSuggestions/SearchSuggestions.stories.mdx +58 -0
  170. package/src/components/search/SearchSuggestions/SearchSuggestions.tsx +136 -0
  171. package/src/components/search/SearchSuggestions/index.ts +2 -0
  172. package/src/components/search/SearchTop/SearchTop.stories.mdx +58 -0
  173. package/src/components/search/SearchTop/SearchTop.tsx +78 -0
  174. package/src/components/search/SearchTop/index.ts +2 -0
  175. package/src/components/search/Sort/Sort.tsx +42 -0
  176. package/src/components/search/Sort/index.ts +1 -0
  177. package/src/components/search/search.module.scss +101 -0
  178. package/src/components/search/searchMock.ts +48 -0
  179. package/src/components/sections/BannerNewsletter/BannerNewsletter.tsx +28 -0
  180. package/src/components/sections/BannerNewsletter/banner-newsletter.module.scss +23 -0
  181. package/src/components/sections/BannerText/BannerText.stories.mdx +270 -0
  182. package/src/components/sections/BannerText/BannerText.tsx +87 -0
  183. package/src/components/sections/BannerText/banner-text.module.scss +127 -0
  184. package/src/components/sections/BannerText/index.ts +2 -0
  185. package/src/components/sections/Breadcrumb/Breadcrumb.tsx +24 -0
  186. package/src/components/sections/Breadcrumb/index.ts +1 -0
  187. package/src/components/sections/Hero/Hero.stories.mdx +277 -0
  188. package/src/components/sections/Hero/Hero.tsx +109 -0
  189. package/src/components/sections/Hero/hero.module.scss +180 -0
  190. package/src/components/sections/Hero/index.ts +2 -0
  191. package/src/components/sections/Incentives/Incentives.stories.mdx +159 -0
  192. package/src/components/sections/Incentives/Incentives.tsx +69 -0
  193. package/src/components/sections/Incentives/IncentivesFooter.tsx +8 -0
  194. package/src/components/sections/Incentives/IncentivesHeader.tsx +23 -0
  195. package/src/components/sections/Incentives/incentives.module.scss +122 -0
  196. package/src/components/sections/Incentives/incentivesMock.ts +55 -0
  197. package/src/components/sections/Incentives/index.ts +2 -0
  198. package/src/components/sections/Newsletter/Newsletter.stories.mdx +139 -0
  199. package/src/components/sections/Newsletter/Newsletter.tsx +151 -0
  200. package/src/components/sections/Newsletter/index.ts +2 -0
  201. package/src/components/sections/Newsletter/newsletter.module.scss +135 -0
  202. package/src/components/sections/ProducDetailsContent/ProductDetailsContent.stories.mdx +66 -0
  203. package/src/components/sections/ProducDetailsContent/ProductDetailsContent.tsx +278 -0
  204. package/src/components/sections/ProducDetailsContent/index.ts +1 -0
  205. package/src/components/sections/ProducDetailsContent/product-details-content.module.scss +50 -0
  206. package/src/components/sections/ProductDetails/ProductDetails.tsx +316 -0
  207. package/src/components/sections/ProductDetails/index.ts +1 -0
  208. package/src/components/sections/ProductDetails/product-details.module.scss +194 -0
  209. package/src/components/sections/ProductGallery/EmptyGallery.tsx +38 -0
  210. package/src/components/sections/ProductGallery/ProductGallery.tsx +186 -0
  211. package/src/components/sections/ProductGallery/ProductGalleryPage.tsx +70 -0
  212. package/src/components/sections/ProductGallery/index.ts +1 -0
  213. package/src/components/sections/ProductGallery/product-gallery.module.scss +184 -0
  214. package/src/components/sections/ProductGallery/useDelayedFacets.ts +18 -0
  215. package/src/components/sections/ProductGallery/useDelayedPagination.ts +16 -0
  216. package/src/components/sections/ProductGallery/useGalleryQuery.ts +58 -0
  217. package/src/components/sections/ProductGallery/usePageProducts.ts +48 -0
  218. package/src/components/sections/ProductShelf/ProductShelf.tsx +68 -0
  219. package/src/components/sections/ProductShelf/index.ts +1 -0
  220. package/src/components/sections/ProductShelf/product-shelf.module.scss +41 -0
  221. package/src/components/sections/ProductTiles/ProductTiles.tsx +83 -0
  222. package/src/components/sections/ProductTiles/index.ts +1 -0
  223. package/src/components/sections/ScrollToTopButton/ScrollToTopButton.tsx +45 -0
  224. package/src/components/sections/ScrollToTopButton/index.ts +1 -0
  225. package/src/components/sections/ScrollToTopButton/scroll-to-top-button.module.scss +12 -0
  226. package/src/components/sections/Section/Section.tsx +15 -0
  227. package/src/components/sections/Section/index.ts +1 -0
  228. package/src/components/sections/Section/section.scss +16 -0
  229. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.stories.mdx +97 -0
  230. package/src/components/skeletons/FilterSkeleton/FilterSkeleton.tsx +34 -0
  231. package/src/components/skeletons/FilterSkeleton/filter-skeleton.module.scss +51 -0
  232. package/src/components/skeletons/FilterSkeleton/index.ts +1 -0
  233. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.stories.mdx +176 -0
  234. package/src/components/skeletons/ProductCardSkeleton/ProductCardSkeleton.tsx +52 -0
  235. package/src/components/skeletons/ProductCardSkeleton/index.ts +1 -0
  236. package/src/components/skeletons/ProductCardSkeleton/product-card-skeleton.module.scss +97 -0
  237. package/src/components/skeletons/ProductGridSkeleton/ProductGridSkeleton.tsx +29 -0
  238. package/src/components/skeletons/ProductGridSkeleton/index.ts +1 -0
  239. package/src/components/skeletons/ProductShelfSkeleton/ProductShelfSkeleton.tsx +32 -0
  240. package/src/components/skeletons/ProductShelfSkeleton/index.ts +1 -0
  241. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/ProductTileSkeleton.tsx +57 -0
  242. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/index.ts +1 -0
  243. package/src/components/skeletons/ProductTilesSkeleton/ProductTileSkeleton/product-tile-skeleton.module.scss +218 -0
  244. package/src/components/skeletons/ProductTilesSkeleton/ProductTilesSkeleton.tsx +33 -0
  245. package/src/components/skeletons/ProductTilesSkeleton/index.ts +2 -0
  246. package/src/components/skeletons/Shimmer/Shimmer.tsx +11 -0
  247. package/src/components/skeletons/Shimmer/index.ts +1 -0
  248. package/src/components/skeletons/Shimmer/shimmer.module.scss +43 -0
  249. package/src/components/skeletons/Skeleton/Skeleton.tsx +49 -0
  250. package/src/components/skeletons/Skeleton/index.ts +1 -0
  251. package/src/components/skeletons/Skeleton/skeleton.module.scss +77 -0
  252. package/src/components/skeletons/Skeletons.stories.mdx +178 -0
  253. package/src/components/ui/Accordion/Accordion.stories.mdx +219 -0
  254. package/src/components/ui/Accordion/Accordion.tsx +39 -0
  255. package/src/components/ui/Accordion/AccordionItem.stories.mdx +116 -0
  256. package/src/components/ui/Accordion/AccordionItem.tsx +82 -0
  257. package/src/components/ui/Accordion/accordion.module.scss +65 -0
  258. package/src/components/ui/Accordion/index.ts +2 -0
  259. package/src/components/ui/Alert/Alert.stories.mdx +164 -0
  260. package/src/components/ui/Alert/Alert.tsx +78 -0
  261. package/src/components/ui/Alert/alert.module.scss +93 -0
  262. package/src/components/ui/Alert/index.ts +1 -0
  263. package/src/components/ui/Badge/Badge.stories.mdx +465 -0
  264. package/src/components/ui/Badge/Badge.tsx +76 -0
  265. package/src/components/ui/Badge/DiscountBadge.stories.mdx +191 -0
  266. package/src/components/ui/Badge/DiscountBadge.tsx +57 -0
  267. package/src/components/ui/Badge/badge.module.scss +252 -0
  268. package/src/components/ui/Badge/index.ts +4 -0
  269. package/src/components/ui/Breadcrumb/Breadcrumb.stories.mdx +197 -0
  270. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +122 -0
  271. package/src/components/ui/Breadcrumb/breadcrumb.module.scss +144 -0
  272. package/src/components/ui/Breadcrumb/index.ts +2 -0
  273. package/src/components/ui/Button/Button.stories.mdx +685 -0
  274. package/src/components/ui/Button/Button.tsx +85 -0
  275. package/src/components/ui/Button/ButtonBuy/ButtonBuy.tsx +24 -0
  276. package/src/components/ui/Button/ButtonBuy/index.ts +1 -0
  277. package/src/components/ui/Button/ButtonLink/ButtonLink.tsx +49 -0
  278. package/src/components/ui/Button/ButtonLink/ButtonSignIn/ButtonSignIn.tsx +22 -0
  279. package/src/components/ui/Button/ButtonLink/ButtonSignIn/ButtonSignInFallback/ButtonSignInFallback.tsx +18 -0
  280. package/src/components/ui/Button/ButtonLink/ButtonSignIn/ButtonSignInFallback/index.ts +1 -0
  281. package/src/components/ui/Button/ButtonLink/ButtonSignIn/index.ts +1 -0
  282. package/src/components/ui/Button/ButtonLink/index.ts +1 -0
  283. package/src/components/ui/Button/button.module.scss +392 -0
  284. package/src/components/ui/Button/index.ts +6 -0
  285. package/src/components/ui/Checkbox/Checkbox.stories.mdx +268 -0
  286. package/src/components/ui/Checkbox/Checkbox.tsx +20 -0
  287. package/src/components/ui/Checkbox/checkbox.module.scss +157 -0
  288. package/src/components/ui/Checkbox/index.ts +2 -0
  289. package/src/components/ui/Dropdown/Dropdown.stories.mdx +232 -0
  290. package/src/components/ui/Dropdown/Dropdown.tsx +12 -0
  291. package/src/components/ui/Dropdown/DropdownButton.tsx +20 -0
  292. package/src/components/ui/Dropdown/DropdownItem.stories.mdx +139 -0
  293. package/src/components/ui/Dropdown/DropdownItem.tsx +26 -0
  294. package/src/components/ui/Dropdown/DropdownMenu.stories.mdx +115 -0
  295. package/src/components/ui/Dropdown/DropdownMenu.tsx +34 -0
  296. package/src/components/ui/Dropdown/dropdown.module.scss +101 -0
  297. package/src/components/ui/Dropdown/index.ts +4 -0
  298. package/src/components/ui/EmptyState/EmptyState.stories.mdx +146 -0
  299. package/src/components/ui/EmptyState/EmptyState.tsx +26 -0
  300. package/src/components/ui/EmptyState/empty-state.module.scss +63 -0
  301. package/src/components/ui/EmptyState/index.ts +1 -0
  302. package/src/components/ui/Gift/Gift.stories.mdx +99 -0
  303. package/src/components/ui/Gift/Gift.tsx +76 -0
  304. package/src/components/ui/Gift/gift.module.scss +94 -0
  305. package/src/components/ui/Gift/index.ts +2 -0
  306. package/src/components/ui/Icon/Icon.tsx +35 -0
  307. package/src/components/ui/Icon/index.ts +1 -0
  308. package/src/components/ui/Image/Image.tsx +59 -0
  309. package/src/components/ui/Image/index.ts +1 -0
  310. package/src/components/ui/Image/thumborUrlBuilder.ts +101 -0
  311. package/src/components/ui/Image/useImage.ts +46 -0
  312. package/src/components/ui/ImageGallery/ImageGallery.stories.mdx +173 -0
  313. package/src/components/ui/ImageGallery/ImageGallery.tsx +51 -0
  314. package/src/components/ui/ImageGallery/ImageGallerySelector.tsx +116 -0
  315. package/src/components/ui/ImageGallery/ImageZoom.tsx +12 -0
  316. package/src/components/ui/ImageGallery/image-gallery-selector.module.scss +131 -0
  317. package/src/components/ui/ImageGallery/image-gallery.module.scss +56 -0
  318. package/src/components/ui/ImageGallery/index.ts +4 -0
  319. package/src/components/ui/InputText/InputText.stories.mdx +311 -0
  320. package/src/components/ui/InputText/InputText.tsx +128 -0
  321. package/src/components/ui/InputText/index.ts +2 -0
  322. package/src/components/ui/InputText/input-text.module.scss +168 -0
  323. package/src/components/ui/Link/Link.stories.mdx +272 -0
  324. package/src/components/ui/Link/Link.tsx +68 -0
  325. package/src/components/ui/Link/index.ts +2 -0
  326. package/src/components/ui/Link/link.module.scss +98 -0
  327. package/src/components/ui/Logo/Logo.tsx +14 -0
  328. package/src/components/ui/Logo/index.ts +1 -0
  329. package/src/components/ui/Logo/logo.module.scss +12 -0
  330. package/src/components/ui/Modal/Modal.stories.mdx +142 -0
  331. package/src/components/ui/Modal/Modal.tsx +43 -0
  332. package/src/components/ui/Modal/index.ts +1 -0
  333. package/src/components/ui/Modal/modal.module.scss +46 -0
  334. package/src/components/ui/Price/Price.stories.mdx +194 -0
  335. package/src/components/ui/Price/Price.tsx +32 -0
  336. package/src/components/ui/Price/index.ts +1 -0
  337. package/src/components/ui/Price/price.module.scss +27 -0
  338. package/src/components/ui/PriceRange/PriceRange.stories.mdx +192 -0
  339. package/src/components/ui/PriceRange/PriceRange.tsx +138 -0
  340. package/src/components/ui/PriceRange/index.ts +1 -0
  341. package/src/components/ui/PriceRange/price-range.module.scss +176 -0
  342. package/src/components/ui/ProductTitle/ProductTitle.stories.mdx +107 -0
  343. package/src/components/ui/ProductTitle/ProductTitle.tsx +11 -0
  344. package/src/components/ui/ProductTitle/index.ts +1 -0
  345. package/src/components/ui/ProductTitle/product-title.module.scss +48 -0
  346. package/src/components/ui/QuantitySelector/QuantitySelector.stories.mdx +246 -0
  347. package/src/components/ui/QuantitySelector/QuantitySelector.tsx +103 -0
  348. package/src/components/ui/QuantitySelector/index.ts +1 -0
  349. package/src/components/ui/QuantitySelector/quantity-selector.module.scss +160 -0
  350. package/src/components/ui/Radio/Radio.stories.mdx +237 -0
  351. package/src/components/ui/Radio/Radio.tsx +36 -0
  352. package/src/components/ui/Radio/index.ts +2 -0
  353. package/src/components/ui/Radio/radio.module.scss +122 -0
  354. package/src/components/ui/SROnly/SROnly.tsx +20 -0
  355. package/src/components/ui/SROnly/index.ts +1 -0
  356. package/src/components/ui/SROnly/sr-only.module.scss +15 -0
  357. package/src/components/ui/Select/Select.stories.mdx +168 -0
  358. package/src/components/ui/Select/Select.tsx +70 -0
  359. package/src/components/ui/Select/index.ts +2 -0
  360. package/src/components/ui/Select/select.module.scss +85 -0
  361. package/src/components/ui/ShippingSimulation/ShippingSimulation.stories.mdx +140 -0
  362. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +109 -0
  363. package/src/components/ui/ShippingSimulation/index.ts +1 -0
  364. package/src/components/ui/ShippingSimulation/shipping-simulation.module.scss +96 -0
  365. package/src/components/ui/ShippingSimulation/useShippingSimulation.ts +225 -0
  366. package/src/components/ui/SkuSelector/Selectors.stories.mdx +82 -0
  367. package/src/components/ui/SkuSelector/Selectors.tsx +87 -0
  368. package/src/components/ui/SkuSelector/SkuSelector.stories.mdx +345 -0
  369. package/src/components/ui/SkuSelector/SkuSelector.tsx +46 -0
  370. package/src/components/ui/SkuSelector/index.ts +3 -0
  371. package/src/components/ui/SkuSelector/sku-selector.module.scss +172 -0
  372. package/src/components/ui/SkuSelector/skuVariants.ts +59 -0
  373. package/src/components/ui/SlideOver/SlideOver.stories.mdx +285 -0
  374. package/src/components/ui/SlideOver/SlideOver.tsx +58 -0
  375. package/src/components/ui/SlideOver/index.ts +1 -0
  376. package/src/components/ui/SlideOver/overlay.scss +14 -0
  377. package/src/components/ui/SlideOver/slide-over.module.scss +63 -0
  378. package/src/components/ui/Tiles/Tiles.stories.mdx +153 -0
  379. package/src/components/ui/Tiles/Tiles.tsx +14 -0
  380. package/src/components/ui/Tiles/index.ts +5 -0
  381. package/src/components/ui/Tiles/tiles.module.scss +60 -0
  382. package/src/components/ui/Toast/Toast.stories.mdx +158 -0
  383. package/src/components/ui/Toast/Toast.tsx +56 -0
  384. package/src/components/ui/Toast/index.ts +1 -0
  385. package/src/components/ui/Toast/toast.module.scss +112 -0
  386. package/src/components/ui/Toggle/Toggle.stories.mdx +604 -0
  387. package/src/components/ui/Toggle/Toggle.tsx +75 -0
  388. package/src/components/ui/Toggle/index.ts +2 -0
  389. package/src/components/ui/Toggle/toggle.module.scss +200 -0
  390. package/src/constants.ts +2 -0
  391. package/src/fonts/WebFonts.tsx +15 -0
  392. package/src/images/icon.png +0 -0
  393. package/src/pages/404.tsx +27 -0
  394. package/src/pages/500.tsx +31 -0
  395. package/src/pages/[...slug].tsx +186 -0
  396. package/src/pages/[slug]/p.tsx +209 -0
  397. package/src/pages/_app.tsx +38 -0
  398. package/src/pages/_document.tsx +22 -0
  399. package/src/pages/account.tsx +20 -0
  400. package/src/pages/api/graphql.ts +72 -0
  401. package/src/pages/api/preview.ts +61 -0
  402. package/src/pages/checkout.tsx +20 -0
  403. package/src/pages/index.tsx +72 -0
  404. package/src/pages/login.tsx +20 -0
  405. package/src/pages/s.tsx +83 -0
  406. package/src/sdk/analytics/hooks/useViewItemListEvent.ts +51 -0
  407. package/src/sdk/analytics/index.tsx +30 -0
  408. package/src/sdk/analytics/platform/vtex/index.ts +11 -0
  409. package/src/sdk/analytics/platform/vtex/search.ts +102 -0
  410. package/src/sdk/analytics/types.ts +22 -0
  411. package/src/sdk/cart/index.ts +187 -0
  412. package/src/sdk/cart/useBuyButton.ts +62 -0
  413. package/src/sdk/cart/useCartToggleButton.ts +23 -0
  414. package/src/sdk/cart/useCheckoutButton.ts +22 -0
  415. package/src/sdk/cart/useRemoveButton.ts +56 -0
  416. package/src/sdk/error/ErrorBoundary/ErrorBoundary.tsx +67 -0
  417. package/src/sdk/error/ErrorBoundary/index.ts +1 -0
  418. package/src/sdk/graphql/prefetchQuery.ts +20 -0
  419. package/src/sdk/graphql/request.ts +25 -0
  420. package/src/sdk/graphql/useLazyQuery.ts +29 -0
  421. package/src/sdk/graphql/useQuery.ts +40 -0
  422. package/src/sdk/newsletter/useNewsletter.ts +31 -0
  423. package/src/sdk/product/useDiscountPercent.ts +10 -0
  424. package/src/sdk/product/useFormattedPrice.ts +27 -0
  425. package/src/sdk/product/useProduct.ts +46 -0
  426. package/src/sdk/product/useProductLink.ts +69 -0
  427. package/src/sdk/product/useProductsQuery.ts +107 -0
  428. package/src/sdk/search/Sentinel.tsx +78 -0
  429. package/src/sdk/search/state.ts +11 -0
  430. package/src/sdk/search/useSearchHistory.ts +40 -0
  431. package/src/sdk/search/useSearchInput.tsx +43 -0
  432. package/src/sdk/search/useSuggestions.ts +49 -0
  433. package/src/sdk/search/useTopSearch.ts +49 -0
  434. package/src/sdk/session/index.ts +71 -0
  435. package/src/sdk/tests/mark.tsx +10 -0
  436. package/src/sdk/ui/Provider.tsx +151 -0
  437. package/src/sdk/ui/useFadeEffect.ts +21 -0
  438. package/src/sdk/ui/useOnClickOutside.ts +39 -0
  439. package/src/sdk/ui/useScrollDirection.ts +31 -0
  440. package/src/sdk/useStore.ts +24 -0
  441. package/src/server/cms.ts +66 -0
  442. package/src/server/index.ts +105 -0
  443. package/src/stories/brandless.stories.mdx +85 -0
  444. package/src/stories/changelog-template.stories.mdx +10 -0
  445. package/src/stories/colors.stories.mdx +306 -0
  446. package/src/stories/customizing.stories.mdx +113 -0
  447. package/src/stories/getting-started.stories.mdx +65 -0
  448. package/src/stories/grid-layout.stories.mdx +53 -0
  449. package/src/stories/icons.stories.mdx +237 -0
  450. package/src/stories/interactive-controls.stories.mdx +50 -0
  451. package/src/stories/midnight.stories.mdx +56 -0
  452. package/src/stories/refinements.stories.mdx +96 -0
  453. package/src/stories/soft-blue.stories.mdx +56 -0
  454. package/src/stories/spacing.stories.mdx +38 -0
  455. package/src/stories/typography.stories.mdx +224 -0
  456. package/src/styles/global/components.scss +5 -0
  457. package/src/styles/global/layout.scss +80 -0
  458. package/src/styles/global/resets.scss +48 -0
  459. package/src/styles/global/storybook-components.scss +5 -0
  460. package/src/styles/global/tokens.scss +276 -0
  461. package/src/styles/global/typography.scss +66 -0
  462. package/src/styles/global/utilities.scss +69 -0
  463. package/src/styles/scaffold.scss +7 -0
  464. package/src/styles/themes/custom-theme.scss +36 -0
  465. package/src/styles/themes/midnight.scss +123 -0
  466. package/src/styles/themes/soft-blue.scss +79 -0
  467. package/src/styles/vendors/include-media.scss +4 -0
  468. package/src/styles/vendors/include-media_overwrite.scss +9 -0
  469. package/src/styles/vendors/modern-normalize.css +270 -0
  470. package/src/typings/global.d.ts +6 -0
  471. package/src/typings/module.css.d.ts +7 -0
  472. package/store.config.js +69 -0
  473. package/stylelint.config.js +82 -0
  474. package/tsconfig.json +25 -0
  475. package/vtex.env +14 -0
@@ -0,0 +1,1133 @@
1
+ export type Maybe<T> = T | null
2
+ export type InputMaybe<T> = Maybe<T>
3
+ export type Exact<T extends { [key: string]: unknown }> = {
4
+ [K in keyof T]: T[K]
5
+ }
6
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
7
+ [SubKey in K]?: Maybe<T[SubKey]>
8
+ }
9
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
10
+ [SubKey in K]: Maybe<T[SubKey]>
11
+ }
12
+ /** All built-in and custom scalars, mapped to their actual values */
13
+ export type Scalars = {
14
+ ID: string
15
+ String: string
16
+ Boolean: boolean
17
+ Int: number
18
+ Float: number
19
+ /**
20
+ * Example:
21
+ *
22
+ * ```json
23
+ * {
24
+ * Color: 'Red', Size: '42'
25
+ * }
26
+ * ```
27
+ */
28
+ ActiveVariations: any
29
+ /**
30
+ * Example:
31
+ *
32
+ * ```json
33
+ * {
34
+ * Color: [
35
+ * {
36
+ * src: "https://storecomponents.vtexassets.com/...",
37
+ * alt: "...",
38
+ * label: "...",
39
+ * value: "..."
40
+ * },
41
+ * {
42
+ * src: "https://storecomponents.vtexassets.com/...",
43
+ * alt: "...",
44
+ * label: "...",
45
+ * value: "..."
46
+ * }
47
+ * ],
48
+ * Size: [
49
+ * {
50
+ * src: "https://storecomponents.vtexassets.com/...",
51
+ * alt: "...",
52
+ * label: "...",
53
+ * value: "..."
54
+ * }
55
+ * ]
56
+ * }
57
+ * ```
58
+ */
59
+ FormattedVariants: any
60
+ /** A string or the string representation of an object (a stringified object). */
61
+ ObjectOrString: any
62
+ /**
63
+ * Example:
64
+ *
65
+ * ```json
66
+ * {
67
+ * 'Color-Red-Size-40': 'classic-shoes-37'
68
+ * }
69
+ * ```
70
+ */
71
+ SlugsMap: any
72
+ /**
73
+ * Example:
74
+ *
75
+ * ```json
76
+ * {
77
+ * Color: [ "Red", "Blue", "Green" ],
78
+ * Size: [ "40", "41" ]
79
+ * }
80
+ * ```
81
+ */
82
+ VariantsByName: any
83
+ }
84
+
85
+ /** Person data input to the newsletter. */
86
+ export type IPersonNewsletter = {
87
+ /** Person's email. */
88
+ email: Scalars['String']
89
+ /** Person's name. */
90
+ name: Scalars['String']
91
+ }
92
+
93
+ /** Shopping cart input. */
94
+ export type IStoreCart = {
95
+ /** Order information, including `orderNumber` and `acceptedOffer`. */
96
+ order: IStoreOrder
97
+ }
98
+
99
+ export type IStoreCurrency = {
100
+ /** Currency code (e.g: USD). */
101
+ code: Scalars['String']
102
+ /** Currency symbol (e.g: $). */
103
+ symbol: Scalars['String']
104
+ }
105
+
106
+ /** Image input. */
107
+ export type IStoreImage = {
108
+ /** Alias for the input image. */
109
+ alternateName: Scalars['String']
110
+ /** Image input URL. */
111
+ url: Scalars['String']
112
+ }
113
+
114
+ /** Offer input. */
115
+ export type IStoreOffer = {
116
+ /** Information on the item being offered. */
117
+ itemOffered: IStoreProduct
118
+ /** This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf. */
119
+ listPrice: Scalars['Float']
120
+ /** Also known as spot price. */
121
+ price: Scalars['Float']
122
+ /** Number of items offered. */
123
+ quantity: Scalars['Int']
124
+ /** Seller responsible for the offer. */
125
+ seller: IStoreOrganization
126
+ }
127
+
128
+ /** Order input. */
129
+ export type IStoreOrder = {
130
+ /** Array with information on each accepted offer. */
131
+ acceptedOffer: Array<IStoreOffer>
132
+ /** ID of the order in [VTEX order management](https://help.vtex.com/en/tutorial/license-manager-resources-oms--60QcBsvWeum02cFi3GjBzg#). */
133
+ orderNumber: Scalars['String']
134
+ }
135
+
136
+ /** Organization input. */
137
+ export type IStoreOrganization = {
138
+ /** Organization ID. */
139
+ identifier: Scalars['String']
140
+ }
141
+
142
+ /** Client profile data. */
143
+ export type IStorePerson = {
144
+ /** Client email. */
145
+ email: Scalars['String']
146
+ /** Client last name. */
147
+ familyName: Scalars['String']
148
+ /** Client first name. */
149
+ givenName: Scalars['String']
150
+ /** Client ID. */
151
+ id: Scalars['String']
152
+ }
153
+
154
+ /** Product input. Products are variants within product groups, equivalent to VTEX [SKUs](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#). For example, you may have a **Shirt** product group with associated products such as **Blue shirt size L**, **Green shirt size XL** and so on. */
155
+ export type IStoreProduct = {
156
+ /** Custom Product Additional Properties. */
157
+ additionalProperty: InputMaybe<Array<IStorePropertyValue>>
158
+ /** Array of product images. */
159
+ image: Array<IStoreImage>
160
+ /** Product name. */
161
+ name: Scalars['String']
162
+ /** Stock Keeping Unit. Merchant-specific ID for the product. */
163
+ sku: Scalars['String']
164
+ }
165
+
166
+ export type IStorePropertyValue = {
167
+ /** Property name. */
168
+ name: Scalars['String']
169
+ /** Property id. This propert changes according to the content of the object. */
170
+ propertyID: InputMaybe<Scalars['String']>
171
+ /** Property value. May hold a string or the string representation of an object. */
172
+ value: Scalars['ObjectOrString']
173
+ /** Specifies the nature of the value */
174
+ valueReference: Scalars['String']
175
+ }
176
+
177
+ /** Selected search facet input. */
178
+ export type IStoreSelectedFacet = {
179
+ /** Selected search facet key. */
180
+ key: Scalars['String']
181
+ /** Selected search facet value. */
182
+ value: Scalars['String']
183
+ }
184
+
185
+ /** Session input. */
186
+ export type IStoreSession = {
187
+ /** Session input channel. */
188
+ channel: InputMaybe<Scalars['String']>
189
+ /** Session input country. */
190
+ country: Scalars['String']
191
+ /** Session input currency. */
192
+ currency: IStoreCurrency
193
+ /** Session input locale. */
194
+ locale: Scalars['String']
195
+ /** Session input postal code. */
196
+ person: InputMaybe<IStorePerson>
197
+ /** Session input postal code. */
198
+ postalCode: InputMaybe<Scalars['String']>
199
+ }
200
+
201
+ export type Mutation = {
202
+ /** Subscribes a new person to the newsletter list. */
203
+ subscribeToNewsletter: Maybe<PersonNewsletter>
204
+ /** Checks for changes between the cart presented in the UI and the cart stored in the ecommerce platform. If changes are detected, it returns the cart stored on the platform. Otherwise, it returns `null`. */
205
+ validateCart: Maybe<StoreCart>
206
+ /** Updates a web session with the specified values. */
207
+ validateSession: Maybe<StoreSession>
208
+ }
209
+
210
+ export type MutationSubscribeToNewsletterArgs = {
211
+ data: IPersonNewsletter
212
+ }
213
+
214
+ export type MutationValidateCartArgs = {
215
+ cart: IStoreCart
216
+ session: InputMaybe<IStoreSession>
217
+ }
218
+
219
+ export type MutationValidateSessionArgs = {
220
+ search: Scalars['String']
221
+ session: IStoreSession
222
+ }
223
+
224
+ /** Newsletter information. */
225
+ export type PersonNewsletter = {
226
+ /** Person's ID in the newsletter list. */
227
+ id: Scalars['String']
228
+ }
229
+
230
+ export type Query = {
231
+ /** Returns information about all collections. */
232
+ allCollections: StoreCollectionConnection
233
+ /** Returns information about all products. */
234
+ allProducts: StoreProductConnection
235
+ /** Returns the details of a collection based on the collection slug. */
236
+ collection: StoreCollection
237
+ /** Returns the details of a product based on the specified locator. */
238
+ product: StoreProduct
239
+ /** Returns the result of a product, facet, or suggestion search. */
240
+ search: StoreSearchResult
241
+ }
242
+
243
+ export type QueryAllCollectionsArgs = {
244
+ after: InputMaybe<Scalars['String']>
245
+ first: Scalars['Int']
246
+ }
247
+
248
+ export type QueryAllProductsArgs = {
249
+ after: InputMaybe<Scalars['String']>
250
+ first: Scalars['Int']
251
+ }
252
+
253
+ export type QueryCollectionArgs = {
254
+ slug: Scalars['String']
255
+ }
256
+
257
+ export type QueryProductArgs = {
258
+ locator: Array<IStoreSelectedFacet>
259
+ }
260
+
261
+ export type QuerySearchArgs = {
262
+ after: InputMaybe<Scalars['String']>
263
+ first: Scalars['Int']
264
+ selectedFacets: InputMaybe<Array<IStoreSelectedFacet>>
265
+ sort?: InputMaybe<StoreSort>
266
+ term?: InputMaybe<Scalars['String']>
267
+ }
268
+
269
+ export type SkuVariants = {
270
+ /** SKU property values for the current SKU. */
271
+ activeVariations: Maybe<Scalars['ActiveVariations']>
272
+ /** All available options for each SKU variant property, indexed by their name. */
273
+ allVariantsByName: Maybe<Scalars['VariantsByName']>
274
+ /**
275
+ * Available options for each varying SKU property, taking into account the
276
+ * `dominantVariantName` property. Returns all available options for the
277
+ * dominant property, and only options that can be combined with its current
278
+ * value for other properties.
279
+ */
280
+ availableVariations: Maybe<Scalars['FormattedVariants']>
281
+ /**
282
+ * Maps property value combinations to their respective SKU's slug. Enables
283
+ * us to retrieve the slug for the SKU that matches the currently selected
284
+ * variations in O(1) time.
285
+ */
286
+ slugsMap: Maybe<Scalars['SlugsMap']>
287
+ }
288
+
289
+ export type SkuVariantsAvailableVariationsArgs = {
290
+ dominantVariantName: Scalars['String']
291
+ }
292
+
293
+ export type SkuVariantsSlugsMapArgs = {
294
+ dominantVariantName: Scalars['String']
295
+ }
296
+
297
+ /** Aggregate offer information, for a given SKU that is available to be fulfilled by multiple sellers. */
298
+ export type StoreAggregateOffer = {
299
+ /** Highest price among all sellers. */
300
+ highPrice: Scalars['Float']
301
+ /** Lowest price among all sellers. */
302
+ lowPrice: Scalars['Float']
303
+ /** Number of sellers selling this SKU. */
304
+ offerCount: Scalars['Int']
305
+ /** Array with information on each available offer. */
306
+ offers: Array<StoreOffer>
307
+ /** ISO code of the currency used for the offer prices. */
308
+ priceCurrency: Scalars['String']
309
+ }
310
+
311
+ /** Average rating, based on multiple ratings or reviews. */
312
+ export type StoreAggregateRating = {
313
+ /** Value of the aggregate rating. */
314
+ ratingValue: Scalars['Float']
315
+ /** Total number of ratings. */
316
+ reviewCount: Scalars['Int']
317
+ }
318
+
319
+ /** information about the author of a product review or rating. */
320
+ export type StoreAuthor = {
321
+ /** Author name. */
322
+ name: Scalars['String']
323
+ }
324
+
325
+ /** Brand of a given product. */
326
+ export type StoreBrand = {
327
+ /** Brand name. */
328
+ name: Scalars['String']
329
+ }
330
+
331
+ /** List of items consisting of chain linked web pages, ending with the current page. */
332
+ export type StoreBreadcrumbList = {
333
+ /** Array with breadcrumb elements. */
334
+ itemListElement: Array<StoreListItem>
335
+ /** Number of breadcrumbs in the list. */
336
+ numberOfItems: Scalars['Int']
337
+ }
338
+
339
+ /** Shopping cart information. */
340
+ export type StoreCart = {
341
+ /** List of shopping cart messages. */
342
+ messages: Array<StoreCartMessage>
343
+ /** Order information, including `orderNumber` and `acceptedOffer`. */
344
+ order: StoreOrder
345
+ }
346
+
347
+ /** Shopping cart message. */
348
+ export type StoreCartMessage = {
349
+ /** Shopping cart message status, which can be `INFO`, `WARNING` or `ERROR`. */
350
+ status: StoreStatus
351
+ /** Shopping cart message text. */
352
+ text: Scalars['String']
353
+ }
354
+
355
+ /** Product collection information. */
356
+ export type StoreCollection = {
357
+ /** List of items consisting of chain linked web pages, ending with the current page. */
358
+ breadcrumbList: StoreBreadcrumbList
359
+ /** Collection ID. */
360
+ id: Scalars['ID']
361
+ /** Collection meta information. Used for search. */
362
+ meta: StoreCollectionMeta
363
+ /** Meta tag data. */
364
+ seo: StoreSeo
365
+ /** Corresponding collection URL slug, with which to retrieve this entity. */
366
+ slug: Scalars['String']
367
+ /** Collection type. */
368
+ type: StoreCollectionType
369
+ }
370
+
371
+ /** Collection connections, including pagination information and collections returned by the query. */
372
+ export type StoreCollectionConnection = {
373
+ /** Array with collection connection page edges, each containing a collection and a corresponding cursor.. */
374
+ edges: Array<StoreCollectionEdge>
375
+ /** Collection pagination information. */
376
+ pageInfo: StorePageInfo
377
+ }
378
+
379
+ /** Each collection edge contains a `node`, with product collection information, and a `cursor`, that can be used as a reference for pagination. */
380
+ export type StoreCollectionEdge = {
381
+ /** Collection cursor. Used as pagination reference. */
382
+ cursor: Scalars['String']
383
+ /** Each collection node contains the information of a product collection returned by the query. */
384
+ node: StoreCollection
385
+ }
386
+
387
+ /** Product collection facet, used for search. */
388
+ export type StoreCollectionFacet = {
389
+ /** Facet key. */
390
+ key: Scalars['String']
391
+ /** Facet value. */
392
+ value: Scalars['String']
393
+ }
394
+
395
+ /** Collection meta information. Used for search. */
396
+ export type StoreCollectionMeta = {
397
+ /** List of selected collection facets. */
398
+ selectedFacets: Array<StoreCollectionFacet>
399
+ }
400
+
401
+ /** Product collection type. Possible values are `Department`, `Category`, `Brand`, `Cluster`, `SubCategory` or `Collection`. */
402
+ export type StoreCollectionType =
403
+ /** Product brand. */
404
+ | 'Brand'
405
+ /** Second level of product categorization. */
406
+ | 'Category'
407
+ /** Product cluster. */
408
+ | 'Cluster'
409
+ /** Product collection. */
410
+ | 'Collection'
411
+ /** First level of product categorization. */
412
+ | 'Department'
413
+ /** Third level of product categorization. */
414
+ | 'SubCategory'
415
+
416
+ /** Currency information. */
417
+ export type StoreCurrency = {
418
+ /** Currency code (e.g: USD). */
419
+ code: Scalars['String']
420
+ /** Currency symbol (e.g: $). */
421
+ symbol: Scalars['String']
422
+ }
423
+
424
+ export type StoreFacet = StoreFacetBoolean | StoreFacetRange
425
+
426
+ /** Search facet boolean information. */
427
+ export type StoreFacetBoolean = {
428
+ /** Facet key. */
429
+ key: Scalars['String']
430
+ /** Facet label. */
431
+ label: Scalars['String']
432
+ /** Array with information on each facet value. */
433
+ values: Array<StoreFacetValueBoolean>
434
+ }
435
+
436
+ /** Search facet range information. */
437
+ export type StoreFacetRange = {
438
+ /** Facet key. */
439
+ key: Scalars['String']
440
+ /** Facet label. */
441
+ label: Scalars['String']
442
+ /** Maximum facet range value. */
443
+ max: StoreFacetValueRange
444
+ /** Minimum facet range value. */
445
+ min: StoreFacetValueRange
446
+ }
447
+
448
+ /** Search facet type. */
449
+ export type StoreFacetType =
450
+ /** Indicates boolean search facet. */
451
+ | 'BOOLEAN'
452
+ /** Indicates range type search facet. */
453
+ | 'RANGE'
454
+
455
+ /** Information of a specific facet value. */
456
+ export type StoreFacetValueBoolean = {
457
+ /** Facet value label. */
458
+ label: Scalars['String']
459
+ /** Number of items with this facet. */
460
+ quantity: Scalars['Int']
461
+ /** Indicates whether facet is selected. */
462
+ selected: Scalars['Boolean']
463
+ /** Facet value. */
464
+ value: Scalars['String']
465
+ }
466
+
467
+ /** Search facet range value information. Used for minimum and maximum range values. */
468
+ export type StoreFacetValueRange = {
469
+ /** Search facet range absolute value. */
470
+ absolute: Scalars['Float']
471
+ /** Search facet range selected value. */
472
+ selected: Scalars['Float']
473
+ }
474
+
475
+ /** Image. */
476
+ export type StoreImage = {
477
+ /** Alias for the image. */
478
+ alternateName: Scalars['String']
479
+ /** Image URL. */
480
+ url: Scalars['String']
481
+ }
482
+
483
+ /** Item of a list. */
484
+ export type StoreListItem = {
485
+ /** List item value. */
486
+ item: Scalars['String']
487
+ /** Name of the list item. */
488
+ name: Scalars['String']
489
+ /** Position of the item in the list. */
490
+ position: Scalars['Int']
491
+ }
492
+
493
+ /** Offer information. */
494
+ export type StoreOffer = {
495
+ /** Offer item availability. */
496
+ availability: Scalars['String']
497
+ /** Offer item condition. */
498
+ itemCondition: Scalars['String']
499
+ /** Information on the item being offered. */
500
+ itemOffered: StoreProduct
501
+ /** This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf. */
502
+ listPrice: Scalars['Float']
503
+ /** Also known as spot price. */
504
+ price: Scalars['Float']
505
+ /** ISO code of the currency used for the offer prices. */
506
+ priceCurrency: Scalars['String']
507
+ /** Next date in which price is scheduled to change. If there is no scheduled change, this will be set a year in the future from current time. */
508
+ priceValidUntil: Scalars['String']
509
+ /** Number of items offered. */
510
+ quantity: Scalars['Int']
511
+ /** Seller responsible for the offer. */
512
+ seller: StoreOrganization
513
+ /** Computed price before applying coupons, taxes or benefits. This may change before it reaches the shelf. */
514
+ sellingPrice: Scalars['Float']
515
+ }
516
+
517
+ /** Information of a specific order. */
518
+ export type StoreOrder = {
519
+ /** Array with information on each accepted offer. */
520
+ acceptedOffer: Array<StoreOffer>
521
+ /** ID of the order in [VTEX order management](https://help.vtex.com/en/tutorial/license-manager-resources-oms--60QcBsvWeum02cFi3GjBzg#). */
522
+ orderNumber: Scalars['String']
523
+ }
524
+
525
+ /** Organization. */
526
+ export type StoreOrganization = {
527
+ /** Organization ID. */
528
+ identifier: Scalars['String']
529
+ }
530
+
531
+ /** Whenever you make a query that allows for pagination, such as `allProducts` or `allCollections`, you can check `StorePageInfo` to learn more about the complete set of items and use it to paginate your queries. */
532
+ export type StorePageInfo = {
533
+ /** Cursor corresponding to the last possible item. */
534
+ endCursor: Scalars['String']
535
+ /** Indicates whether there is at least one more page with items after the ones returned in the current query. */
536
+ hasNextPage: Scalars['Boolean']
537
+ /** Indicates whether there is at least one more page with items before the ones returned in the current query. */
538
+ hasPreviousPage: Scalars['Boolean']
539
+ /** Cursor corresponding to the first possible item. */
540
+ startCursor: Scalars['String']
541
+ /** Total number of items (products or collections), not pages. */
542
+ totalCount: Scalars['Int']
543
+ }
544
+
545
+ /** Client profile data. */
546
+ export type StorePerson = {
547
+ /** Client email. */
548
+ email: Scalars['String']
549
+ /** Client last name. */
550
+ familyName: Scalars['String']
551
+ /** Client first name. */
552
+ givenName: Scalars['String']
553
+ /** Client ID. */
554
+ id: Scalars['String']
555
+ }
556
+
557
+ /** Product information. Products are variants within product groups, equivalent to VTEX [SKUs](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#). For example, you may have a **Shirt** product group with associated products such as **Blue shirt size L**, **Green shirt size XL** and so on. */
558
+ export type StoreProduct = {
559
+ /** Array of additional properties. */
560
+ additionalProperty: Array<StorePropertyValue>
561
+ /** Aggregate ratings data. */
562
+ aggregateRating: StoreAggregateRating
563
+ /** Product brand. */
564
+ brand: StoreBrand
565
+ /** List of items consisting of chain linked web pages, ending with the current page. */
566
+ breadcrumbList: StoreBreadcrumbList
567
+ /** Product description. */
568
+ description: Scalars['String']
569
+ /** Global Trade Item Number. */
570
+ gtin: Scalars['String']
571
+ /** Array of images. */
572
+ image: Array<StoreImage>
573
+ /** Indicates product group related to this product. */
574
+ isVariantOf: StoreProductGroup
575
+ /** Product name. */
576
+ name: Scalars['String']
577
+ /** Aggregate offer information. */
578
+ offers: StoreAggregateOffer
579
+ /** Product ID, such as [ISBN](https://www.isbn-international.org/content/what-isbn) or similar global IDs. */
580
+ productID: Scalars['String']
581
+ /** The product's release date. Formatted using https://en.wikipedia.org/wiki/ISO_8601 */
582
+ releaseDate: Scalars['String']
583
+ /** Array with review information. */
584
+ review: Array<StoreReview>
585
+ /** Meta tag data. */
586
+ seo: StoreSeo
587
+ /** Stock Keeping Unit. Merchant-specific ID for the product. */
588
+ sku: Scalars['String']
589
+ /** Corresponding collection URL slug, with which to retrieve this entity. */
590
+ slug: Scalars['String']
591
+ }
592
+
593
+ /** Product connections, including pagination information and products returned by the query. */
594
+ export type StoreProductConnection = {
595
+ /** Array with product connection edges, each containing a product and a corresponding cursor. */
596
+ edges: Array<StoreProductEdge>
597
+ /** Product pagination information. */
598
+ pageInfo: StorePageInfo
599
+ }
600
+
601
+ /** Each product edge contains a `node`, with product information, and a `cursor`, that can be used as a reference for pagination. */
602
+ export type StoreProductEdge = {
603
+ /** Product cursor. Used as pagination reference. */
604
+ cursor: Scalars['String']
605
+ /** Each product node contains the information of a product returned by the query. */
606
+ node: StoreProduct
607
+ }
608
+
609
+ /** Product group information. Product groups are catalog entities that may contain variants. They are equivalent to VTEX [Products](https://help.vtex.com/en/tutorial/what-is-a-product--2zrB2gFCHyQokCKKE8kuAw#), whereas each variant is equivalent to a VTEX [SKU](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#). For example, you may have a **Shirt** product group with associated products such as **Blue shirt size L**, **Green shirt size XL** and so on. */
610
+ export type StoreProductGroup = {
611
+ /** Array of additional properties. */
612
+ additionalProperty: Array<StorePropertyValue>
613
+ /** Array of variants related to product group. Variants are equivalent to VTEX [SKUs](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#). */
614
+ hasVariant: Array<StoreProduct>
615
+ /** Product group name. */
616
+ name: Scalars['String']
617
+ /** Product group ID. */
618
+ productGroupID: Scalars['String']
619
+ /**
620
+ * Object containing data structures to facilitate handling different SKU
621
+ * variant properties. Specially useful for implementing SKU selection
622
+ * components.
623
+ */
624
+ skuVariants: Maybe<SkuVariants>
625
+ }
626
+
627
+ /** Properties that can be associated with products and products groups. */
628
+ export type StorePropertyValue = {
629
+ /** Property name. */
630
+ name: Scalars['String']
631
+ /** Property id. This propert changes according to the content of the object. */
632
+ propertyID: Scalars['String']
633
+ /** Property value. May hold a string or the string representation of an object. */
634
+ value: Scalars['ObjectOrString']
635
+ /** Specifies the nature of the value */
636
+ valueReference: Scalars['String']
637
+ }
638
+
639
+ /** Information of a given review. */
640
+ export type StoreReview = {
641
+ /** Review author. */
642
+ author: StoreAuthor
643
+ /** Review rating information. */
644
+ reviewRating: StoreReviewRating
645
+ }
646
+
647
+ /** Information of a given review rating. */
648
+ export type StoreReviewRating = {
649
+ /** Best rating value. */
650
+ bestRating: Scalars['Float']
651
+ /** Rating value. */
652
+ ratingValue: Scalars['Float']
653
+ }
654
+
655
+ /** Search result. */
656
+ export type StoreSearchResult = {
657
+ /** Array of search result facets. */
658
+ facets: Array<StoreFacet>
659
+ /** Search result products. */
660
+ products: StoreProductConnection
661
+ /** Search result suggestions. */
662
+ suggestions: StoreSuggestions
663
+ }
664
+
665
+ /** Search Engine Optimization (SEO) tags data. */
666
+ export type StoreSeo = {
667
+ /** Canonical tag. */
668
+ canonical: Scalars['String']
669
+ /** Description tag. */
670
+ description: Scalars['String']
671
+ /** Title tag. */
672
+ title: Scalars['String']
673
+ /** Title template tag. */
674
+ titleTemplate: Scalars['String']
675
+ }
676
+
677
+ /** Session information. */
678
+ export type StoreSession = {
679
+ /** Session channel. */
680
+ channel: Maybe<Scalars['String']>
681
+ /** Session country. */
682
+ country: Scalars['String']
683
+ /** Session currency. */
684
+ currency: StoreCurrency
685
+ /** Session locale. */
686
+ locale: Scalars['String']
687
+ /** Session postal code. */
688
+ person: Maybe<StorePerson>
689
+ /** Session postal code. */
690
+ postalCode: Maybe<Scalars['String']>
691
+ }
692
+
693
+ /** Product search results sorting options. */
694
+ export type StoreSort =
695
+ /** Sort by discount value, from highest to lowest. */
696
+ | 'discount_desc'
697
+ /** Sort by name, in alphabetical order. */
698
+ | 'name_asc'
699
+ /** Sort by name, in reverse alphabetical order. */
700
+ | 'name_desc'
701
+ /** Sort by orders, from highest to lowest. */
702
+ | 'orders_desc'
703
+ /** Sort by price, from lowest to highest. */
704
+ | 'price_asc'
705
+ /** Sort by price, from highest to lowest. */
706
+ | 'price_desc'
707
+ /** Sort by release date, from highest to lowest. */
708
+ | 'release_desc'
709
+ /** Sort by product score, from highest to lowest. */
710
+ | 'score_desc'
711
+
712
+ /** Status used to indicate a message type. For instance, a shopping cart informative or error message. */
713
+ export type StoreStatus = 'ERROR' | 'INFO' | 'WARNING'
714
+
715
+ /** Suggestion term. */
716
+ export type StoreSuggestionTerm = {
717
+ /** Its occurrences count. */
718
+ count: Scalars['Int']
719
+ /** The term. */
720
+ value: Scalars['String']
721
+ }
722
+
723
+ /** Suggestions information. */
724
+ export type StoreSuggestions = {
725
+ /** Array with suggestion products' information. */
726
+ products: Array<StoreProduct>
727
+ /** Array with suggestion terms. */
728
+ terms: Array<StoreSuggestionTerm>
729
+ }
730
+
731
+ export type ProductSummary_ProductFragment = {
732
+ slug: string
733
+ sku: string
734
+ name: string
735
+ gtin: string
736
+ id: string
737
+ brand: { name: string; brandName: string }
738
+ isVariantOf: { productGroupID: string; name: string }
739
+ image: Array<{ url: string; alternateName: string }>
740
+ offers: {
741
+ lowPrice: number
742
+ offers: Array<{
743
+ availability: string
744
+ price: number
745
+ listPrice: number
746
+ quantity: number
747
+ seller: { identifier: string }
748
+ }>
749
+ }
750
+ }
751
+
752
+ export type Filter_Facets_StoreFacetBoolean_Fragment = {
753
+ __typename: 'StoreFacetBoolean'
754
+ key: string
755
+ label: string
756
+ values: Array<{
757
+ label: string
758
+ value: string
759
+ selected: boolean
760
+ quantity: number
761
+ }>
762
+ }
763
+
764
+ export type Filter_Facets_StoreFacetRange_Fragment = {
765
+ __typename: 'StoreFacetRange'
766
+ key: string
767
+ label: string
768
+ min: { selected: number; absolute: number }
769
+ max: { selected: number; absolute: number }
770
+ }
771
+
772
+ export type Filter_FacetsFragment =
773
+ | Filter_Facets_StoreFacetBoolean_Fragment
774
+ | Filter_Facets_StoreFacetRange_Fragment
775
+
776
+ export type ProductDetailsFragment_ProductFragment = {
777
+ sku: string
778
+ name: string
779
+ gtin: string
780
+ description: string
781
+ id: string
782
+ isVariantOf: {
783
+ name: string
784
+ productGroupID: string
785
+ skuVariants: {
786
+ activeVariations: any | null
787
+ slugsMap: any | null
788
+ availableVariations: any | null
789
+ } | null
790
+ }
791
+ image: Array<{ url: string; alternateName: string }>
792
+ brand: { name: string }
793
+ offers: {
794
+ lowPrice: number
795
+ offers: Array<{
796
+ availability: string
797
+ price: number
798
+ listPrice: number
799
+ seller: { identifier: string }
800
+ }>
801
+ }
802
+ breadcrumbList: {
803
+ itemListElement: Array<{ item: string; name: string; position: number }>
804
+ }
805
+ additionalProperty: Array<{
806
+ propertyID: string
807
+ name: string
808
+ value: any
809
+ valueReference: string
810
+ }>
811
+ }
812
+
813
+ export type ProductGalleryQueryQueryVariables = Exact<{
814
+ first: Scalars['Int']
815
+ after: Scalars['String']
816
+ sort: StoreSort
817
+ term: Scalars['String']
818
+ selectedFacets: Array<IStoreSelectedFacet> | IStoreSelectedFacet
819
+ }>
820
+
821
+ export type ProductGalleryQueryQuery = {
822
+ search: {
823
+ products: { pageInfo: { totalCount: number } }
824
+ facets: Array<
825
+ | {
826
+ __typename: 'StoreFacetBoolean'
827
+ key: string
828
+ label: string
829
+ values: Array<{
830
+ label: string
831
+ value: string
832
+ selected: boolean
833
+ quantity: number
834
+ }>
835
+ }
836
+ | {
837
+ __typename: 'StoreFacetRange'
838
+ key: string
839
+ label: string
840
+ min: { selected: number; absolute: number }
841
+ max: { selected: number; absolute: number }
842
+ }
843
+ >
844
+ }
845
+ }
846
+
847
+ export type ServerCollectionPageQueryQueryVariables = Exact<{
848
+ slug: Scalars['String']
849
+ }>
850
+
851
+ export type ServerCollectionPageQueryQuery = {
852
+ collection: {
853
+ seo: { title: string; description: string }
854
+ breadcrumbList: {
855
+ itemListElement: Array<{ item: string; name: string; position: number }>
856
+ }
857
+ meta: { selectedFacets: Array<{ key: string; value: string }> }
858
+ }
859
+ }
860
+
861
+ export type ServerProductPageQueryQueryVariables = Exact<{
862
+ slug: Scalars['String']
863
+ }>
864
+
865
+ export type ServerProductPageQueryQuery = {
866
+ product: {
867
+ sku: string
868
+ gtin: string
869
+ name: string
870
+ description: string
871
+ releaseDate: string
872
+ id: string
873
+ seo: { title: string; description: string; canonical: string }
874
+ brand: { name: string }
875
+ breadcrumbList: {
876
+ itemListElement: Array<{ item: string; name: string; position: number }>
877
+ }
878
+ image: Array<{ url: string; alternateName: string }>
879
+ offers: {
880
+ lowPrice: number
881
+ highPrice: number
882
+ priceCurrency: string
883
+ offers: Array<{
884
+ availability: string
885
+ price: number
886
+ priceValidUntil: string
887
+ priceCurrency: string
888
+ itemCondition: string
889
+ listPrice: number
890
+ seller: { identifier: string }
891
+ }>
892
+ }
893
+ isVariantOf: {
894
+ productGroupID: string
895
+ name: string
896
+ skuVariants: {
897
+ activeVariations: any | null
898
+ slugsMap: any | null
899
+ availableVariations: any | null
900
+ } | null
901
+ }
902
+ additionalProperty: Array<{
903
+ propertyID: string
904
+ name: string
905
+ value: any
906
+ valueReference: string
907
+ }>
908
+ }
909
+ }
910
+
911
+ export type ValidateCartMutationMutationVariables = Exact<{
912
+ cart: IStoreCart
913
+ session: IStoreSession
914
+ }>
915
+
916
+ export type ValidateCartMutationMutation = {
917
+ validateCart: {
918
+ order: {
919
+ orderNumber: string
920
+ acceptedOffer: Array<{
921
+ quantity: number
922
+ price: number
923
+ listPrice: number
924
+ seller: { identifier: string }
925
+ itemOffered: {
926
+ sku: string
927
+ name: string
928
+ gtin: string
929
+ image: Array<{ url: string; alternateName: string }>
930
+ brand: { name: string }
931
+ isVariantOf: { productGroupID: string; name: string }
932
+ additionalProperty: Array<{
933
+ propertyID: string
934
+ name: string
935
+ value: any
936
+ valueReference: string
937
+ }>
938
+ }
939
+ }>
940
+ }
941
+ messages: Array<{ text: string; status: StoreStatus }>
942
+ } | null
943
+ }
944
+
945
+ export type CartMessageFragment = { text: string; status: StoreStatus }
946
+
947
+ export type CartItemFragment = {
948
+ quantity: number
949
+ price: number
950
+ listPrice: number
951
+ seller: { identifier: string }
952
+ itemOffered: {
953
+ sku: string
954
+ name: string
955
+ gtin: string
956
+ image: Array<{ url: string; alternateName: string }>
957
+ brand: { name: string }
958
+ isVariantOf: { productGroupID: string; name: string }
959
+ additionalProperty: Array<{
960
+ propertyID: string
961
+ name: string
962
+ value: any
963
+ valueReference: string
964
+ }>
965
+ }
966
+ }
967
+
968
+ export type CartProductItemFragment = {
969
+ sku: string
970
+ name: string
971
+ gtin: string
972
+ image: Array<{ url: string; alternateName: string }>
973
+ brand: { name: string }
974
+ isVariantOf: { productGroupID: string; name: string }
975
+ additionalProperty: Array<{
976
+ propertyID: string
977
+ name: string
978
+ value: any
979
+ valueReference: string
980
+ }>
981
+ }
982
+
983
+ export type SubscribeToNewsletterMutationVariables = Exact<{
984
+ data: IPersonNewsletter
985
+ }>
986
+
987
+ export type SubscribeToNewsletterMutation = {
988
+ subscribeToNewsletter: { id: string } | null
989
+ }
990
+
991
+ export type BrowserProductQueryQueryVariables = Exact<{
992
+ locator: Array<IStoreSelectedFacet> | IStoreSelectedFacet
993
+ }>
994
+
995
+ export type BrowserProductQueryQuery = {
996
+ product: {
997
+ sku: string
998
+ name: string
999
+ gtin: string
1000
+ description: string
1001
+ id: string
1002
+ isVariantOf: {
1003
+ name: string
1004
+ productGroupID: string
1005
+ skuVariants: {
1006
+ activeVariations: any | null
1007
+ slugsMap: any | null
1008
+ availableVariations: any | null
1009
+ } | null
1010
+ }
1011
+ image: Array<{ url: string; alternateName: string }>
1012
+ brand: { name: string }
1013
+ offers: {
1014
+ lowPrice: number
1015
+ offers: Array<{
1016
+ availability: string
1017
+ price: number
1018
+ listPrice: number
1019
+ seller: { identifier: string }
1020
+ }>
1021
+ }
1022
+ breadcrumbList: {
1023
+ itemListElement: Array<{ item: string; name: string; position: number }>
1024
+ }
1025
+ additionalProperty: Array<{
1026
+ propertyID: string
1027
+ name: string
1028
+ value: any
1029
+ valueReference: string
1030
+ }>
1031
+ }
1032
+ }
1033
+
1034
+ export type ProductsQueryQueryVariables = Exact<{
1035
+ first: Scalars['Int']
1036
+ after: InputMaybe<Scalars['String']>
1037
+ sort: StoreSort
1038
+ term: Scalars['String']
1039
+ selectedFacets: Array<IStoreSelectedFacet> | IStoreSelectedFacet
1040
+ }>
1041
+
1042
+ export type ProductsQueryQuery = {
1043
+ search: {
1044
+ products: {
1045
+ pageInfo: { totalCount: number }
1046
+ edges: Array<{
1047
+ node: {
1048
+ slug: string
1049
+ sku: string
1050
+ name: string
1051
+ gtin: string
1052
+ id: string
1053
+ brand: { name: string; brandName: string }
1054
+ isVariantOf: { productGroupID: string; name: string }
1055
+ image: Array<{ url: string; alternateName: string }>
1056
+ offers: {
1057
+ lowPrice: number
1058
+ offers: Array<{
1059
+ availability: string
1060
+ price: number
1061
+ listPrice: number
1062
+ quantity: number
1063
+ seller: { identifier: string }
1064
+ }>
1065
+ }
1066
+ }
1067
+ }>
1068
+ }
1069
+ }
1070
+ }
1071
+
1072
+ export type SearchSuggestionsQueryQueryVariables = Exact<{
1073
+ term: Scalars['String']
1074
+ selectedFacets: InputMaybe<Array<IStoreSelectedFacet> | IStoreSelectedFacet>
1075
+ }>
1076
+
1077
+ export type SearchSuggestionsQueryQuery = {
1078
+ search: {
1079
+ suggestions: {
1080
+ terms: Array<{ value: string }>
1081
+ products: Array<{
1082
+ slug: string
1083
+ sku: string
1084
+ name: string
1085
+ gtin: string
1086
+ id: string
1087
+ brand: { name: string; brandName: string }
1088
+ isVariantOf: { productGroupID: string; name: string }
1089
+ image: Array<{ url: string; alternateName: string }>
1090
+ offers: {
1091
+ lowPrice: number
1092
+ offers: Array<{
1093
+ availability: string
1094
+ price: number
1095
+ listPrice: number
1096
+ quantity: number
1097
+ seller: { identifier: string }
1098
+ }>
1099
+ }
1100
+ }>
1101
+ }
1102
+ }
1103
+ }
1104
+
1105
+ export type TopSearchSuggestionsQueryQueryVariables = Exact<{
1106
+ term: Scalars['String']
1107
+ selectedFacets: InputMaybe<Array<IStoreSelectedFacet> | IStoreSelectedFacet>
1108
+ }>
1109
+
1110
+ export type TopSearchSuggestionsQueryQuery = {
1111
+ search: { suggestions: { terms: Array<{ value: string }> } }
1112
+ }
1113
+
1114
+ export type ValidateSessionMutationVariables = Exact<{
1115
+ session: IStoreSession
1116
+ search: Scalars['String']
1117
+ }>
1118
+
1119
+ export type ValidateSessionMutation = {
1120
+ validateSession: {
1121
+ locale: string
1122
+ channel: string | null
1123
+ country: string
1124
+ postalCode: string | null
1125
+ currency: { code: string; symbol: string }
1126
+ person: {
1127
+ id: string
1128
+ email: string
1129
+ givenName: string
1130
+ familyName: string
1131
+ } | null
1132
+ } | null
1133
+ }